uCOSII移植到TinyM0
uC/OS-II在TinyM0(cortex-M0)上的移植步骤
新建了一个完整的工程,而且把各个模块文件都包含进来,如下图1所示为工程创建的根目录:
图1 工程的根目录
图2 创建的工程
编译时出现下面所示的错误:
图3 编译工程时的错误
编译的结果表明,各个.C文件中找不到os_cpu.h文件,以及SystemFrequen
ce没有被定义,共计12个错误。
例如main.c、os_cpu_c.c和OS_CORE.c文件里出现的错误如下图所示:
图4 Main().c文件编译时的错误和改后文件
图5 Os_cpu_c.c文件编译后的错误和改后文件
图6 OS_CORE.c文件编译后的错误和修改include.h纠正
再次编译是没有出现错误和警告,如下图7所示.
图7 修改文件后编译结果
进行链接生成目标文件的时候,出现下面的编译结果,如下图8链接的结果:
提示的是在Uart.c和Os_cpu_c.c文件中SystemFrequence没有定义,但是通过查看这两个文件都包含LPC11xx.h头文件,而LPC11xx.h文件中包含system_LPC11xx.h文件(包含对SystemFrequence的定义),所以猜想是配置文件不到位,通过查看官方给出的例程的工程配置,现配置如下:
图8 project->option for Target ...->User的配置
Run #2前面打对号,里面设置为下面的格式,其中ReleaseInFlash为工程名所在的文件夹:
fromelf.exe--bin-o .\ReleaseInFlash\Time_Manage_Application.bin .\ReleaseInFlash\Time_Manage_Application.axf
Run #1设置为:$K\ARM\BIN\ELFDWT.EXE #L
C/C++项设置为:
图9 project->option for Target ...->C/C++的配置
Define里面填入:__EVAL
Include Paths里面设置如下所示就完成了:
.\CM0;.\LPC11xx;.\LPC11xx\startup;.\USER_CODE;.\uCOSII;.\uCOSII\cpu;.\Task;.\Uart;
图10 project->option for Target ...->Asm的配置
Defineh中添加:__EVAL EN_CRP
图11 project->option for Target ...->Linker的配置
User Memory layout from Target Dialog选项前勾选对号。
最后的Debug和Utilities中按照先前的设置普通应用程序的步骤设置就可以了。
如果,还是创建不成功的话肯定就是配置没有做好,可以参考一下官方给的例程。
本文档为【uCOSII移植到TinyM0】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。