飞思卡尔智能车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文件, 里面寫上自己的關鍵字例如:
設置使用用戶自定義 關鍵字
設置用戶關鍵字顏色字體
?
?
總結
以上是生活随笔為你收集整理的飞思卡尔智能车iar工程常见问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32的USB相关资料(转载)
- 下一篇: Python 小把戏之图片转字符串