劉詠濤,陳寶龍,申 瀟
(天津交通職業(yè)學院,天津 300110)
IAR EWARM環(huán)境下的電腦鼠軟件開發(fā)調試方法研究
劉詠濤,陳寶龍,申 瀟
(天津交通職業(yè)學院,天津 300110)
電腦鼠比賽是重要的大學生競賽項目之一。文章介紹了電腦鼠軟件開發(fā)環(huán)境IAR EWARM以及軟件程序開發(fā)流程,主要講述了在IAR EWARM軟件平臺下安裝底層驅動庫的方法和軟件環(huán)境的選件設置中參數(shù)配置方法,并對電腦鼠軟件開發(fā)與調試技巧做了分析與總結,有助于初學電腦鼠開發(fā)與調試的學生快速掌握電腦鼠軟件開發(fā)與調試流程。
電腦鼠;IAR EWARM;選件設置
電腦鼠是一種小型機器人車輛,英文名稱Micromouse,是使用嵌入式微控制器、傳感器和機電運動部件構成的一種智能行走裝置[1]。電腦鼠是一種大學生競賽項目產品,其主要功能是自動在規(guī)定的迷宮賽場中搜索最佳路徑并以最快速度完成沖刺。該項目起源于美國,至今已有30多年歷史,現(xiàn)在我國高校中是一種非常盛行的比賽。
電腦鼠的軟件程序是實現(xiàn)其功能和提高其性能的核心組成部分,電腦鼠程序采用專用的嵌入式軟件開發(fā)環(huán)境進行開發(fā)和調試,本文以IAR公司的軟件集成開發(fā)環(huán)境為例介紹電腦鼠軟件開發(fā)調試環(huán)境配置及程序開發(fā)調試方法。
IAR EWARM是一個針對ARM處理器的集成開發(fā)環(huán)境,包含項目管理器、編輯器、C/C++編譯器和ARM匯編器、連接器XLINK和支持RTOS的調試工具C-SPY。在EWARM環(huán)境下可以使用C/C++和匯編語言方便地開發(fā)嵌入式應用程序。對比其他的ARM開發(fā)環(huán)境,IAR EWARM具有入門容易、使用方便和代碼緊湊等特點。本文以IAR EWARM 4.42a版本為例,微控制器采用基于ARM Cotex-M3內核的LM3S615。
調試器是嵌入式軟件程序下載到單片機并進行代碼調試的工具。LM LINK是由廣州致遠電子有限公司開發(fā)的低成本高性能USB JTAG調試器,專門用于對流明諾瑞系列單片機程序的下載與調試。
LM LINK采用USB接口與電腦連接,打破傳統(tǒng)的用并口和串口下載程序的方式,無論是臺式電腦還是筆記本電腦都易于應用。
流明諾瑞驅動庫是基于ARM Cotex-M3微控制器芯片訪問外設的底層驅動程序代碼集合[2],電腦鼠控制程序需要連接驅動庫才能控制電腦鼠運行。因此,在配置軟件環(huán)境前需要安裝流明諾瑞驅動庫。
流明諾瑞驅動庫是一系列的系統(tǒng)文件,包括連接器命令文件(*.xcl),驅動庫頭文件,以及底層驅動函數(shù)庫。最新的流明諾瑞驅動庫可從官網(wǎng)(http://www.ti.com.cn/product/cn/LM3S615/toolssoftware)下載。安裝驅動庫的任務是把相應的驅動庫文件拷貝到指定的目錄,并在新建軟件項目時進行配置。具體操作如下。
(1)拷貝連接器命令文件。將連接器命令文件復制到IAR EWARM的默認路徑下面,即把文件“standalone.xcl”復制并粘貼到“$TOOLKIT_DIR$IAR SystemsEmbedded Workbench 4.0 Kickstartarmconfig”目錄下,并更改名稱為“l(fā)nk_LM3.xcl”,便于識別此連接文件用于ARM Cotex-M3內核單片機。
(2)拷貝驅動庫頭文件。在軟件安裝目錄“inc”文件夾下新建一個“Luminary”文件夾,把驅動庫根目錄中以及驅動庫“src”文件夾和驅動庫“inc”文件夾中的頭文件(*.h)復制粘貼到文件夾“Luminary”下。這樣避免每次編譯連接時系統(tǒng)提示選擇需要連接的文件目錄。
(3)拷貝底層驅動函數(shù)庫。在驅動庫根目錄下打開“$TOOLKIT_DIR$ DriverLibsrcewarm Exe”,復制函數(shù)庫文件“driverlib.r79”。在軟件IAR EWARM的安裝目錄“$TOOLKIT_DIR$IAR SystemsEmbedded Workbench 4.0 Kickstart armlib”下新建一個“Luminary”文件夾,把“driverlib.r79”粘貼到該文件夾下。
通過以上操作即完成了流明諾瑞驅動庫安裝。
首先創(chuàng)建一個基于ARM工具鏈的新項目,然后在新項目中創(chuàng)建3個文件組。文件組用于對項目文件分類放置,使項目結構清晰和便于管理,3個文件組分別是startup文件組,src文件組和lib文件組。
startup文件組用于存放項目引導文件“startup.c”,src文件組用于存放項目代碼文件,項目代碼由開發(fā)項目的程序員編寫,lib文件組用于存放底層驅動函數(shù)庫文件。
創(chuàng)建文件組后,把項目引導文件和底層驅動函數(shù)庫文件分別加入相應的文件組。在src文件組中創(chuàng)建項目代碼文件并編寫代碼。
生成新項目和添加文件后的下一步是為項目設置選件。設置項目選件是非常重要的一步,如果設置不當,編譯、連接就會出錯,就無法生成正確的代碼文件。
IAR EWARM允許為工作區(qū)中的任何一級目錄和文件單獨設置選件,但是用戶必須首先為整個項目設置通用選件。由于項目配置內容繁多,以下僅對項目開發(fā)的主要配置選件進行設置,細節(jié)部分可參考LM3S615數(shù)據(jù)手冊。
2.3.1 通用選件設置
打開或新建一個項目后,在“Project”項下拉列表中選擇“Option”選項,即可打開選件設置窗口。在“General Option”的“Target”選項中選擇單片機內核和單片機型號以及字符編碼格式。此處選擇內核Cotex-M3,選擇單片機Luminary LM3S615,字節(jié)順序選擇Little,即小端格式。堆棧對齊方式選擇4 bytes。
2.3.2 C/C++編譯器選件設置
在編譯器選件設置中要添加流明諾瑞驅動庫頭文件,因此在附加include文件目錄中寫入“$TOOLKIT_DIR$INCLuminary”,以便編譯器能夠找到驅動庫函數(shù)的聲明,否則編譯無法通過。
2.3.3 Assembler選件設置
本項選用默認設置。
2.3.4 連接器選件設置
連接器選件包括Output,Extra output,List和Config選項。
Output選項允許用戶選擇輸出文件是否帶調試信息。
Extra output選項可選是否產生附加的輸出文件及其格式。
List選項允許生成存儲器分配MAP文件。
Config選項定義連接器命令文件。連接器命令文件中包含連接器的各項命令行參數(shù),主要用于控制程序各種代碼段和數(shù)據(jù)段在存儲器中如何分布。在連接器命令文件中,選擇覆蓋默認設置,選擇連接器命令文件lnk_LM3.xcl。在程序復位入口點欄輸入ResetISR,當系統(tǒng)上電時啟動文件由ResetISR處開始執(zhí)行。
2.3.5 Debugger選件設置
調試器的選件設置包括調試工具選擇和程序下載設置。用戶可根據(jù)自己的需要進行配置。
電腦鼠程序是基于紅外傳感器的自動機器人車輛,傳感器的校準和程序調試是同時進行的。
當電腦鼠的速度較慢時,對傳感器的信號強度要求較低,即傳感器信號在一定距離范圍內被檢測到即可,但是在沖刺階段,當電腦鼠速度較快時,傳感器信號必須處于某一限定區(qū)間內,否則會出現(xiàn)撞壁或提前轉彎現(xiàn)象,導致電腦鼠中途失控,無法完成走迷宮任務。
電腦鼠程序功能包括搜索算法開發(fā)、極限速度值設定、加速度調節(jié)以及轉彎角度調節(jié)等。
搜索算法中有右手法則、左手法則、中右法則、中左法則、中心法則等[3]。以右手法則為例,程序首先判斷右方是否有路,然后判斷前方是否有路,最后判斷左方是否有路,轉彎優(yōu)先方向依次是右、前、左,如果前3個方向均無路,電腦鼠將轉彎180°后回到上一個記憶的路口。其他的算法類似。
通過電腦鼠在迷宮中的表現(xiàn),可更改極限速度值、加速度值以及轉彎角度,優(yōu)先保證電腦鼠完成迷宮搜索,然后調整程序參數(shù)和傳感器值,逐步提高電腦鼠的速度,使其性能不斷優(yōu)化。
電腦鼠的程序開發(fā)與調試是學生學習電腦鼠的重要內容,本文對開發(fā)工具驅動庫的安裝、工具的配置、程序開發(fā)與調試方法進行了分析與介紹,特別是底層驅動庫的安裝和IAR EWARM集成開發(fā)環(huán)境的配置,對于軟件程序是否能夠正常編譯連接及下載調試至關重要。本文有助于學生了解開發(fā)環(huán)境,熟悉開發(fā)流程以及工作技巧,快速提高開發(fā)技能。
[1]方金亮,談英姿,周怡君.基于ARM的IEEE標準電腦鼠研究與實現(xiàn)[J].機械制造與自動化,2008(5):99-101.
[2]Luminary Micro,Inc.Stellaris? Peripheral Driver Library User’s Guide.[EB/OL].(2012-06-11)[2017-10-25].http://www.ti.com/tool/sw-drl.
[3]李龍林,桂泉.基于AVR ATmega128的迷宮電腦鼠軟件設計與實現(xiàn)[J].電腦知識與技術,2014(11):2660-2663.
Study on debugging method of computer mouse software in IAR EWARM environment
Liu Yongtao, Chen Baolong, Shen Xiao
(Tianjin Vocational College of Traffic, Tianjin 300110, China)
The computer mouse competition is one of the important college student competitions. This paper introduces the software development environment of IAR EWARM and the software program development process. It mainly introduces the method of installing the underlying driver library and the configuration method of the software environment in the IAR EWARM software platform, and analyzes and summaries the develops and debugs the computer mouse software skills, help beginners computer mouse development and debugging of students quickly grasp the computer mouse software development and debugging process.
computer mouse; IAR EWARM; option settings
劉詠濤(1977— ),男,河北安國人,工程師,碩士;研究方向:嵌入式系統(tǒng)開發(fā)。