飞思卡尔智能车iar工程常见问题

1.link配置文件错误引起的报错

Error[Li005]: no definition for "__VECTOR_TABLE" [referenced from F:\资料 资料\4.模块类\摄像头类\OV7620摄像头资料2015年12月19日\2.龙邱OV7620采集历程总汇\ 
Error[Li005]: no definition for "__VECTOR_RAM" [referenced from F:\资料 资料\4.模块类\摄像头类\OV7620摄像头资料2015年12月19日\2.龙邱OV7620采集历程总汇\ 
Error[Li005]: no definition for "__BOOT_STACK_ADDRESS" [referenced from F:\资料 资料\4.模块类\摄像头类\OV7620摄像头资料2015年12月19日\2.龙邱OV7620采集历程总汇\ 
Error[Lp014]: cannot fit "Block .bss" (min size 0x12c08, alignment 0x4) into any of the ranges <[0x1fff0000-0x1fffffff], [0x20000000-0x2000ffff]> 
Error while running Linker 
 此类错误一般是 由于link配置文件使用绝对路径,当工程位置移动后,绝对路径就 找不到工程的 .icf文件了

解决方法:1.在工程中找到.icf 文件,直接选择该文件的路径 即可,但是 这样会导致移动工程位置后,还要再次 选择路径, 比较麻烦。

     2.将工程文件中的.icf 文件复制到iar安装文件夹\Embedded Workbench 8.0\arm\config\linker\NXP 里面,然后.icf路径选择NXP 文件夹里的icf文件,这样工程在自己电脑里随意移动都不用修改icf文件路径,但是复制给别人的时候,别人的NXP文件夹里没有该文件,还会报错。

3.使用相对路径,一般.icf文件都在工程的配置文件夹中,例如我的工程名字叫 程序, iar 工程文件.ewp 就放在程序文件夹下,icf文件放在  程序\src\Project_Setting\Linker_Files 文件夹中,使用相对路径 $PROJ_DIR$ 意思是存放.ewp 文件的文件夹,所以icf路径就是  $PROJ_DIR$\src\Project_Setting\Linker_Files\Pflash.icf(icf文件名可能不一样,按自己自行修改名字)

2. 程序下载后,复位或者掉电,程序 丢失问题。

    这个问题也是link配置文件icf的问题, icf一般会有两个, 一个是下载到flash,一个是下载到ram中,工程一般都是配置好的, 

这两个选项使用的是一套代码,只是工程配置不同,一般Debug的link中选的icf文件是RAM,下载到ram中,掉电会丢失程序,下载到ram中时,下载速度快,适合仿真调试的时候使用。Release的link配置的icf文件一般是flash,下载到flash中,掉电程序不会丢失。可以自行 修改link中的icf文件,选择要下载的位置。

修改icf文件后有可能 会报错看看这里 是不是勾选的有问题

1). 已选择下载程序到 Flash,  可选:Verify download     ( Use flash loader(s) 必须开启!);

2). 已选择下载程序到 RAM 或使用模拟器:无需选择;

3). 如果程序已下载到 Flash:开启 Suppress download;

3. 选择你自己的下载器

这里用DAPlink为例 

选择下载器类型

选择下载器模式

4.屏蔽警告

 有一些小伙伴有强迫症,一个警告 也不想看到,其实这是一种很好的习惯,iar提供了build窗口警告信息屏蔽功能,屏蔽一些 自己不想看到的警告信息(不推荐使用),下图位置 填入警告号即可。

5.用户关键字

有些时候,一些 关键字高亮,代码 看起来会非常醒目,怎么 添加用户关键字?首先创建一个txt文件, 里面写上自己的关键字例如:

设置使用用户自定义 关键字

设置用户关键字颜色字体

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章