刘咏涛,陈宝龙,申 潇
(天津交通职业学院,天津 300110)
IAR EWARM环境下的电脑鼠软件开发调试方法研究
刘咏涛,陈宝龙,申 潇
(天津交通职业学院,天津 300110)
电脑鼠比赛是重要的大学生竞赛项目之一。文章介绍了电脑鼠软件开发环境IAR EWARM以及软件程序开发流程,主要讲述了在IAR EWARM软件平台下安装底层驱动库的方法和软件环境的选件设置中参数配置方法,并对电脑鼠软件开发与调试技巧做了分析与总结,有助于初学电脑鼠开发与调试的学生快速掌握电脑鼠软件开发与调试流程。
电脑鼠;IAR EWARM;选件设置
电脑鼠是一种小型机器人车辆,英文名称Micromouse,是使用嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置[1]。电脑鼠是一种大学生竞赛项目产品,其主要功能是自动在规定的迷宫赛场中搜索最佳路径并以最快速度完成冲刺。该项目起源于美国,至今已有30多年历史,现在我国高校中是一种非常盛行的比赛。
电脑鼠的软件程序是实现其功能和提高其性能的核心组成部分,电脑鼠程序采用专用的嵌入式软件开发环境进行开发和调试,本文以IAR公司的软件集成开发环境为例介绍电脑鼠软件开发调试环境配置及程序开发调试方法。
IAR EWARM是一个针对ARM处理器的集成开发环境,包含项目管理器、编辑器、C/C++编译器和ARM汇编器、连接器XLINK和支持RTOS的调试工具C-SPY。在EWARM环境下可以使用C/C++和汇编语言方便地开发嵌入式应用程序。对比其他的ARM开发环境,IAR EWARM具有入门容易、使用方便和代码紧凑等特点。本文以IAR EWARM 4.42a版本为例,微控制器采用基于ARM Cotex-M3内核的LM3S615。
调试器是嵌入式软件程序下载到单片机并进行代码调试的工具。LM LINK是由广州致远电子有限公司开发的低成本高性能USB JTAG调试器,专门用于对流明诺瑞系列单片机程序的下载与调试。
LM LINK采用USB接口与电脑连接,打破传统的用并口和串口下载程序的方式,无论是台式电脑还是笔记本电脑都易于应用。
流明诺瑞驱动库是基于ARM Cotex-M3微控制器芯片访问外设的底层驱动程序代码集合[2],电脑鼠控制程序需要连接驱动库才能控制电脑鼠运行。因此,在配置软件环境前需要安装流明诺瑞驱动库。
流明诺瑞驱动库是一系列的系统文件,包括连接器命令文件(*.xcl),驱动库头文件,以及底层驱动函数库。最新的流明诺瑞驱动库可从官网(http://www.ti.com.cn/product/cn/LM3S615/toolssoftware)下载。安装驱动库的任务是把相应的驱动库文件拷贝到指定的目录,并在新建软件项目时进行配置。具体操作如下。
(1)拷贝连接器命令文件。将连接器命令文件复制到IAR EWARM的默认路径下面,即把文件“standalone.xcl”复制并粘贴到“$TOOLKIT_DIR$IAR SystemsEmbedded Workbench 4.0 Kickstartarmconfig”目录下,并更改名称为“lnk_LM3.xcl”,便于识别此连接文件用于ARM Cotex-M3内核单片机。
(2)拷贝驱动库头文件。在软件安装目录“inc”文件夹下新建一个“Luminary”文件夹,把驱动库根目录中以及驱动库“src”文件夹和驱动库“inc”文件夹中的头文件(*.h)复制粘贴到文件夹“Luminary”下。这样避免每次编译连接时系统提示选择需要连接的文件目录。
(3)拷贝底层驱动函数库。在驱动库根目录下打开“$TOOLKIT_DIR$ DriverLibsrcewarm Exe”,复制函数库文件“driverlib.r79”。在软件IAR EWARM的安装目录“$TOOLKIT_DIR$IAR SystemsEmbedded Workbench 4.0 Kickstart armlib”下新建一个“Luminary”文件夹,把“driverlib.r79”粘贴到该文件夹下。
通过以上操作即完成了流明诺瑞驱动库安装。
首先创建一个基于ARM工具链的新项目,然后在新项目中创建3个文件组。文件组用于对项目文件分类放置,使项目结构清晰和便于管理,3个文件组分别是startup文件组,src文件组和lib文件组。
startup文件组用于存放项目引导文件“startup.c”,src文件组用于存放项目代码文件,项目代码由开发项目的程序员编写,lib文件组用于存放底层驱动函数库文件。
创建文件组后,把项目引导文件和底层驱动函数库文件分别加入相应的文件组。在src文件组中创建项目代码文件并编写代码。
生成新项目和添加文件后的下一步是为项目设置选件。设置项目选件是非常重要的一步,如果设置不当,编译、连接就会出错,就无法生成正确的代码文件。
IAR EWARM允许为工作区中的任何一级目录和文件单独设置选件,但是用户必须首先为整个项目设置通用选件。由于项目配置内容繁多,以下仅对项目开发的主要配置选件进行设置,细节部分可参考LM3S615数据手册。
2.3.1 通用选件设置
打开或新建一个项目后,在“Project”项下拉列表中选择“Option”选项,即可打开选件设置窗口。在“General Option”的“Target”选项中选择单片机内核和单片机型号以及字符编码格式。此处选择内核Cotex-M3,选择单片机Luminary LM3S615,字节顺序选择Little,即小端格式。堆栈对齐方式选择4 bytes。
2.3.2 C/C++编译器选件设置
在编译器选件设置中要添加流明诺瑞驱动库头文件,因此在附加include文件目录中写入“$TOOLKIT_DIR$INCLuminary”,以便编译器能够找到驱动库函数的声明,否则编译无法通过。
2.3.3 Assembler选件设置
本项选用默认设置。
2.3.4 连接器选件设置
连接器选件包括Output,Extra output,List和Config选项。
Output选项允许用户选择输出文件是否带调试信息。
Extra output选项可选是否产生附加的输出文件及其格式。
List选项允许生成存储器分配MAP文件。
Config选项定义连接器命令文件。连接器命令文件中包含连接器的各项命令行参数,主要用于控制程序各种代码段和数据段在存储器中如何分布。在连接器命令文件中,选择覆盖默认设置,选择连接器命令文件lnk_LM3.xcl。在程序复位入口点栏输入ResetISR,当系统上电时启动文件由ResetISR处开始执行。
2.3.5 Debugger选件设置
调试器的选件设置包括调试工具选择和程序下载设置。用户可根据自己的需要进行配置。
电脑鼠程序是基于红外传感器的自动机器人车辆,传感器的校准和程序调试是同时进行的。
当电脑鼠的速度较慢时,对传感器的信号强度要求较低,即传感器信号在一定距离范围内被检测到即可,但是在冲刺阶段,当电脑鼠速度较快时,传感器信号必须处于某一限定区间内,否则会出现撞壁或提前转弯现象,导致电脑鼠中途失控,无法完成走迷宫任务。
电脑鼠程序功能包括搜索算法开发、极限速度值设定、加速度调节以及转弯角度调节等。
搜索算法中有右手法则、左手法则、中右法则、中左法则、中心法则等[3]。以右手法则为例,程序首先判断右方是否有路,然后判断前方是否有路,最后判断左方是否有路,转弯优先方向依次是右、前、左,如果前3个方向均无路,电脑鼠将转弯180°后回到上一个记忆的路口。其他的算法类似。
通过电脑鼠在迷宫中的表现,可更改极限速度值、加速度值以及转弯角度,优先保证电脑鼠完成迷宫搜索,然后调整程序参数和传感器值,逐步提高电脑鼠的速度,使其性能不断优化。
电脑鼠的程序开发与调试是学生学习电脑鼠的重要内容,本文对开发工具驱动库的安装、工具的配置、程序开发与调试方法进行了分析与介绍,特别是底层驱动库的安装和IAR EWARM集成开发环境的配置,对于软件程序是否能够正常编译连接及下载调试至关重要。本文有助于学生了解开发环境,熟悉开发流程以及工作技巧,快速提高开发技能。
[1]方金亮,谈英姿,周怡君.基于ARM的IEEE标准电脑鼠研究与实现[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的迷宫电脑鼠软件设计与实现[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— ),男,河北安国人,工程师,硕士;研究方向:嵌入式系统开发。