首页 > 编程知识 正文

arm嵌入式系统原理及应用开发,arm嵌入式系统结构与编程 pdf

时间:2023-05-06 08:36:01 阅读:207085 作者:401

基于ARM的嵌入式系统与C语言编程的结合是无操作系统支持的嵌入式系统应用边界扩展的体现。本文从介绍嵌入式系统和ARM概念入手,引出基于ARM的嵌入式系统的与C语言编程的应用结合点,重点分析了在ARM嵌入式平台上进行C语言编写系统软件和应用软件的方法,希望为软件编程人员提供一些思考。

随着计算机技术尤其是计算机信息控制技术的深入发展,嵌入式技术得以出现,并已在众多消费类电子产品中得到成熟应用,如汽车电子设备、视频电子产品、智能家电等,目前正在向装备制造业领域、工业自动化控制、航天产品、网络等高端领域蔓延。而ARM(Advanced RISC Machines)作为嵌入式处理器中的高端代表,其奠定了嵌入式系统的强大动力。由于嵌入式开发的一个核心特点是其本身不具备自我开发能力,而是必须借助一套专门的开发工具和某种程序环境来实现,而C语言环境和C语言编程正是为嵌入式系统开发提供了某些条件,与此同时ARM嵌入式系统也为基于C语言的系统软件和应用软件编写提供了良好平台。本文就从介绍嵌入式系统和ARM概念入手,引出基于ARM的嵌入式系统的与C语言编程的结合点,重点分析了在ARM嵌入式平台上进行C语言编写系统软件和应用软件的方法,具有一定的价值。

一、嵌入式系统及ARM概念介绍

嵌入式系统也即嵌入式计算机系统,主要用于对机器装置乃至大型厂房等进行控制或监视,其特点可与普通的PC机系统对比来体现:一是PC机系统面向大众和大部分行业领域,而嵌入式计算机系统一般只针对特定应用;二是PC机系统的软件一般存储于磁盘或硬盘当中,而嵌入式系统软件则基本上固化在存储器芯片或单片机上;三是嵌入式系统要依赖一套专门的开发工具或编程环境来实现间接开发。嵌入式系统也同PC机一样由操作软件和应用软件组成,总的来看,其架构包含了嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件,而这其中嵌入式处理器如同PC机的CPU,是整个嵌入式系统的核心部件。ARM系列微处理器便是嵌入式处理器中的佼佼者,其因处理速度快、功耗低且价格低廉而拥有着良好的应用前景,目前基ARM微处理器已广泛应用于电子产品、通信网络系统和军事系统等领域。

二、基于ARM嵌入式系统的C语言编程研究

由于当前ARM嵌入式系统涉及到的诸如系统引导、外围驱动程序、存储管理以及一些应用程序等90%需要应用到C语言或C语言编程环境,因此分析ARM嵌入式系统与C语言编程之间的关系以及二者之间技术融合可以从系统引导、外围驱动程序、类似存储管理等几个方面来着手。

(一)main函数与系统引导

main函数导源出C语言,然而嵌入式系统由于缺乏操作系统内核,所以对main函数的初始化往往需要借助系统引导模块来完成,而汇编语言正是完成系统引导系统初始化工作的关键程序。系统引导模块在完成各种初始化任务后,通过一条跳转指令进入C的主入口main,从而实现了C应用程序的控制权转移。由此可见,ARM嵌入式系统与C语言编程的技术结合点在于系统引导实现控制权转移至C的main函数。

(二)存储管理

ARM嵌入式系统下的存储管理,主要是指动态的内存管理,malloc和free两个标准库函数的主要功能是实现C语言中动态内存分配与释放。Malloca是从系统空闲内存中分配合适的内存块,而free函数则是负责回收这些内存块。由于以上两个函数需要借助操作系统内核来实现功能,而在ARM裸平台上无法实现就地调用,因此需要编写m_alloc和_free两个函数,以实现动态的管理。

(三)外围驱动程序设计

C语言驱动程序一般指的是中断处理程序设计以及基础之上的驱动程序设计。嵌入式系统的外围设备通常是以实现与CPU中断来进行通信,而中断中出现的各种变量会因处理不及时或不当而影响到全局变量的优化,而这大大会影响到系统的运行稳定性和效率,解决办法是在声明变量时增添volatile修饰符以通知编译器存在一个可能被异步时间改变的量,通过编译器功能来实现编程指令的优化。

三、结语

本文在此只介绍了几种具有代表性的ARM嵌入式系统与C语言编程的结合点,除此还有诸如应用程序设计中,嵌入式平台上的应用程序设计常常面临着标准库函数无法直接借用和内存资源有限带来的栈容量无法自动扩展的设计难题,而借助C语言编程很好地解决了这一问题。也就是,ARM嵌入式系统与C语言编程的结合,解决了许多嵌入式系统存在的关键问题,这大大提高了嵌入式技术水平和系统的完善度。相信随着嵌入式软件的不断增多和成熟,ARM嵌入式系统将得到越来越多的应用。
文章来源于网络

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。