论文研究-基于Linux的嵌入式交叉开发技术.pdf

-
首先介绍如何构建嵌入式开发平台,包括硬件平台和软件平台,硬件平台的目标机采用ARM芯片,软件平台的宿主机采用Linux操作系统,并采用GDB调试软件;然后详细阐述了嵌入式软件的交叉开发的一般步骤。通过实践充分证明交叉开发是嵌入式软件开发行之有效的方法,可以大大提高嵌入式软件的开发效率。
208 计算机应用研究 第25卷 则规定了调试命令和调试信息的数据格式及通信过程。 4.3目标机代理 handler 厍文 目标机调试代理 handler按照调试协议“和 JTAGER进行 国程抵行代吲 调试 调试命令与调试信息的交互。当调试事件发生时作为一个事 并协议 件处理器对日标芯片进行控制。需要注意的是,由于微型指令 图4嵌入式软件的生成阶段5交义调试系统体系结构 缓存大小的限制(2KB), handler代码量要尽量地精简。使用 此交叉调试的特点是主机端环境为Iinⅸ系统,主机调试AHRM编编写,其程序流程伪码如下所示: 器采用GDB+ JTAGER的方案,由GD完成对源文件、日标 handler程序流程(…) 文件和符号表的访叫处理及与用户的交互,由 JTAGER程序封 初始化 handler,使凵标机处于就绪状态{ halt mode 装对交叉调试的支持;调试协议是 ITAGER稈序与调试代理稈 向 JTAGER发送日标机就绪的信号; 序之间的通信规范。调试代理程序 handler则通过特有的 while (1) IDC指令载人目标芯片的微型指令缓存中。 等待 STAGER发送相应调试指令 调试协议 /通过mrc实现对RX的读出 i(接收到调试指令)进入相应调试处理子程序; 调试协议是整个交叉调试系统的屮心。它规定了主机和 else向 JTAGER发送调试结果; 目标机之间的数据通信过程。主机和目标机采用尽量简单的 /通过mcr实现对TX的写入 数据包交互,JMER需要发往 handler的调试命令包括读写 目标机内存(g和p)、增加断点(b)、继续运行(c)。由于读写 目标机寄存器会频繁发生,采用轮询方式定时完成。 5系统测试 在主机和目标机通信过程中用到的通信协议主要有普通 RX握手协议、快速数据下载握手协议、TX握手协议。 整个软件系统编译过程中,嵌入式系统的硬件一般采用专 门的测试仪器进行测试。软件则需要有相关的测试技术和 4.2主机端调试器GDB+ ITAGER 测试工貝的支寺,并要采用特定的测试策略。嵌入式软件测试 GDB是公开源码的一种功能强大的通用调试器。它支持中经常用到的测试工具主要有内存分析工具、性能分析工具、 丰富的调试命令和多种编程语言,并攴持远程调试方式。运行覆盖分析工具和缺陷跟踪工具等。 GDB的平台通过并行端口(或网口、串口等)连接到已建立运 在嵌入式软件测试中,常常要在基于目标机的测试和基于 行坏境的目标机时,GDB可以按照远程串行协议(RSP)与目宿主机的测试向作出折中。基于目标机的测试需要消耗较多 标机上的插柱程序通信来调试目标系统。但当目标机为裸机的时间和经费:基于宿主机的测试雄然代价较小,但毕竞是在 时,GDR无法与之通信而不能调试,所以再增加一个中间软件仿真环境中进行的,因此难以完全反映软件运行时的实际情 丌 TAGER。其功能是应用JAG技术实现对裸机的交叉调试。 况。这两种环境下的测试可以发现不同的软件缺陷,关键是要 1)GDB交互数据包 对目标机环境和宿主机环境下的测试内容进行合理取舍。 交互过程必须遵守 GDB RSP进行数据包处理+。数据包 格式为$ packet data# checksum。其中:$为数据包的头标志;6嵌入式软件的固化运行 packet_data为数据包内容;#是数据包结束标志; checksum表 示整个数据包的检验码,用来保证数据的正确传送。 当调试和测试完成后,程序代码需要被完全烧入到目标板 在 JTAcER运行过程中,其主控循环不断地接收RSP数的非易失性存储器中,并且在真实的硬件坏境上运行。这个过 据包、解析,并将处理结果封装成应答KSP数据包,交给GDB 稈叫徹固化。分析调试环境与固化环境之间的区别是解决固 以读内存为例 化问题的关键所在。两者的详细区别如表1所 GDB发往 JTAGER的数据包:$m018004,4#8d 表1调试环境和固化环境的区别 阶段 调试环境 固化环境 JTAGER应答GDB的数据包:s0d82de9#30 编泽目标文件需要调试信息 目标文件不需要调试信息 2) JTAGER主控流程 应用系统目标代码不需要hoot模 JAGER在主机上与CDB并行运行。它使用UNX的I链接块,此模块已曰目标板上的监控程 程序代码必须以bot糗块 序实现 作为入凵模块 O多路转换机制监听指定的tep调试端口与GDB进行通信。 程序的各逻段按照其不同的属 JTAGER主体控制流程伪码如下: 定位 程序的所有代码段、数据段都依次 被定位到调试空间的RAM中 性分别定位到非易失性存储空间 JTAGER主控程序(…) (ROM)或RAM中 宿主机的凋试器读入被调试文在宿主机利用固化工具将可固 初始化目标板的JTAG接冂; 下载 件,并将其下载到目示机上的调试化的应用程序写入目标机的非易 往目标板的 ManilA载人 handler; 空间中,日标机掉电后所有信息全失性存储器中,日标机掉电后信 打开GDB远程tφp凵,接收gdb远程调试数据; 部丟失 息不会丢失 while(1) 被调试程序在目标监控器的控制下 行们,并与后者共享某些资源,如程序在真实的目标硬件环境上运 监视tqp调试端凵和用户标准输入; CPL资源、IAM资源以及通信设备行 if(有数据包)解析后进人相应调试命令处理函数 (如串口、网口等)资源 else轮询目标机的传输寄存器TX; 可见,固化的代码和RAM中(调试)的代码有以下两个主 要差别 收到退出命令作结束程序的处理,进行tep连接的中断和内 存的回收 a)代码定位不同。在嵌入式系统中,一般使用两种存储 器:可读/写的RAM;非易失性存储器,如ROM、(下转第214页) 214 计算机应用研究 第25卷 廓曲线外,还需要钟形部分的中心线作为变截面扫描用原点和 南量线 确定扫措方向。而中心线无法直接测绘。在此利用已经求取 的两轮廓线,在内轮廓曲线的直线和多项式曲线部分选取其切 外艳露线 线方向为扫描方向;以其法线方向作直线与两轮廓线相交得两 交点;将两交点的中点作为以后拟合中心线的点。通过内轮廓 曲线的圆弧部分的圆心作一条与喇叭口平行的直线与两轮廓 图5依据拟合方稈绘制出的 线相交得两交点,将内轮廓圆弧段分成两部分。喇叭口一边部 图6萨克斯管钟形零件的 钟形轮廓曲线 三维实体模型 分作平行喇叭口的直线与两轮廓线相交得直线段的屮点作为 中心线拟合的数据点;另一段圆弧与多顶式曲线一样作其法向5结束语 直线与两轮廓的交点直线段的中点作为数据点,求得中心线数 目前我国制造萨克斯管等西洋乐器的水平较低,仅能制造 据点。依据所求取的中心线数据点,仍然难以采用统一的简单一些中、低档产品,高档产品仍靠进口。采用现代 CAD/CAM 函数来很好地拟合所求得的所有点,仍采用分段拟合并光滑曲CAE一体化技术、现代模具设计制造技术改造乐器行业产品 线。方法同前面两条轮廓线的拟合,拟合结果表示为分段函数及其模具设计制造技术,提高乐器产品质量,增强我国乐器行 如下: 业竞争力有重要的技术和经济意义。本文所得到的萨克斯管 0.01915x-1.395 x∈[0,63.0460 轮廓曲线的函数方稈和三维全参数化数字模型可为实际生产 74810x+.195x10°x3-x∈(630460,591481中分析、优化设计萨克斯管及其模具提供有价值的叁考依据。 0.00655x2-0.424x-10.22 参考文献: y0.005708x2-1.412+105.3938x15914.170.02801 0.0185x2-5.580x+476.6500xc1170.0280,178.9854」 [1]陈惠庆,屮国乐器工业发展的战略[J].上海轻工业,2001(4) 12-14 0.0003278x2+0.8997x-128.1147x∈[178.9854,192.6729 [2]习胜丰,实验數据最小二乘法拟合的正交多项式程序硏削[J]. 0.472x2+173.1x-1.672×104x∈[192.6729,194.25 益旧师专学报,1996,13(5):20-24 [3 WATKINS J, MITCHELL E. AMATLAB graphical user interface for 4拟合结果验证 linear quadrat ic control design[C]//Proc nf Frontiers in Education 依据所得到的拟合方程绘制出如图5所示的萨克斯管钟 Conference. Kansas, MO: [s l].2000: 7-10 [4 TAYLOR J H. MATLAB tools for linear and nonlinear system stability 形轮廓曲线。图6是萨克斯管钟形休的三维实体模型。笔者 theorem implementation[C//Proc of IEEE Conference on Control 依据该三维实体模型,设计出了萨克斯管钟形体的成型模具, Applications. Hartford, CT: [s, n.],1997:42-47 并借助四轴联动的数控加工中心制造出了该模具。对该成型[5 KETAN H S, ADEL M B, ABBASI G Y. Developing variant feature 模具的检測结果表明,该模具的尺寸精度、形状精度,以及过渡 Inudel for design by fealure[ J]. Journal of Engineering Design 处的滑顺性都较目前国内常用的同类模具有较大的提高。 2002.13(2):101-120 (上接第208页) flash memory等。在调试方式下,全部应用代码题,提供完整的集成开发环境是每个嵌入式系统开发人员所期 和数据都定位在RAM中,代码在RMAM中运行;在固化方式待的。Iinx在基于图形界面的特定系统定制平台的研究上 下,代码和数据是存储在非易失性存储器中的,系统启动时要与 Windows操作系统相比还存在差距。因此,要使嵌入式 先将数据搬移到RAM中,而程序代码可在ROM、 flash memory Linux在嵌入式操作系统领域中的优势吏加明显,整体集成开 中运行 发环境还有待提高和完善。本文从应用的角庋详细阐述了当 b)初始化部分不同。固化程序要创建boo模块,此模块被今嵌入式开发的具体步骤。这是嵌入式开发的一般步骤。实 连接作为整个应用系统代码的入口模块。当应用程序在真实践证明交叉开发是嵌入式软件开发行之有效的方法,可以大大 环境下运行时将首先执行该程序,完成对CPU的初始化。在提高嵌入式软件的开发效率 嵌入式环境中,boot模块一般包含初始化芯片的引脚、初始化参考文献 些系统外部控制寄有器、初始化基本LO设备等功能。 [1]安成锦,孙茂阳,李坡,等.基于嵌入式inx系统的Mi(U图形 完成∫上述准备工作,就可以利用编译链接工具生成可固 界面开发「J.现代电子技术,2005,28(20):108-110 化的应用程序;冉用化工具将它固化到目标机的ROMa[2]唐永波,喻建文,绪莲,等基于Lmx嵌入式系统的研完[J memory等非易失性存储器上。当用户启动目标机时,该应用 计算机与数字工程,2005,33(10):98-102 程序就会被自动装入运行。 [3]罗蕾.嵌入式实时操作系统及应用开发[M].北京:北京航空航天 大学出版社,2005:72-88 7结束语 ]阳富民,柯滔,涂刚,等,基于JT'AC抆木的嵌入式交叉调试软件 [J].计算机工程与设计,2005,26(10):2817-2819 其于Linx平台可以方便地进行嵌入式开发。利用Lix[51李允,能光泽,红,普计算终格放备的电源管理技木研究 下免费的开发工具集大大缩短了丌发周期、提高了开发效率。 电子科技大学学报,2001, 30(5):497-502 「6毛德操,胡希明.Iiuⅹ内被源代码情景分析「M.杭州:浙江大学 用户还可以很方便地添加自己所要的功能,其结构具有良好的 妇版社,2001:663-671 移植性。但是由于嵌入式系统应用越来越广泛,对嵌入式产品「71李善平,刘文峄,王焕龙,等,Lmx与嵌入式系统「M1.2版,北 的需求高速增长,其产品开发效率成为开发者首要考虑的问 京:清华大学出版社,2006:187-19

