ARM应用相关论文的13篇参考文献摘录与分析

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中,因此代码区和数据区一般并不相连。数据区和栈区是分开的,内存动态 管理,需要维护两张全局表,一张是可利用空间表(avail list) ,管理空闲内存块的信息,另 一张是已分配空间表(used list) ,管理占用内存块,用双向循环链表实现,三种不同的分 配策略,即首次拟合法、最佳拟合法和最差拟合法 系统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 函数时要注意两点:一是要检查返回值是否为0 ;二是 要适时调用mfree 函数释放内存
2.基于ARM9嵌入式的多功能无损检测仪 硬件以ARM920T核的S3C2410X嵌入式CPU作为核心器件,主要包括存储器扩展电路、传感
器检测及信号转换电路、LCD显示电路、键盘接口电路、通信接口电路、PLL精确测时电路及 声光报警电路 LCD显示电路: S3C2410X中内置了LCD 控制器,它具有将显示缓存(在系统存储器中)中的LCD图像数据传输 到外部LCD驱动电路的逻辑功能,支持灰度LCD和彩色LCD。检测仪中所使用的LCD显示屏是8 寸16 bit真彩屏,在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 通用数传频 率 433 MHz 的无线数传模块传送采集到的数据,成本较低且适应性较强。本文无线传输部分 采用带 UART 接口的无线数传模块实现,核心芯片为 CHIPCON 公司生产的 CC1020 无线收发芯 片,利用 ISM 通用数传频率 433 MHz 作为传输信道。 采集板的原理图,提供了 P2.0 到 P2.3 口上的 4 个按键作为用户设定使用,P2.4 和 P2.5 作为 LED 指示灯可用于指示电路板工作状态,S1 为复位按键,J4 为调试用 JTAG 接口,通过带 USB 接口的 EC-5 串行适配器和 Silabs 提供的 IDE 调用 KeilC51 程序可完成系统的在线调试以及 固件程序的写入和擦出。通过 J2 和 J8 以及固件设定可调整系统使用 USB 供电或者外部 5 V 电源供电,用片内稳压器将 VREGIN 脚提供的 5 V 电源转化为 VDD 脚上的 3 V 电源以满足其它 部件供电。因为 USB 接口提供的最大电流为 500 mA 所以当系统功率较大时应使用外部 5 V 电源供电。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:通常都会向它的终端用户提供一个简单的命令行 接口。
11. 森林环境因子的自动监测和无线传输 传输模块方式
12. 一种基于无线传输的分布式数据采集和控制系统 以 AT89C2051 单片机为核心,采用运算放大器 LM324、TLC1549 10 b 串行 A/D 转换器和深圳 友讯达公司生产的 FC 201E 无线数传电台,实现了把从多路传感器采集来的信号,经过一系列 的处理传到 PC 机上,从而构成了由单片机和 PC 机组成的分布式数据采集和控制系统 通信协议
13. 基于 ARM9 处理器的嵌入式开发平台的设计与实现 王成 大连理工大学研究生网络学刊,2005.
移植的概念 在同一个硬件平台上可以嵌入不同的嵌入式操作系统,就好比 PC 机既可以安装 Windows 又 可以安装 Linux 一样。同样,有些操作系统经过移植后可以运行在不同的硬件平台上。如果 一个系统可以在不同硬件平台上运行,那么这个系统就是可移植的。使某一个平台的代码运 行在其它平台上的过程就叫做移植。本设计中使用的 Linux 操作系统就可以通过移植,使之 运行在 ARM、PowerPC、M68k 等多种硬件平台上。为什么要进行移植呢?在 Linux 系统内核 代码中有 acrh 目录,其中包含了不同平台的代码,arch 目录中的代码的确是为了多平台设 计 并 使 用 的 , 与 体 系 结 构 相 关 的 代 码 都 存 放 在 arch<architecture>/ 和 include/asm-<architecture>/目录中,<architecture>是 Linux 支持的体系结构的简称。

