国产日韩欧美久久久精品图片|国产综合有码无码中文字幕|国产一区二区综合视频|国产亚洲精品电影网站在线观看|国产精品一区在线

注冊會員 登錄
機械社區 返回首頁

jili1986729的個人空間 http://www.odgf.cn/?88345 [收藏] [復制] [RSS]

日志

在IAR環境下調試CC2510二疑惑(王佰營 王鐵虎)

已有 1179 次閱讀2010-2-13 16:35 |個人分類:無線單片機|

IAR是指瑞典IAR公司推出的IAR Embedded Workbench軟件;IAR EW是一個能夠支持多種微處理器開發的集成開發環境,針對用戶特定的目標系統,用創建項目的方式來進行管理和開發,其項目管理功能強大,用戶只要創建一個工作區(Workspace),就可以在其中開發一個或多個項目。

 

      在使用IAR調試CC2510過程中遇到了兩個問題:

   

一、總出現無法編譯錯誤

提示:Fatal Error[Pe005]: could not open source file "string.h"

提示有嚴重問題:無法打開string.h文件!

Windows搜索功能搜索到string.h文件,并且拷到項目文件夾內,還是不行。初步判斷IAR的編譯程序找不到string.h文件,說明路徑是不對。按“ALT+F7”進入“Options for node,點左邊的“C/C++ Compiler,再點右邊的標簽“Preprocessor”如下圖:

問題就出在這里:在Include paths框內包含文件的路徑設置不對:

$TOOLKIT_DIR$\INC\

該句話就是指定包含文件的路徑;

其中“$TOOLKIT_DIR$ ” 的意思是:包含文件的路徑在IAR安裝路徑的8051文件夾下,對于我的電腦IAR安裝在C盤,那么具體就表示它就表示:

$TOOLKIT_DIR$相當于:

C:\Program Files\IAR Systems\Embedded Workbench 4.05 Evaluation version\8051

$TOOLKIT_DIR$\INC\相當于:

C:\Program Files\IAR Systems\Embedded Workbench 4.05 Evaluation version\8051\INC\

可是在INC目錄下找不到string.h文件,這就是問題所在。在INC目錄下又有兩個文件夾:CLIBDLIB,而string.h文件在CLIB文件夾內;將Include paths框內改為:$TOOLKIT_DIR$\INC\CLIB\;編譯又出現錯誤提示:

Fatal Error[Pe005]: could not open source file "iocc2510.h"

Include paths框內改為:

$TOOLKIT_DIR$\INC\

$TOOLKIT_DIR$\INC\CLIB\

              編譯正常!

另外,$PROJ_DIR$的意思是包含文件指向工程目錄的上一級目錄中,例如:我們的工程文件為:D: \DESIGN\WIRELESS\CC2510; 那么$PROJ_DIR$就表示:D: \DESIGN\WIRELESS\;了解這些,我們就可靈活配置。

 

二、指令總是判斷錯誤

看以下程序:

#include <ioCC2510.h>

 

#define uint unsigned int

#define uchar unsigned char

 

#define led1   P1_0                  //控制紅LED

#define led2   P1_1                  //控制綠LED

 uint TempFlag;               //用來標志是否要閃爍

 

/***************************

//主函數

***************************/

void main()

{

       // uint TempFlag;                        //AA

       while(1) 

       {

               TempFlag = 5;                   //A

               if(5 == TempFlag)              //B

              {

                     led1 = !led1;                 //C

                     TempFlag = 0;

                     Delay(600);

                }

                else

                {

                     Led2 = !led2;                //D

Delay(600);

   }

         }

  }

  

看以上程序,盡管有A句-- TempFlag = 5,但是B句--if(5 == TempFlag) 判斷總是不成立,C句總不執行;將A句--TempFlag = 5改了好多數字都沒有改觀。若將變量TempFlag定義在AA句處,改為局部變量就正常了;但是其他地方也要用變量TempFlag,所以這樣改不行;查看匯編程序,發現if(5 == TempFlag)語句對應的匯編指令用MOVX,也就是變量TempFlag被定義在了外部RAM;可線路板上并未擴展外部RAM;那么TempFlag的數據很可能是0XFF,將A句改為:TempFlag = 0xffC句就可執行了。可能是IAR設置不合適:按“ALT+F7”進入“Options for node,點左邊的“General Options,再點右邊的標簽“Target,如下圖:

              可見:Data model欄設置不對,改為:small就正常了。  wbymcs51.blog.bokee.net

  

       通過以上兩例,我們可以看出,IAR的環境設置比較重要。在使用IAR或KEIL C時,不能僅僅按有些簡單的說明步驟去做,一定要清楚每個設置是在做什么,為什么要這樣做,才會心中有數。我們覺得徐愛鈞老師的兩本書講的比較詳細:《單片機高級語言C51 Windows 環境編程與應用 》和《IAR EWARM嵌入式系統編程與實踐 》,講到了編譯、匯編和連接的相關命令。其實,以上界面的每個設置都對應增減一條命令代碼或在某個命令中增減一個參數項,通過界面設置和命令代碼對比,就會知其然,更知其所以然。


路過

雷人

握手

鮮花

雞蛋

評論 (0 個評論)

小黑屋|手機版|Archiver|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-5-3 17:03 , Processed in 0.032859 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

返回頂部
主站蜘蛛池模板: 国产av无码专区亚洲草草 | 中文字幕久久精品波多野结百度| 鲁丝久久久精品av论理电影网| 精品国产乱码久久久久app下载| 天天天欲色欲色www免费| 成人h动漫精品一区二区| 国产午夜精品久久久久免费视| 成 人 免费观看网站| 69精品欧美一区二区综合在线| 丰满爆乳一区二区三区| 中文字幕人妻不在线无码视频 | 熟女精品久久一区| 88国产精品欧美一区二区三区| 熟女av一区二区三区| 国产精品亚洲综合一区二区三区 | 国产成人av在线免播放观看新| 国产白嫩漂亮美女在线观看| 一区二区婷婷综合| 国产成人欧美日韩在线电影| 狠狠综合久久综合中文88| 偷偷做久久久久免费网站| 无码人妻aⅴ一区二区三区| 福利在线观看一区| 色欲av无码无在线观看| 国产日产欧洲无码视频无遮挡| 亚洲综合国产一区二区| 欧美丰满熟妇xxxx性ppx人交| 日韩精品欧美在线成人| 国产97人人超碰caoprom三级| 欧美一区二区三区免费电影| 黄色一区二区三区蜜桃| 欧美人与动牲猛交xxxxbbbb| 在线观看中文字幕一区二| 免费无码成人片| 国产思思99re99在线观看| 亚洲成a人片在线观看天堂无码| 日韩a片无码一区二区五区电影 | 一区二区在线观看不卡日韩| 国产98在线 | 日韩| 国产suv精品一区二人妻| 国产亚洲精品久久午夜玫瑰园|