-
2019-07-22
3.48MB
关于嵌入式系统的30篇论文
2007-08-28关于嵌入式系统的30篇论文,学习嵌入式的可以参考一下。
14KB
linux操作系统 嵌入式论文
2018-06-19嵌入式系统凭借着其优质的软硬件平台优势在工程机械和电气自动化控制领域得到了广泛应用,它能使控制系统更加方便、科学。本文通过阐述嵌入式系统在电气自动化控制系统中的应用实现,研究论述了嵌入式系统的实用价值
4.34MB
30篇嵌入式系统经典论文
2020-04-0430篇嵌入式系统经典论文
4.34MB
30篇嵌入式系统论文
2019-05-17都说嵌入式学习难,难于上青天,其实不然,无论学习什么,只要找对了一个好的学习方法,往往会事半功倍。下面我摘自于一个嵌入式前辈,说说他的学习经验。
39KB
嵌入式系统论文
2013-01-17目前,在嵌入式系统应用领域中,但是这个概念并非新近才出现。从20世纪七十年代单片机的出现到今天各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了近30年的发展历史。 嵌入式系统诞生于微
嵌入式LINUX相关论文下载_course
2019-10-24嵌入式LINUX相关论文 为模拟设备开发驱动A Simulation Framework for Device Driver Development 1^^^^^DRIVER ARCHITECTURE
求教??想写一篇嵌入式系统方面的论文。_course
2003-01-23清高手指点一下啊
高并发下的Nginx性能优化实战
2019-12-24【超实用课程内容】 本课程内容包含讲解解读Nginx的基础知识,解读Nginx的核心知识、带领学员进行高并发环境下的Nginx性能优化实战,让学生能够快速将所学融合到企业应用中。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/27216 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程永久有效观看时长,大家可以抓紧时间学习后一起讨论哦~ 【学员专享增值服务】 源码开放 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 下载方式:电脑登录https://edu.csdn.net/course/detail/27216,播放页面右侧点击课件进行资料打包下载
python入门
2018-12-18您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 帮助与数百万年轻人打开人工智能的学习大门!
Python进阶-Pandas数据分析库
2018-12-18您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 Pandas是python中非常常用的数据分析库,在数据分析,机器学习,深度学习等领域经常被使用。本课程会讲解到pandas中最核心的一些知识点,包括Series以及DataFrame的构建,赋值,操作,选择数据,合并等等,以及使用pandas对文件进行读取和写入,使用pandas绘图等等。
JAVA入门精品课程
2018-12-20课程目标: 1、让初学者从小白开始,善于运用知识点,解脱学习的苦恼 2、能够学习更多的工作中使用技巧,成为编程高手
Java系列技术之JavaWeb入门
2018-09-18JavaWeb里的基础核心技术
535KB
2021年数据建模美赛必备LATEX模板
2018-01-272021数模美赛LATEX模板,美赛必备,CTeX,Texlive都可以用~~~~~年份可以任意修改
C/C++程序员实战基础
2019-08-20大数据的入门视频教程
2018-07-26大数据技术入门视频课程,会从基础思想和原理架构开始,全面介绍大数据的思想体系和架构,为学员进一步学习大数据奠定良好的基础。内容涉及大数据的核心问题、大数据核心思想,Google的三篇论文、GFS,Google的分布式文件系统,MapReduce,BigTable、Hadoop和Spark生态体系以及具体应用演示。
2020华为HCIA/HCNA/数通/路由交换/实验/视频/教程/持续更新赠题库
2020-05-25本课程不仅可以帮助大家顺利考取华为HCIA证书,同时技术视频均为理论+实战配套讲解,讲解细致,通俗易懂,资料完整,可以让大家学到实实在在企业用到的网络技术,本课程包含完整的学习资料,视频+PPT课件,能够帮助你快速掌握HCIA数通网络技术,同时视频中3-4视频后面的附件课件包含了HCIA数通考试题库(带答案),适合从零基础学网络考HCIA的同学!
高性能MySQL实战课
2020-05-21限时福利1:原价 129 元,最后2天仅需 69 元!后天涨价至98元 限时福利2:购课进答疑群专享柳峰(刘运强)老师答疑服务 限时福利3:购课添加助教领取价值 800 元的编程大礼包 为什么需要掌握高性能的MySQL实战? 由于互联网产品用户量大、高并发请求场景多,因此对MySQL的性能、可用性、扩展性都提出了很高的要求。使用MySQL解决大量数据以及高并发请求已经是程序员的必备技能,也是衡量一个程序员能力和薪资的标准之一。 为了让大家快速系统了解高性能MySQL核心知识全貌,我为你总结了「高性能 MySQL 知识框架图」,帮你梳理学习重点,建议收藏! 【课程设计】 课程分为四大篇章,将为你建立完整的 MySQL 知识体系,同时将重点讲解 MySQL 底层运行原理、数据库的性能调优、高并发、海量业务处理、面试解析等。 一、性能优化篇: 主要包括经典 MySQL 问题剖析、索引底层原理和事务与锁机制。通过深入理解 MySQL 的索引结构 B+Tree ,学员能够从根本上弄懂为什么有些 SQL 走索引、有些不走索引,从而彻底掌握索引的使用和优化技巧,能够避开很多实战中遇到的“坑”。 二、MySQL 8.0新特性篇: 主要包括窗口函数和通用表表达式。企业中的许多报表统计需求,如果不采用窗口函数,用普通的 SQL 语句是很难实现的。 三、高性能架构篇: 主要包括主从复制和读写分离。在企业的生产环境中,很少采用单台MySQL节点的情况,因为一旦单个节点发生故障,整个系统都不可用,后果往往不堪设想,因此掌握高可用架构的实现是非常有必要的。 四、面试篇: 程序员获得工作的第一步,就是高效的准备面试,面试篇主要从知识点回顾总结的角度出发,结合程序员面试高频MySQL问题精讲精练,帮助程序员吊打面试官,获得心仪的工作机会。
342.37MB
2020美赛C题资料.zip
2020-05-14关于2020年数模美赛c题的,题目,数据,文献资料,一些代码,以及思路和感想。其中在感想部分谈及了C题两种解答方法的对比(评论处理方法,另一种是我们老师带的另外几队拿了H奖的)。我们对这次论文交的比较
反编译Android应用
2015-01-26学习技术的渠道多种多样,而通过反编译一些经典应用来学习是一种比较好的途径,在Android领域,有比较好的反编译工具,本课程将会教大家如何反编译Android应用。
程序员的数学:微积分
2019-09-28本课程介绍程序员必备的数学基础内容,在取材上侧重人工智能、数据分析等热门领域
微信小程序样式开发入门
2019-01-07讲解微信小程序中样式的入门使用,如何使用传统的css知识点来开发wxss的样式;本节课主要讲解在微信小程序中创建样式的几种 写法,元素选择器的基础使用,id选择器和id派生选择器的使用,class类选择器的使用。
8小时Python零基础轻松入门
2020-05-20
-
下载
会议室管理系统(参考答案)
会议室管理系统(参考答案)
-
博客
docker镜像与容器操作
docker镜像与容器操作
-
学院
微信支付2021系列之扫码支付一学就会java版
微信支付2021系列之扫码支付一学就会java版
-
博客
2021-01-20
2021-01-20
-
学院
【数据分析-随到随学】机器学习模型及应用
【数据分析-随到随学】机器学习模型及应用
-
下载
TextToExcel.zip
TextToExcel.zip
-
学院
WPF上位机数据采集与监控系统零基础实战
WPF上位机数据采集与监控系统零基础实战
-
博客
基于java的动漫论坛设计与实现
基于java的动漫论坛设计与实现
-
博客
12-SpringSecurity:通过OAuth2集成Github登录
12-SpringSecurity:通过OAuth2集成Github登录
-
学院
Java学习路线,好的学习路线和好的方法,能让我们少走些弯路
Java学习路线,好的学习路线和好的方法,能让我们少走些弯路
-
下载
LABVIEW条形码读取
LABVIEW条形码读取
-
博客
异常的处理:抓抛模型
异常的处理:抓抛模型
-
学院
Excel高级图表技巧
Excel高级图表技巧
-
学院
【2021】UI自动化测试Selenium3
【2021】UI自动化测试Selenium3
-
下载
二维码生成器(VBA纯代码).zip
二维码生成器(VBA纯代码).zip
-
学院
电商设计专业思维
电商设计专业思维
-
学院
三维地图GIS大数据可视化
三维地图GIS大数据可视化
-
博客
简单c语言 递归 逆转 链表
简单c语言 递归 逆转 链表
-
博客
基于java的动漫论坛设计与实现
基于java的动漫论坛设计与实现
-
下载
HP 3PAR StoreServ 7000 Storage 故障排除指南.pdf
HP 3PAR StoreServ 7000 Storage 故障排除指南.pdf
-
博客
sql注入
sql注入
-
学院
基于X210的裸机时钟温度显示器-第3/3季
基于X210的裸机时钟温度显示器-第3/3季
-
学院
ProBuilder快速原型开发技术
ProBuilder快速原型开发技术
-
下载
GPIOLED_ucosIII_stm32F103C8.rar
GPIOLED_ucosIII_stm32F103C8.rar
-
下载
2DPSK 数字通信系统.pdf
2DPSK 数字通信系统.pdf
-
博客
WPF学习(二):自定义Button控件
WPF学习(二):自定义Button控件
-
学院
转行做IT-第1章 计算机基础
转行做IT-第1章 计算机基础
-
博客
教你怎么写两人合伙入股合同
教你怎么写两人合伙入股合同
-
下载
xq.zip 一个自动进行的象棋对战程序,是毛建,琦和翁,秀的云开发的,很好用
xq.zip 一个自动进行的象棋对战程序,是毛建,琦和翁,秀的云开发的,很好用
-
学院
【数据分析-随到随学】Mysql数据库
【数据分析-随到随学】Mysql数据库