打开ARM_CM3 文件夹,如图 1.3.2.6 所示: 图1.3.2.6 ARM_CM4F 文件夹 ARM_CM3 有两个文件,这两个文件就是我们移植的时候所需要的!
heap_4.c 文件路径:\FreeRTOS\Source\portable\MemMang port.c 和 portmacro.h 文件的路径:\FreeRTOS\Source\portable\RVDS\ARM_CM4F 这两个是M4硬件相关接口代码 编译报错\FreeRTOS\portable\RVDS\ARM_CM4F\port.c(732): error: #20: identifier "SystemCoreClock" is undefined 填加MDK的编译器编译器预定义...
Keil 文件夹里面的东西肯定也是必须的,但是我们打开Keil文件夹以后里面只有一个文件:See-also-the-RVDS-directory.txt,意思就是参考RVDS文件夹里面的东西! RVDS 文件夹针对不同的架构的 MCU 做了详细的分类,STM32F429 就参考 ARM_CM4F,打开 ARM_CM4F 文件夹,里面有两个文件,这两个文件就是我们移植的时候所需...
portable文件夹主要存放不同架构特定的代码。这里使用keil,因此复制RVDS文件夹及其中的ARM_CM4F文件夹。MemMang是内存管理,也要复制进去。 完成后文件架构如下。 └───freeRTOS ├───include ├───port │ ├───MemMang │ └───RVDS │ ├───ARM_CM4F └───src 新建工程 如图,将.c文...
同样在RTOS(1)一文中(上图的Arm内核结构图的ALU的状态寄存器。)提到在ALU运行后会产生一个Flag的标志,该标志会暂存于状态寄存器中。在Cortex-M3中记录程ALU输出的标志位是属于程序状态寄存器组,对于程序状态寄存器组来说存储ALU逻辑运算后的标志仅仅是它的功能之一,具体的功能如下图。 APSR:应用程序状态寄存器组,位...
4 在工程中添加新的头文件搜索路径:.\FreeRTOS\include;.\FreeRTOS\portable\RVDS\ARM_CM4F 5 打开FreeRTOSConfig.h配置文件,根据自己硬件配置进行修改1. 首先将文件开头的__ICCARM__修改为__CC_ARM,即把编译器从IAR改为RealView2. 将以下宏配置为0configUSE_IDLE_HOOKconfigUSE_TICK_HOOKconfigCHECK_FOR_...
注:全保留也可以,就是其他的用不到,会使工程文件夹变的很大,如果用版本控制软件管理,会增加仓库的大小。ARM_CM4F_MPU文件夹暂时没用,这个留做备用。 4.7 在IAR工程中新建portable文件夹,并加入相应的文件 4.8 将下面几个文件从官方例子中拷贝过来,并加入工程 ...
FreeRTOS\Source\*.c FreeRTOS\Source\include\*.h FreeRTOS\Source\portable\MemMang\heap_4.c FreeRTOS...\Source\portable\RVDS\ARM_CM4F\* FreeRTOS\Demo\CORTEX_STM32F103_Keil\FreeRTOSConfig.h 2、修改FreeRTOSConfig.h...queueHandle); // 删除队列 uint32_t sendData = 1; // 待发送内容 xRetu...
ARM_CM33_NTZ/non_secure port.c portasm.c portasm.h portmacro.h ARM_CM3_MPU ARM_CM4F ARM_CM4_MPU ARM_CM7 ARM_CM7_MPU MemMang readme.txt src .editorconfig .gitattributes .gitignore README.md keywords.txt library.json library.properties ...
// FreeRTOS\Source\portable\RVDS\ARM_CM4_MPU\port.c void vPortEnterCritical( void ) { BaseType_t xRunningPrivileged = xPortRaisePrivilege(); portDISABLE_INTERRUPTS(); //关闭中断 uxCriticalNesting++; // 全局变量,临界段嵌套次数 vPortResetPrivilege( xRunningPrivileged ); ...