背景
学习一下freeRTOS的移植,了解一下7802能否跑freeRTOS。
参考
本贴移植成功,主要参考@JasonLee27 的“AC7801x移植Freertos系统”。帖子地址如下:
https://bbs.21ic.com/icview-2965430-1-1.html
本帖与“AC7801x移植Freertos系统”的差异在于:
1.芯片不同,本帖针对AC7802,RAM资源更小,只有4k
2.开发环境不同,本帖使用linux+gcc编译器
移植步骤
1.准备一个正常的裸机工程。
2.准备FreeRTOS源码,可以从freeRTOS官网下载。FreeRTOS官网链接,我下载的是202212.01版本。解压后文件如图所示:
3.将FreeRTOS下载源码包中FreeRTOS文件夹直接拷贝到我们的工程目录下。
4.将工程目录FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/FreeRTOSConfig.h拷贝到工程的Inc目录下。
5.保留FreeRTOS/Source/portable文件夹下的GCC和MemMang文件夹,删除其他文件夹。
6.保留FreeRTOS/Source/portable/GCC文件夹下的ARM_CM0文件夹,删除其他文件夹。
删除文件后,工程中保留FreeRTOS的文件有
7.修改FreeRTOSConfig.h配置文件。根据需求修改。我修改了一下配置项,仅供参考。
8.修改芯片堆栈。经过测试,最小可配置到512个字节。
9.添加头文件路径及源码到工程。
10.创建任务。
任务1:LED闪烁
任务2:周期性串口打印
gcc下重载__write函数。必须重载此函数才能正确打印。遗憾的是不能打印浮点型数据。
gcc下重载__read函数
11.测试验证。
串口正常打印,LED正常闪烁。
实验工程下载: AC7802_FreeRTOS.zip (1.55 MB)
---------------------
作者:GrootBrain
链接:https://bbs.21ic.com/icview-3305428-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。