您好!欢迎来到源码码网

电脑鼠软件开发调试方法

  • 行业资讯
  • 来源:源码码网
  • 编辑:admin
  • 时间:2020-04-23 10:44
  • 阅读:474

电脑鼠是一种小型机器人车辆,英文名称Micromouse,是使用嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置[1]。电脑鼠是一种大学生竞赛项目产品,其主要功能是自动在规定的迷宫赛场中搜索最佳路径并以最快速度完成冲刺。该项目起源于美国,至今已有30多年历史,现在我国高校中是一种非常盛行的比赛。电脑鼠的软件程序是实现其功能和提高其性能的核心组成部分,电脑鼠程序采用专用的嵌入式软件开发环境进行开发和调试,本文以IAR公司的软件集成开发环境为例介绍电脑鼠软件开发调试环境配置及程序开发调试方法。

1软件开发环境介绍

1.1IAREWARM嵌入式软件集成开发环境

IAREWARM是一个针对ARM处理器的集成开发环境,包含项目管理器、编辑器、C/C++编译器和ARM汇编器、连接器XLINK和支持RTOS的调试工具C-SPY。在EWARM环境下可以使用C/C++和汇编语言方便地开发嵌入式应用程序。对比其他的ARM开发环境,IAREWARM具有入门容易、使用方便和代码紧凑等特点。本文以IAREWARM4.42a版本为例,微控制器采用基于ARMCotex-M3内核的LM3S615。

1.2LMLINK调试器

调试器是嵌入式软件程序下载到单片机并进行代码调试的工具。LMLINK是由广州致远电子有限公司开发的低成本高性能USBJTAG调试器,专门用于对流明诺瑞系列单片机程序的下载与调试。LMLINK采用USB接口与电脑连接,打破传统的用并口和串口下载程序的方式,无论是台式电脑还是笔记本电脑都易于应用。

2软件开发环境配置

2.1安装流明诺瑞驱动库

流明诺瑞驱动库是基于ARMCotex-M3微控制器芯片访问外设的底层驱动程序代码集合[2],电脑鼠控制程序需要连接驱动库才能控制电脑鼠运行。因此,在配置软件环境前需要安装流明诺瑞驱动库。流明诺瑞驱动库是一系列的系统文件,包括连接器命令文件(*.xcl),驱动库头文件,以及底层驱动函数库。最新的流明诺瑞驱动库可从官网()下载。安装驱动库的任务是把相应的驱动库文件拷贝到指定的目录,并在新建软件项目时进行配置。具体操作如下。(1)拷贝连接器命令文件。将连接器命令文件复制到IAREWARM的默认路径下面,即把文件“standalone.xcl”复制并粘贴到“$TOOLKIT_DIR$IARSystemsEmbeddedWorkbench4.0Kickstartarmconfig”目录下,并更改名称为“lnk_LM3.xcl”,便于识别此连接文件用于ARMCotex-M3内核单片机。(2)拷贝驱动库头文件。在软件安装目录“inc”文件夹下新建一个“Luminary”文件夹,把驱动库根目录中以及驱动库“src”文件夹和驱动库“inc”文件夹中的头文件(*.h)复制粘贴到文件夹“Luminary”下。这样避免每次编译连接时系统提示选择需要连接的文件目录。(3)拷贝底层驱动函数库。在驱动库根目录下打开“$TOOLKIT_DIR$DriverLibsrcewarmExe”,复制函数库文件“driverlib.r79”。在软件IAREWARM的安装目录“$TOOLKIT_DIR$IARSystemsEmbeddedWorkbench4.0Kickstartarmlib”下新建一个“Luminary”文件夹,把“driverlib.r79”粘贴到该文件夹下。通过以上操作即完成了流明诺瑞驱动库安装。

2.2IAREWARM创建项目和添加文件

首先创建一个基于ARM工具链的新项目,然后在新项目中创建3个文件组。文件组用于对项目文件分类放置,使项目结构清晰和便于管理,3个文件组分别是startup文件组,src文件组和lib文件组。startup文件组用于存放项目引导文件“startup.c”,src文件组用于存放项目代码文件,项目代码由开发项目的程序员编写,lib文件组用于存放底层驱动函数库文件。创建文件组后,把项目引导文件和底层驱动函数库文件分别加入相应的文件组。在src文件组中创建项目代码文件并编写代码。

2.3IAREWARM集成开发环境配置

2.3.1通用选件设置打开或新建一个项目后,在“Project”项下拉列表中选择“Option”选项,即可打开选件设置窗口。在“GeneralOption”的“Target”选项中选择单片机内核和单片机型号以及字符编码格式。此处选择内核Cotex-M3,选择单片机LuminaryLM3S615,字节顺序选择Little,即小端格式。堆栈对齐方式选择4bytes。2.3.2C/C++编译器选件设置在编译器选件设置中要添加流明诺瑞驱动库头文件,因此在附加include文件目录中写入“$TOOLKIT_DIR$INCLuminary”,以便编译器能够找到驱动库函数的声明,否则编译无法通过。2.3.3Assembler选件设置本项选用默认设置。2.3.4连接器选件设置连接器选件包括Output,Extraoutput,List和Config选项。Output选项允许用户选择输出文件是否带调试信息。Extraoutput选项可选是否产生附加的输出文件及其格式。List选项允许生成存储器分配MAP文件。Config选项定义连接器命令文件。连接器命令文件中包含连接器的各项命令行参数,主要用于控制程序各种代码段和数据段在存储器中如何分布。在连接器命令文件中,选择覆盖默认设置,选择连接器命令文件lnk_LM3.xcl。在程序复位入口点栏输入ResetISR,当系统上电时启动文件由ResetISR处开始执行。2.3.5Debugger选件设置调试器的选件设置包括调试工具选择和程序下载设置。用户可根据自己的需要进行配置。

