今天研究了RTA-Os的两个问题:
一是生成的Os库RTAOS.a中有定义Os_Cbk_StackOverrunHook这个函数,而在Os_Hook.c中也定义了这个函数,编译器在链接的时候会去使用.c中的定义,而如果.c中没有定义则会去使用.a中的定义。正确的做法应该是把omit_default_inplementations配置成true,这样.a中就不会有定义了。
二是在Os中配置中断有OsIsrStackAllocation,配置任务有OsTaskStackAllocation,这两个配置项都需要填两个值。手册中说明,前一个值是监控的Stack大小,后一个值是监控的CSA大小。