分享一下自己创建工程模板的遇到的一些问题和注意点。
一,在创建工程时,不能使用NXP官方的分散加载文件,和调试初始化文件,也就是 .scf 文件和 .ini 文件,这里可以从飞凌RT1052给的开发板的例程中,找到工程根目录进行复制,如下图:
二,xip文件,这里同样也不能使用NXP官方的启动(boot)和存储器(flash)相关文件,可以使用飞凌修改过的boot与flash文件,路径及文件见下图:
三,如果出现如下问题,可以把fsl_sbrk.c文件屏蔽,屏蔽过后程序可以正常运行:
四,如果警告信息过多,已经编译过程十分缓慢,可以更改一下文件:
1,在下面的Misc Controls选项中添加一下文件,以去除66,1296,186三种warning。
- --library_interface=armcc --library_type=standardlib --diag_suppress=66,1296,186
复制代码
2,编译时间过长,可以把一下选项勾去。
五,如果文件创建成功,但是发现下载到开发板程序不能运行,可以尝试检查下面的这个选项:
添加一下选项:
- QSPI_BOOT,XIP_EXTERNAL_FLASH=1, PRINTF_FLOAT_ENABLE=0, SCANF_FLOAT_ENABLE=0, PRINTF_ADVANCED_ENABLE=0, SCANF_ADVANCED_ENABLE=0
复制代码
下面分别说一下各种选项的意思:第一个QSPI_BOOT: 可以看到飞凌RT1052关于flash的一些设置,这个只有飞凌RT1052需要,其他的开发板不需要
CPU_MIMXRT1052DVL6B:关于这个MCU与CPU_MIMXRT1052DVL5B是一样的:
XIP_EXTERNAL_FLASH=1:从函数声明上看是用来usb1外设时钟中:
PRINTF_FLOAT_ENABLE=0, SCANF_FLOAT_ENABLE=0, PRINTF_ADVANCED_ENABLE=0, SCANF_ADVANCED_ENABLE=0:用来重新定义“PRINTF”和“SCANF”函数是否支持浮点型运算的,下面是一些宏定义的细节:0是不进行重定义函数进行浮点型运算,1则相反:
六,其他问题:
1,出现下面的问题:debugger -Cortex_-M Error
解决办法:开发板重启
2,出现下面的问题:Error :flash Download failed -"Cortex-M7"
解决办法:1,观察开发板是否上电:
2,观察下面选项是否错误:
3,观察下面选项是否配置正确:
4,尝试将开发板boot拨码开关将3拨至ON,下载完成之后在拨回来,不然程序无法跑起来。
下面附上我的自己工程模板跟大家分享:
|