3软件开发调试过程

电脑鼠程序是基于红外传感器的自动机器人车辆,传感器的校准和程序调试是同时进行的。当电脑鼠的速度较慢时,对传感器的信号强度要求较低,即传感器信号在一定距离范围内被检测到即可,但是在冲刺阶段,当电脑鼠速度较快时,传感器信号必须处于某一限定区间内,否则会出现撞壁或提前转弯现象,导致电脑鼠中途失控,无法完成走迷宫任务。电脑鼠程序功能包括搜索算法开发、极限速度值设定、加速度调节以及转弯角度调节等。搜索算法中有右手法则、左手法则、中右法则、中左法则、中心法则等[3]。以右手法则为例,程序首先判断右方是否有路,然后判断前方是否有路,最后判断左方是否有路,转弯优先方向依次是右、前、左,如果前3个方向均无路,电脑鼠将转弯180°后回到上一个记忆的路口。其他的算法类似。通过电脑鼠在迷宫中的表现,可更改极限速度值、加速度值以及转弯角度,优先保证电脑鼠完成迷宫搜索,然后调整程序参数和传感器值,逐步提高电脑鼠的速度,使其性能不断优化。

4结语

电脑鼠的程序开发与调试是学生学习电脑鼠的重要内容,本文对开发工具驱动库的安装、工具的配置、程序开发与调试方法进行了分析与介绍,特别是底层驱动库的安装和IAREWARM集成开发环境的配置,对于软件程序是否能够正常编译连接及下载调试至关重要。本文有助于学生了解开发环境,熟悉开发流程以及工作技巧,快速提高开发技能。


特别声明:
1、如无特殊说明,内容均为本站原创发布,转载请注明出处;
2、部分转载文章已注明出处,转载目的为学习和交流,如有侵犯,请联系客服删除;
3、编辑非《源码码网》的文章均由用户编辑发布,不代表本站立场,如涉及侵犯,请联系删除;
全部评论(0)
推荐阅读
  • open claw最近很火,如何理性看待?
  • open claw最近很火,如何理性看待?
  • openclaw是2026年初科技圈最火爆的现象级话题。它不仅仅是又一个AI产品,更被百川智能的王小川誉为与ChatGPT诞生同等重要的里程碑——标志着AI从”只会说”的对话者,进化到了”能够做”的行动者。对于这股全民”养虾”热潮,我的观察是:它代表了一次人机关系的革命性跃迁,但同时也是一场充满风险与泡沫的狂欢,其真正的价值需要在喧嚣褪去、安全与成本的挑战被克服后才能显现。下
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-03-17 11:06
  • 阅读:34
  • 原生小程序和封装的小程序有什么区别
  • 原生小程序和封装的小程序有什么区别
  • 原生小程序和封装的小程序是两种不同的开发模式,主要区别在于开发方式、性能表现、代码维护以及跨平台能力。为了让你更清晰地理解,我们可以把“原生”比作用钢筋水泥直接盖楼,而“封装”则是用预制板或套件来组装楼。以下是详细的对比分析:1.定义与本质原生小程序:定义: 直接使用微信官方提供的开发工具、语法和API进行开发。语言: 使用微信自己定义的一套技术栈(WXML(微信标记语言)做结构、WXSS(微信样式表)做样式、JS
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-03-06 11:54
  • 阅读:256
  • 基于NetCore(Razor Page)开发的Cms建站系统MIT协议
  • 基于NetCore(Razor Page)开发的Cms建站系统MIT协议
  • FytSoaCms一款基于NetCore2.2/3.1(RazorPage)功能强大的Cms建站系统,支持前后端分离。简介:模块化:全新的架构和模块化的开发机制,便于灵活扩展和二次开发。模型/栏目/分类信息体系:通过栏目和模型绑定,以及不同的模型类型,不同栏目可以实现差异化的功能,轻松实现诸如资讯、下载、讨论和图片等功能。通过分类信息和栏目绑定,可以自动建立索引表,轻松实现复杂的信息检索。FytSoa是一套基于NetCore+SqlS
  • 开发工具
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-24 22:21
  • 阅读:301
  • 基于JAVA开发的企业级平台微信公众号管理系统SmartWx
  • 基于JAVA开发的企业级平台微信公众号管理系统SmartWx
  • SmartWx微信公众号管理系统是一个完整的微信公众号web操作版,直接编译即可运行。让用户不再用关心微信的底层接口,直接使用页面进行操作,简单方便。包括服务器绑定、文本管理、图文管理、菜单管理、粉丝管理、群发消息等。技术框架开发语言:JAVA数据库:MYSQLJAVA开发框架:SpringMVC+Spring+Mybatis缓存框架:j2cache前端开发框架:Layui+JQuery+html前台模板引擎:art-templat
  • 源码教程
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-24 21:53
  • 阅读:295
  • 前后端分离的Java快速开发平台renren-security可免费商用
  • 前后端分离的Java快速开发平台renren-security可免费商用
  • renren-security是一个轻量级的,前后端分离的Java快速开发平台,能快速开发项目并交付【接私活利器】采用SpringBoot3.x、Shiro、MyBatis-Plus、Vue3、TypeScript、ElementPlus、VueRouter、Pinia、Axios、Vite框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。提供了代码生成器,只
  • 源码教程
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-23 13:03
  • 阅读:200
联系客服
源码代售 源码咨询 技术开发 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部