飛思卡爾智能車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文件, 裏面寫上自己的關鍵字例如:

設置使用用戶自定義 關鍵字

設置用戶關鍵字顏色字體

 

 

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