比如说,ARM 体系结构对应的简称是 arm。与这种体系结构相关的代码都存放在 arch/arm/ 以及 include/asm-arm/目录下。众所周知,嵌入式系统是“硬件可裁剪”的,因此工程师 设计的硬件电路会有所不同,从而这些代码可能无法正确运行(比如内核解压的地址不同), 这里必须要做的就是结合本设计的硬件电路,对已有的内核代码进行修改移植。 Bootloader 的功能
嵌入式系统的初始化、加载过程和 PC 机在原理上是一样的,因此在一个嵌入式系统中 需要设计者提供一个与 BIOS 功能相类似的软件通常叫做 Bootloader (引导加载程序),是 系统上电后运行的第一段代码。一般它只在系统启动时运行非常短的时间,但对于嵌入式系 统来说,这是一个非常重要的系统组成部分。在基于 ARM 的嵌入式系统中,整个系统在上电 或复位时通常都从地址 ox00000000 处开始执行,而在这个地址处安排的通常就是系统的 Bootloader。通过这段小程序可以初始化硬件设备,建立内存空间的映射图,从而将系统的 软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 Boot1oader 的启动大多数都分为两个阶段。第一个阶段主要包括依赖于 CPU 体系结构的硬 件初始化代码,通常都用汇编语言来实现。这个阶段的任务有: (1)基本硬件设备初始化(屏蔽所有中断、关闭处理器内部指令/数据 cache 等) (2)为第二阶段贮备 RAM 空间 (3)如果是在某个固态存储媒质中,则复制 Bootloader 的第二阶段代码到 RAM (4)设置堆栈 (5)跳转到第二阶段的 C 程序入口点 第二阶段通常用 C 语言完成,以便实现更复杂的功能,也使程序有更好的可读性和移植性。 这个阶段的任务有: (1)初始化本阶段要使用到的硬件设备 (2)检测系统内存映射 (3)将内核映象和根文件系统映象从 Flash 读到 SDRAM (4)为内核设置启动参数 (5)调用内核 Linux 内核结构 Linux 内核主要由 5 个子系统组成:进程调度、内存管理、虚拟文件系统、网络接口、进程 间通信。 本 设 计 中 使 用 的 是 2.4.18 版 本 的 Linux 内 核 。 一 般 在 Linux 系 统 中 的 /usr/src/Linux-*.*.*(*.*.*代表内核版本,如 2.4.18)目录下就是内核源代码。Linux 内 核非常庞大,包括驱动程序在内有数百兆之多。 /arch 子目录包含了所有硬件结构特定的内核代码。如 i386,alpha 和 arm /drivers 子目录包含了内核中所有的设备驱动程序,如 usb 和 sound /fs 子目录包含了所有的文件系统的代码。如 ntfs,ext3 和 jffs2 等 /include 子目录包含了建立内核代码时所需的大部分库文件,也包括了不同平台需要的库 文件。比如,asm-arm 是 arm 平台需要的库文件 /init 子目录包含了内核的初始化代码,内核从此处工作 /ipc 子目录包含了进程间通信代码 /kemel 子目录包含了主内核代码 /mm 子目录包含了所有内存管理代码 /net 子目录包含了和网络相关的代码。如 atm,ipv6 等 一般在每个目录下都有一个 depend 文件和一个 Makefile 文件。这两个文件都是编译时使用 的辅助文件。其中 Makefile 文件中指出了编译时需要用到的编译器,也是移植内核过程中

不可缺少的。 根目录的移植 根目录下需要修改 Makefile 文件,这个 Makefile 文件的任务有两个:产生 vmlinux 文件和 产生内核模块。为了达到此目的,Makefile 将递归进入到内核的各个子目录中,分别调用 位于这些子目录中的 Makefile。内核如何编译是根据 Makefile 文件的指示进行的,可以在 这个文件中指定使用的编译器等信息。Makefile 用来组织内核的各模块,记录了各模块间 的相互联系和依赖关系。打开最上层目录下的 Makefile 文件,这个文件中需要修改的内容 包括以下两方面: 指定目标平台 指定交叉编译器 acrh 目录的移植


相关文档

基于ARM工作原理的ARM启动过程分析与应用研究 论文
ARM映像文件机理分析及其应用论文
嵌入式系统分析课程论文
农科论文中参考文献的应用状况剖析
ARM启动过程分析及应用研究毕业论文
嵌入式参考文献毕业论文文献
论文-嵌入式系统软件可靠性分析
论文:基于AgentX嵌入式系统网管框架的分析与实现
ARM启动过程分析及应用研究(毕业论文)
基于ARM2110的体重均衡测试分析系统的设计论文终稿
电脑版