版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ARM应用相关论文的13篇参考文献摘录与分析1 . ARM嵌入式系统C语言编程在无操作系统支持的嵌入式系统软件中,系统引导(BOOT)、驱动程序、动态内存管理、I/O、通信以及应用软件等的编写,需要结合采用汇编语言(约占10 %)和C语言(约占90 %)系统引导(BOOT):本部分完成系统初始化工作,用汇编语言实现,包括硬件初始化、栈寄存器的设置、全局变 量的初始化或清0、RA肺运行的模块的加载、堆参数的初始化。系统引导模块完成各种初始 化工彳后,用一条跳转指令进入 C的主入口 Main ,控制权从此移交给了 C应用程序 内存管理:C语言中动态内存分配与释放主要由malloc和mfree两个标
2、准库函数实现。malloc从系统空闲内存中分配合适的内存块,mfree函数完成内存块的回收。这两个函数一般需要操作系统内核的支持,但在ARM裸平台上,不能直接调用。为此编写了 malloc和mfree两个函数, 实现动态存储管理的功能。嵌入式系统里,代码区位于只读存储器(如Flash)中,数据区和栈区则位于RAMK因此代码区和数据区一般并不相连。数据区和栈区是分开的,内存动态 管理,需要维护两张全局表,一张是可利用空间表(avail list),管理空闲内存块的信息,另一张是已分配空间表(used list),管理占用内存块,用双向循环链表实现,三种不同的分配策略,即首次拟合法、最佳拟合法和最
3、差拟合法 系统I/ O :把LCD作为字符型终端时,一个关键点是定义好光标 驱动程序:外围硬件设备一般通过中断与 CPU进行通信中断处理程序的速度对整个系统的性能影响是很大的。这些模块应该直接用汇编语言编写,并尽可能优化算法应用程序:凡是由需操作系统支持的标准库函数均不能使用,除非自己编写(如malloc和mfree)例如:int 3 buf;if ( (buf = malloc (2048 3 sizeof (int) ) ) = = NULL) return ERROR;P3 other processing 3P mfree (buf);坚决避免使用递归函数!使用malloc函数时要注意
4、两点:一是要检查返回值是否为 0 ;二是要适时调用mfree函数释放内存2 .基于ARM嵌入式的多功能无损检测仪硬件以ARM920核的S3c2410献入式CPU为核心器件,主要包括存储器扩展电路、传感 器检测及信号转换电路、LC况示电路、键盘接口电路、通信接口电路、PLL精确测时电路及声光报警电路 LCD1示电路:S3c24102内置了 LCD控制器,它具有将显示缓存 (在系统存储器中)中的LCDB像数据传输 到外部LCD区动电路的逻辑功能,支持灰度LC百口彩色LCD)检测仪中所使用的LCD1示屏是8寸16 bit真彩屏,在S3c2410却内置的LC曲制器驱动经4块74HC245驱动芯片就可实
5、现 S3c2410X< LC而示屏的接口 检测系统的模块化设计:软件设计采用了当前嵌入式开发流行的三层架构体系:(1)面向硬件的驱动层:主要提供硬件的启动、关闭及调节参数,如LCDM动程序、A /D驱动程序、串行口驱动程序、CAN、线驱动程序、A /D转换器驱动程序等;(2)面向控制的系统层:主要提供对驱动层的功能调用并向用户层提供接口调用;(3)用户层:用户可通过一系列的函数接口,包括对不同传感器的信号采集模块、数字信号处理模块、各种检测的算法及解决方案模块等,以达到对零件或材料的无损检测。另外,检测仪系统采用了基于模块化的设计思想以利于必要时的升级与替代。基于ARM9多功能无损检测仪
6、采用了嵌入式Linux平台开发,在对Linux的移植时定制内核、定制用户程序、编译 Linux(把应用程序和Linux内核一起编译)、烧写映象文件及运行。 由于整个过程比较复杂, 涉及到汇编程序、C语言程序、驱动程序、程序调试等3 .基于ARM的温度控制系统的设计系统的显示采用LCD设计液晶显示器和控制电路时,必须提供电源驱动、偏压驱动以 及LCD显示控制器。由于 S3c44B0X本身自带LCD控制器,所以控制电路的设计可以省去显 示控制电路,只需进行电源驱动和偏压驱动的电路设计。本系统选用的液晶屏为GPG1624UWE1单色16级灰度的2.7寸液晶屏,与S3c44B0X采用4位单扫描方式连接
7、。 此液晶屏的驱动电 源是22.6V,这里采用MC34063A电源管理模块,通过R虢节将5V的电压升至22.6V以提供液 晶显示屏的驱动电源, 如图3所示;偏压电源由系统升压后的电源分压得到,LM324用来稳定电压、增强带载能力,如图 4所示。VCC5OV门EHLOOtFyoc TCn-Cl I1 丰MCJW3A | 叫5图4 LCD偏压电源枇路因3 LCD驱动电源电路4 . 基于嵌人式ARMLC况示接口的设计 在Linux操作系统下,基于帧缓冲的LCLB动程序的实现方法S3c2410内置的LCDS制器支持单色,彩色STNLC屏和彩色TFTLCDI,本设计是夏普公司的 TFT-LCD莫块LQ0
8、80V3DG01为显示器,该模块具有640*480的分辨率、18位的颜色深度,与S3c2410的LC源口直接相连。VD23:DLCDVF0 LCDVF | LCDVF2VCLK HSYNC VSYNCVDEN控制器用来传输视频数据和必要的控制信号。控制器的功能是产生显示驱动信号,驱动显示器。通过读写一系列的寄存器完成对它的配置。S3c2410中的LCD!制器可支持单色、 彩色显示器。图2所示为S3c2410控制器内部的逻辑结构,REGBAN雇LC货制器的寄存器组,用来对 LCD勺各项参数进行设置,LCDCDMA控制器专用的DMA1道,负责将视频资料从系统总线上 取出来,VIDPRC蔽受从LCD
9、CDMA的视频数据并在将其改变到合适数据格式后经VD23: 0将之送到LC窗区动器IMEGENfc可编程逻辑组成,以支持不同LCD!动器的接口时序和速率的 不同要求。TIMEGEIT生 VSYNC HSYNC VCLK VDENf号等。控制寄存器内有寄存器 LCDCON1-5它与模块LQ080V3DG0的接口设置如下:5 . ARM嵌入式系统的LCD驱动设计6 .基于单片机的监测数据无线传输装置设计与实现无线收发采用PTR2000模块,经过单片机采集、处理并传送到串行口,经PTR2000调制成无线信号发送出去;在监测站端,PTR2000接收监测点PTR2000发射的无线信号,经过解调、CRC
10、校验等处理,再经过MAX232电平车t换,传输给监测站端的监测计算机,经计算机处理后显示、存储并作为控制动作的依据。PTR2000无线数据传输模块采用nRF401芯片,FSK调制/解调技术,最高通信速率可达19200b/s,TTL电平可直接与单片机连接,具有较强的抗干扰能力,其引脚说明如下:1、VCC, 正电源,2. 75. 25V; 2、CS,频道选择,CS=0选择工彳频道 1(433.92MHz),CS=1选择频道2(434. 33MHz); 3 、DO,数据车出;4、DI,数据车入;5、GND地;6、PWR节能控制,PWR=0 低功耗待机,PWR=1正常工作;7、TXEN发射接收控制,T
11、XEN=1发射状态,TXEN=0接收状态。 系统中监测点无线传输模块设置为频道1工作,正常工作于发射状态。监测点硬件电路部分原理图如图2所示。监测站端硬件电路设计比较简单,主要涉及到TTL电平串口数据到 RS232电平串口数据的转换。其简要原理图如图 4所示。JI监测站端程序设计主要涉及到计算机程序编制,接收串口数据并处理,采用VB编程语言,利用MSComm件实现对串口数据的实时读取和处理7 .基于无线传输且带 USB接口的数据采集盒的设计本文提出了一种解决上述问题的方法并设计了一种新的智能化、应用范围广的基于无线传输且带USB接口的数据采集系统。接到主机的数据采集板采用Silabs公司生产的
12、一种带 USB接口的微控制器 C8051F320作为核心芯片。完成后的数据采集系统具有精度高、功耗低、体积小、抗干扰能力强等特点。无线数据传输可采用建立专用无线数传系统或借用GSM GPRS CDM将公共网信息平台的方法。对于使用GSM GPRS CDM懈公共网信息平台的方法,不如无线专用网简单易用,而且受 公网业务开通状况及信号覆盖范围的影响,能否在某处使用,完全取决于运行商的系统建设情况,不如无线专网灵活,另外它的运行费用较高,GPRS是按流量计费,一些无用的信息也会 被计费,在节假日时公网系统白负荷会达到高峰(如短信、彩信等成倍增长),系统及网络堵塞严重,信息不畅,不能及时发送或U到有用
13、信息,实时性较差。本文中拟采用ISM通用数传频率433 MHz的无线数传模块传送采集到的数据,成本较低且适应性较强。本文无线传输部分采用带UAR假口的无线数彳模块实现,核心芯片为CHIPCO松司生产的CC1020无线收发芯 片,利用ISM通用数彳频率433 MHz作为传输信道。采集板的原理图,提供了 P2.0到P2.3 口上的4个按键作为用户设定使用,P2.4和P2.5作为 LED指示灯可用于指示电路板工作状态,S1为复位按键,J4为调试用JTAG接口,通过带USB接口的EC-5串行适配器和 Silabs提供的IDE调用KeilC51程序可完成系统的在线调试以及 固件程序的写入和擦出。通过J2
14、和J8以及固件设定可调整系统使用USB供电或者外部5 V电源供电,用片内稳压器将 VREGIN却提供的5 V电源转化为VDD却上的3 V电源以满足其它 部件供电。因为 USB接口提供的最大电流为500 mA所以当系统功率较大时应使用外部5 V电源供电。J6接口为外接无线数传模块接口。J3为USB接口。工二5HLDD- VBU5VRLGIGN 口CSO5IF12O敦置渐近仃15 GM眼。7MtJk6 一样的模块)8 .矿井下实时温度监测和无线传输系统的设计与实现(和无线数据传输模块 PTR2000实现了人机交互控制9 .嵌入式Linux挑战与发展并存了解Linux的好文章10 .嵌入式Linux
15、系统的研究及其在串口通信中的应用 系统内核的分析:Linux系统使用了单一内核结构,即操作系统中所有的系统相关功能都被封装在内核中。程序通过一套称作系统调用(SystemCall)的界面访问内核结构。在Linux中,可以动态装人和卸载内核中的部分模块。Linux内核由5部分组成:进程管理、内存管理、文件系统管理、进程间通信和网络接口。典型的嵌人式Linux操作系统:第一类有ucLinux等,它是为了支持没有MMU内存管理单元)的处理器而对标准 Linux作出的修正。林CUn以保留了 Linux的 大多优点:稳定、良好的移植性,优秀的网络功能,对各种文件系统的支持,以及标准丰富 的API等。第二
16、类是将Linux开发成实时系统尤其是硬(Firm)实时系统,应用于一些关键的 控制场合,如 RTLinux。嵌入式平台及开发环境的建立:HFRK2410开发板是基于三星公司 53C2410高性能ARM处理器的嵌人开发平台,CPU采用S3c2410ARM920T开发过程:Linux下建立交叉编译器,在 window,操作系统中用 ADS开发 工具实现启动程序, 在Linux操作系统下,用交叉编译器进行 Linux内核、库函数及应用程 序的编译。 BootLoader代码分析: 嵌人式系统中,Boot肠ader是在操作系统内核或用户应用程序运行之前运行一段小程序, 可以初始化硬件设备、建立内存空间
17、的映射图,从而将系统的软硬件环境带到一个合适的状 态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。大多数Boot肠ader都包含两种不同的操作模式:“启动加载”模式和“下载”模式。启动加载(Boot肠ading)模式:也称为“自主”模式。即 Boot助ader从目标机上的某个固态存储设备上将操作系统 加载到RAW运行,整个过程并没有用户的介入。这种模式是Boot肠ader的正常工作模式,在嵌人式产品发布的时候,BootLoader显然必须工作在这种模式下。下载 (Downfoading)模式:在这种模式下,目标机上的Boot肠ader将通过串口连接或网络连接等通信手段从主机下载文
18、件。从主机下载的文件通常首先被Boot肠ader保存到目标机的 RAM中,然后再被Boot肠ader写到目标机上的 nash类固态存储设备中。Boot肠ader的这种模式通常在第一 次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用Boot玩ade:的这种工作模式。工作于这种模式下的 Boot助ade:通常都会向它的终端用户提供一个简单的命令行 接口。11 .森林环境因子的自动监测和无线传输传输模块方式12 . 一种基于无线传输的分布式数据采集和控制系统以AT89C2051单片机为核心,采用运算放大器 LM324 TLC1549 10 b串行A/D转换器和深圳 友讯达公司生产的FC2
19、01E无线数传电台,实现了把从多路传感器采集来的信号,经过一系列的处理传到PC机上,从而构成了由单片机和PC机组成的分布式数据采集和控制系统通信协议13 .基于ARM9处理器的嵌入式开发平台的设计与实现王成大连理工大学研究生网络学刊,2005.移植的概念在同一个硬件平台上可以嵌入不同白嵌入式操作系统,就好比PC机既可以安装Windows又可以安装Linux 一样。同样,有些操作系统经过移植后可以运行在不同的硬件平台上。如果一个系统可以在不同硬件平台上运行,那么这个系统就是可移植的。使某一个平台的代码运行在其它平台上的过程就叫做移植。本设计中使用的Linux操作系统就可以通过移植,使之运行在AR
20、M PowerPC M68k等多种硬件平台上。为什么要进行移植呢?在 Linux系统内核 代码中有acrh目录,其中包含了不同平台的代码,arch目录中的代码的确是为了多平台设计并使用的,与体系结构相关的代码都存放在 arch<architecture>/ 和 include/asm-<architecture>/目录中,architecture 是 Linux 支持的体系结构的简称。比如说,ARM体系结构对应的简称是arm。与这种体系结构相关的代码都存放在arch/arm/以及include/asm-arm/目录下。众所周知,嵌入式系统是“硬件可裁剪”的,因此工程师设
21、计的硬件电路会有所不同,从而这些代码可能无法正确运行(比如内核解压的地址不同),这里必须要做的就是结合本设计的硬件电路,对已有的内核代码进行修改移植。 Bootloader 的功能嵌入式系统的初始化、加载过程和PC机在原理上是一样的,因此在一个嵌入式系统中需要设计者提供一个与BIOS功能相类似的软件通常叫做Bootloader (引导加载程序),是系统上电后运行的第一段代码。一般它只在系统启动时运行非常短的时间,但对于嵌入式系统来说,这是一个非常重要的系统组成部分。在基于ARM勺嵌入式系统中,整个系统在上电或复位时通常都从地址ox00000000处开始执行,而在这个地址处安排的通常就是系统的B
22、ootloader 。通过这段小程序可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 Boot1oader的启动大多数都分为两个阶段。第一个阶段主要包括依赖于CPU体系结构的硬件初始化代码,通常都用汇编语言来实现。这个阶段的任务有:(1)基本硬件设备初始化(屏蔽所有中断、关闭处理器内部指令/数据cache等)(2)为第二阶段贮备RAM空间 如果是在某个固态存储媒质中,则复制 Bootloader的第二阶段代码到 RAM (4)设置堆栈 (5)跳转到第二阶段的 C程序入口点 第二阶段通常用C语言完成,以便实现更复杂的功能,也使程序有更好的可读性和移植性。 这个阶段的任务有: (1)初始化本阶段要使用到的硬件设备 (2)检测系统内存映射 (3)将内核映象和根文件系统映象从Flash读到SDRAM(4)为内核设置启动参数 (5)调用内核 Linux内核结构 Linux内核主要由5个子系统组成:进程调度、内存管理、虚拟文件系统、网络接口、进程 间通信。本设计中使用的是2.4.18 版本的 Linux 内核。一般在 Linux 系统中的 /u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年小学生走进大自然植物观察日记
- 脑梗塞患者的心理护理与支持
- 2026年应急预案编制与管理规范
- 2026年校长返岗后学校后勤精细化管理
- 热点七“反向接话”亲子互动(练习)-高考语文高频热点命题练习卷
- 生态旅游可持续发展规划协议
- 2026年职场贵人识别与职场人脉分层管理
- 咖啡烘焙设备维修保养协议书
- 瑜伽普拉提赛事裁判培训合同2026年
- 压力管理咨询服务协议书
- 上海市闵行区2024-2025学年高三上学期学业质量调研(一模)地理试题(含答案)
- 2026年电气工程及其自动化试题预测试卷含答案详解【研优卷】
- 湖南省长郡教育集团2026届中考四模历史试题含解析
- 2026年临床医学检验临床基础检验模拟题库附参考答案详解(完整版)
- 2026中国武夷实业股份有限公司招聘笔试历年参考题库附带答案详解
- 2026年二级注册计量师提分评估复习及答案详解【新】
- 电梯使用管理与维修保养规则
- 国企运营岗位招聘笔试题
- 2025-2030中央空调系统节能改造项目经济效益测算及推广实施细则
- 环境监测数据质量管理制度-环境检测机构模版-2026版
- 部编版道德与法治2年级下册《少年当自强》教学设计
评论
0/150
提交评论