IAR編譯ZStack-CC2530爲可下載運行的HEX文件的正確配置

       【按:對一個技術人員來說,最痛苦的事莫過於按照手冊和教程的說明把工作都做好以後卻怎麼也呈現不出想要的結果。

       這兩天來一直在做Zstack-CC2530的實驗,讀了手冊也看了教程,卻怎麼也做不出應該有的結果,一度陷入絕望中~~今天偶然看到一篇說IAR配置的文章,才恍然大悟~TI啊!!你發佈Zstack的時候爲什麼不把IAR該有的配置都配置好呢!!白白浪費了兩天的時間啊,你還我時間!!

       網上看了無數的教程,什麼從零開始學Zstack啊,Zigbee入門啊,奧特曼讀書日記啊等等等等,無一例外都從程序的流程框架上給出了較爲詳細的解說,可是沒有一篇文章提到要將Zstack-CC2530正確編譯爲可下載運行的hex文件還有哪些工作要做。可能只要用過IAR的人都會說編譯爲可下載的hex文件只要把linker——output——format的選項選爲other就行了,這是最基礎的知識,根本不用說。可是對於Zstack-CC2530來說,還有一個重要步驟需要設置,正是因爲這個重要步驟沒有正確設置,讓我在過去的兩天裏做實驗怎麼做怎麼不對,幾乎陷入抓狂的境地~】

       IAR編譯ZStack-CC2530爲可下載運行的HEX文件的正確配置:

       1.正確配置輸出文件格式:菜單選擇Project-Options-Linker-Output-Format,選擇Other。右邊的Output下拉框選intel-extended,Format variant下拉框選None,Module-local下拉框選Include all

       2.還是在菜單Project-Options-Linker-Output標籤中,勾上Override default選項,把編輯框中的文件名的後綴改爲hex

       以上兩步都是大多數人熟知的,下面這一步是針對大型程序編譯下載所必須的,也是大部分寫zstack教程的人所沒有提到的。

       3.找到f8w2530.xcl文件,並打開。(這個文件在“Projects\zstack\Tools\CC2530DB\”目錄下,也可以通過IAR編譯環境的左側Workspace窗口點開Tools文件夾看到)在f8w2530.xcl文件中找到兩行被註釋掉的語句:

         //-M(CODE)[(_CODEBANK_START+_FIRST_BANK_ADDR)-(_CODEBANK_END+_FIRST_BANK_ADDR)]*\
         //_NR_OF_BANKS+_FIRST_BANK_ADDR=0x8000

         把這兩行前面的“//”去掉,保存,重新編譯,OK!

         (注:去掉這兩行的“//”後在編譯輸出成hex格式時沒有問題,但在debug模式下編譯會提示警告:Warning[w69]: Address translation (-M, -b# or -b@) has no effect on the output format 'debug'. The  output file will be generated but noaddress translation will be performed. 不過並不會影響debug調試的使用。也許正是爲了屏蔽掉此條警告,所以TI在發佈Zstack時選擇了默認爲debug模式才註釋掉了這兩行指令,但在編譯hex時卻又不提示任何警告和錯誤,真是害人不淺~~)

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