1、首先下载一份源码。
2、然后按照雅特力的移植文档操作,freertos只有内核,移植起来超级简单只需要把src目录下的几个源文件、heap4和port文件添加现有工程里。将3个中断函数用_weak 改为虚函数。再添加一个配置文件FreeRTOSConfig.h就可以编译通过了。
3、第二步会遇到一个问题就是port文件按照官方的文档是用这个Source\portable\RVDS\ARM_CM4F 目录下的,但是由于AT32F415是不带浮点运算器的,会报如下错误。
This port can only be used when the project options are configured to enable hardware floating point support.
所以需要使用官方移植工程里的port文件,这个文件应该是雅特力专用的。
port_nofpu.c 在ARM_CM3目录下,这就挺奇怪的,因为AT32F415明明是M4的内核。
笔者本来准备用国产的RTThread系统,但是刚开始就遇到很多坑,先是官方的开发环境不好用,然后是,看了半天官方资料也没看 明白线程应该在哪里添加。最后添加上了,发现在自己创建的线程里I2C一运行就报错,说调度还没开始,不能使用锁。但是刚开始测的时候在main线程里调用i2c是正常的,真是心累。不过rtthead支持的国产芯片倒是挺多的,内核和芯片外设使用类似linux的menuconfig进行配置,还挺方便的。就是真的没有时间去踩坑了,只能遗憾先放放了。