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)returnER