下载后可任意编辑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 3Pmfree (buf) ;坚决避开使用递归函数!使用 malloc 函数时要注意两点:一是要检查返回值是否为 0 ;二是要适时调用 mfree 函数释放内存2.基于 ARM9 嵌入式的多功能无损检测仪硬件以 ARM920T 核的 S3C2410X 嵌入式 CPU 作为核心器件,主要包括存储器扩展电路、传感器检测及信号转换电路、LCD 显示电路、键盘接口电路、通信接口电路、PLL 精确测时电路及声光报警电路LCD 显示电路 : S3C2410X 中内置了 LCD 控制器,它具有...