ARM应用相关论文的13篇参考文献摘录与分析1.ARM嵌入式系统C语言编程在无操作系统支持的嵌入式系统软件中,系统引导(BOOT)、驱动程序、动态内存管理、I/O、通信以及应用软件等的编写,需要结合采用汇编语言(约占10%)和C语言(约占90%)系统引导(BOOT):本部分完成系统初始化工作,用汇编语言实现,包括硬件初始化、栈寄存器的设置、全局变量的初始化或清0、RAM中运行的模块的加载、堆参数的初始化。系统引导模块完成各种初始化工作后,用一条跳转指令进入C的主入口Main,控制权从此移交给了C应用程序内存管理:C语言中动态内存分配与释放主要由malloc和mfree两个标准库函数实现。malloc从系统空闲内存中分配合适的内存块,mfree函数完成内存块的回收。这两个函数一般需要操作系统内核的支持,但在ARM裸平台上,不能直接调用。为此编写了malloc和mfree两个函数,实现动态存储管理的功能。嵌入式系统里,代码区位于只读存储器(如Flash)中,数据区和栈区则位于RAM中,因此代码区和数据区一般并不相连。数据区和栈区是分开的,内存动态管理,需要维护两张全局表,一张是可利用空间表(availlist),管理空闲内存块的信息,另一张是已分配空间表(usedlist),管理占用内存块,用双向循环链表实现,三种不同的分配策略,即首次拟合法、最佳拟合法和最差拟合法系统I/O:把LCD作为字符型终端时,一个关键点是定义好光标驱动程序:外围硬件设备一般通过中断与CPU进行通信中断处理程序的速度对整个系统的性能影响是很大的。这些模块应该直接用汇编语言编写,并尽可能优化算法应用程序:凡是由需操作系统支持的标准库函数均不能使用,除非自己编写(如malloc和mfree)例如:int3buf;if((buf=malloc(20483sizeof(int)))==NULL)returnERROR;P3otherprocessing3Pmfree(buf);坚决避免使用递归函数!使用malloc函数时要注意两点:一是要检查返回值是否为0;二是要适时调用mfree函数释放内存2.基于ARM9嵌入式的多功能无损检测仪硬件以ARM920T核的S3C2410X嵌入式CPU作为核心器件,主要包括存储器扩展电路、传感器检测及信号转换电路、LCD显示电路、键盘接口电路、通信接口电路、PLL精确测时电路及声光报警电路LCD显示电路:S3C2410X中内置了LCD控制器,它具有将显示缓存(在系统存储器中)中的LCD图像数据传输到外部LCD驱动电路的逻辑功能,支持灰度LCD和彩色LCD。检测仪中所使用的LCD显示屏是8寸16bit真彩屏,在S3C2410X中内置的LCD控制器驱动经4块74HC245驱动芯片就可实现S3C2410X与LCD显示屏的接口检测系统的模块化设计:软件设计采用了当前嵌入式开发流行的三层架构体系:(1)面向硬件的驱动层:主要提供硬件的启动、关闭及调节参数,如LCD驱动程序、A/D驱动程序、串行口驱动程序、CAN总线驱动程序、A/D转换器驱动程序等;(2)面向控制的系统层:主要提供对驱动层的功能调用并向用户层提供接口调用;(3)用户层:用户可通过一系列的函数接口,包括对不同传感器的信号采集模块、数字信号处理模块、各种检测的算法及解决方案模块等,以达到对零件或材料的无损检测。另外,检测仪系统采用了基于模块化的设计思想以利于必要时的升级与替代。基于ARM9的多功能无损检测仪采用了嵌入式Linux平台开发,在对Linux的移植时定制内核、定制用户程序、编译Linux(把应用程序和Linux内核一起编译)、烧写映象文件及运行。由于整个过程比较复杂,涉及到汇编程序、C语言程序、驱动程序、程序调试等3.基于ARM的温度控制系统的设计系统的显示采用LCD,设计液晶显示器和控制电路时,必须提供电源驱动、偏压驱动以及LCD显示控制器。由于S3C44B0X本身自带LCD控制器,所以控制电路的设计可以省去显示控制电路,只需进行电源驱动和偏压驱动的电路设计。本系统选用的液晶屏为GPG1624UWE1单色16级灰度的2.7寸液晶屏,与S3C44B0X采用4位单扫描方式连接。此液晶屏的驱动电源是22.6V,这里采用MC34063A电源管理模块,通过R8调节将5V的电压升至22.6V以提供液晶显示屏的驱动电源,如图3所示;偏压电源由系统升压后的电源分压得到,LM324用来稳定电压、增强带载能力,如图4所示。4.基于嵌人式ARM的LCD显示接口的设计在Linux操作系统下,基于帧缓冲的LCD驱动程序的实现方法S3c2410内置的LCD控制器支持单色,,彩色STNLCD屏和彩色TFTLCD屏,本设计是夏普公司的TFT-LCD模块LQ080V3DG01作为显示器,该模块具有640*480的分辨率、18位的颜色深度,与S3c2410的LCD接口直接相连。控制器用来传输视频数据和必要的控制信号。控制器的功能是产生显示驱动信号,驱动显示器。通过读写一系列的寄存器完成对它的配置。S3c2410中的LCD控制器可支持单色、彩色显示器。图2所示为S3c2410控制器内部的逻辑结构,REGBANK是LCD控制器的寄存器组,用来对LCD的各项参数进行设置,LCDCDMA是控制器专用的DMA信道,负责将视频资料从系统总线上取出来,VIDPRCS接受从LCDCDMA来的视频数据并在将其改变到合适数据格式后经VD[23:0]将之送到LCD驱动器,TIMEGEN由可编程逻辑组成,以支持不同LCD驱动器的接口时序和速率的不同要求。TIMEGEN产生VSYNC、HSYNC、VCLK、VDEN信号等。控制寄存器内有寄存器LCDCON1-5。它与模块LQ080V3DG01的接口设置如下:5.ARM嵌入式系统的LCD驱动设计6.基于单片机的监测数据无线传输装置设计与实现无线收发采用PTR2000模块,经过单片机采集、处理并传送到串行口,经PTR2000调制成无线信号发送出去;在监测站端,PTR2000接收监测点PTR2000发射的无线信号,经过解调、CRC校验等处理,再经过MAX232电平转换,传输给监测站端的监测计算机,经计算机处理后显示、存储并作为控制动作的依据。PTR2000无线数据传输模块采用nRF401芯片,FSK调制/解调技术,最高通信速率可达19200b/s,TTL电平可直接与单片机连接,具有较强的抗干扰能力,其引脚说明如下:1、VCC,正电源,2.7~5.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,发射接收控制,TXEN=1发射状态,TXEN=0接收状态。系统中监测点无线传输模块设置为频道1工作,正常工作于发射状态。监测点硬件电路部分原理图如图2所示。监测站端硬件电路设计比较简单,主要涉及到TTL电平串口数据到RS232电平串口数据的转换。其简要原理图如图4所示。监测站端程序设计主要涉及到计算机程序编制,接收串口数据并处理,采用VB编程语言,利用MSComm控件实现对串口数据的实时读取和处理7.基于无线传输且带USB接口的数据采集盒的设计本文提出了一种解决上述问题的方法并设计了一种新的智能化、应用范围广的基于无线传输且带USB接口的数据采集系统。接到主机的数据采集板采用Silabs公司生产的一种带USB接口的微控制器C8051F320作为核心芯片。完成后的数据采集系统具有精度高、功耗低、体积小、抗干扰能力强等特点。无线数据传输可采用建立专用无线数传系统或借用GSM、GPRS、CDMA等公共网信息平台的方法。对于使用GSM、GPRS、CDMA等公共网信息平台的方法,不如无线专用网简单易用,而且受公网业务开通状况及信号覆盖范围的影响,能否在某处使用,完全取决于运行商的系统建设情况,不如无线专网灵活,另外它的运行费用较高,GPRS是按流量计费,一些无用的信息也会被计费,在节假日时公网系统的负荷会达到高峰(如短信、彩信等成倍增长),系统及网络堵塞严重,信息不畅,不能及时发送或收到有用信息,实时性较差。本文中拟采用ISM通用数传频率433MHz的无线数传模块传送采集到的数据,成本较低且适应性较强。本文无线传输部分采用带UART接口的无线数传模块实现,核心芯片为CHIPCON公司生产的CC1020无线收发芯片,利用ISM通用数传频率433MHz作为传输信道。采集板的原理图,提供了P2.0到P2.3口上的4个按键作为用户设定使用,P2.4和P2.5作为LED指示灯可用于指示电路板工作状态,S1为复位按键,J4为调试用JTAG接口,通过带USB接口的EC-5串行适配器和Silabs提供的IDE调用KeilC51程序可完成系统的在线调试以及固件程序的写入和擦出。通过J2和J8以及固件设定可调整系统使用USB供电或者外部5V电源供电,用片内稳压器将VREGIN脚提供的5V电源转化为VDD脚上的3V电源以满足其它部件供电。因为USB接口提供的最大电流为500mA所以当系统功率较大时应使用外部5V电源供电。J6接口为外接无线数传模块接口。J3为USB接口。8.矿井下实时温度监测和无线传输系统的设计与实现(和6一样的模块)无线数据传输模块PTR2000实现了人机交互控制9.嵌入式Linux挑战与发展并存了解Linux的好文章10.嵌入式Linux系统的研究及其在串口通信中的应用系统内核的分析:Linux系统使用了单一内核结构,即操作系统中所有的系统相关功能都被封装在内核中。程序通过一套称作系统调用(SystemCall)的界面访问内核结构。在Linux中,可以动态装人和卸载内核中的部分模块。Linux内核由5部分组成:进程管理、内存管理、文件系统管理、进程间通信和网络接口。典型的嵌人式Linux操作系统:第一类有ucLinux等,它是为了支持没有MMU(内存管理单元)的处理器而对标准Linux作出的修正。林CUn以保留了Linux的大多优点:稳定、良好的移植性,优秀的网络功能,对各种文件系统的支持,以及标准丰富的API等。第二类是将Linux开发成实时系统尤其是硬(Firm)实时系统,应用于一些关键的控制场合,如RTLinux。嵌入式平台及开发环境的建立:HFRK2410开发板是基于三星公司53C2410高性能ARM处理器的嵌人开发平台,CPU采用S3C2410ARM92oT。开发过程:Linux下建立交叉编译器,在window,操作系统中用ADS开发工具实现启动程序,在Linux操作系统下,用交叉编译器进行Linux内核、库函数及应用程序的编译。BootLoader代码分析:嵌人式系统中,Boot肠ader是在操作系统内核或用户应用程序运行之前运行一段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。大多数Boot肠ader都包含两种不同的操作模式:“启动加载”模式和“下载”模式。启动加载(Boot肠ading)模式:也称为“自主”模式。即Boot助ader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。这种模式是Boot肠ader的正常工作模式,在嵌人式产品发布的时候,BootLoader显然必须工作在这种模式下。下载(Downfoading)模式:在这种模式下,目标机上的Boot肠ader将通过串口连接或网络连接等通信手段从主机下载文件。从主机下载的文件通常首先被Boot肠ader保存到目标机的RAM中,然后再被Boot肠ader写到目标机上的nash类固态存储设备中。Boot肠ader的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用Boot玩ade:的这种工作模式。工作于这种模式下的Boot助ade:通常都会向它的终端用户提供一