微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM嵌入式系统的软件开发方法

ARM嵌入式系统的软件开发方法

时间:11-22 来源:互联网 点击:

ARM嵌入式系统在硬件选型和PCB硬件平台设计完成之后,就可以根据硬件和应用的需求,开始软件系统的功能和结构设计了。一般而言,嵌入式系统的软件可以采用两种,一种是缺少操作系统的嵌入式控制系统软件,另一种是在具备嵌入式操作系统情况下的嵌入式软件。

例如,有些系统的ARM芯片上运行Linux等操作系统;而另外一些ARM芯片上使用的却是不带操作系统的软件,如使用ADS开发的ARM Evaluator,其程序的运行通过板载程序配合下载程序实现。不过嵌入式操作系统在嵌入式系统中的作用日显重要,它可以为嵌入式系统开发人员提供一个基本的软件开发和运行的支撑平台,从而大大减小复杂嵌入式系统的开发难度和开发周期,增强系统的稳定性,降低开发和维护成本。

1. 软件开发流程

  ARM嵌入式软件的一般开发过程是:设计目标硬件板,建立嵌入式Linux开发环境,编写、调试Boot-loader,编写、调试Linux内核,编写、调试应用程序,调试ARM板。Boot-loader用于初始化目标板、检测目标板和引导Linux内核。高速BDM(BackgroundDebug Mode,背景调试模式)/JTAG接口用于目标板开发,它可以检测目标板硬件、初始化目标板、调试Boot-loader和BSP,如图所示。

  图 嵌入式软件开发流程

在嵌入式Linux开发过程中,选择好的嵌入式Linux开发平台和调试工具可以极大地提高嵌入式Linux开发效率。嵌入式系统的特点是系统资源小,因此具体目标板的设备驱动程序(Device Driver)需要定制,BDM /JTAG调试工具是开发Linux内核的很好手段。调试工具利用CPU的JTAG接口,对运行程序进行监控,不占用系统的其他资源。

从软件开发的角度出发,一个嵌入式Linux系统可以分为4个层次。

  (1)引导和加载Linux内核的程序,主要是用户自己编制的Boot-loader程序。Boot-loader的功能相当于PC的BIOS,在硬件板一加电后就开始运行,它要用串行电缆把PC与硬件开发板连接起来,在PC端通过对程序的编译,生成一个bin文件,通过简易的JTAG探头,把它烧写到Nand-Flash。

Boot-loader主要完成硬件初始化,同时设置Linux启动时所需要的参数,然后跳到Linux内核启动代码的第一个字节开始引导Linux。

(2)Linux内核,为特定的嵌入式硬件系统板定制的内核及内核的启动参数。为了实现Linux内核的移植,要把编译生成的Boot-loader,Kernal Image(内核)及Root Filesystem(根文件系统)烧写到Hash中。在编译内核的时候,还可以选择需要支持的网络协议,所支持的主要协议包括TCP/IP(如TCP、IP、UDP、ICMP、ARP、RARP、FTP、TFTP、BOOTP、DHCP、RIP、OSPF、HTTP等)。由于内核己经支持多种网络协议,因此通过加载不同的应用程序,就可以实现相应类型的应用。

(3)和Linux内核配合使用的根文件系统,包括建立根文件系统和建立于Flash设备上的文件系统。将文件系统也烧写到Hash后,Linux就可以在硬件板上正常运行了。

(4)用户应用程序。为了使人机交互界面友好,通常在用户应用程序和Linux内核层之间移植一个嵌入式图形用户界面(Graphic User Interface,GUI)。

2. 软件开发环境构建

对于Linux下的ARM开发环境,最重要的是一个交叉编译器,其次是一个标准的C库。然而编译一个可靠的ARM交叉编译器,是非常复杂的工作,有两个方法可以得到一个ARM交叉编译器。

(1)到专门为ARM开发建立的网站下载一个别人编译好的编译器,如网站ftp∶//ftp.arm.linux.Org.uk/pub/armlinux/toolcham,这里提供了多个版本的交叉编译器,它们都是基于glibc的C库,但glibc的C库比较庞大,不适合作为小型的嵌入式系统开发使用。所以可以选择第二种方法去构造一个基于更小的C库μClibc的编译器。

(2)编译一个交叉编译器,虽然这个工作非常复杂,但Linux平台下面有全世界的爱好者在共同维护,所以可以找到许多编译一个交叉编译器的方法。

www.μClibc.Org网站中提供了一个基于pClibc的C库交叉编译器的构造方法,这个编译器是针对多平台的。μClibc是原来μCLinux(一个专门用于没有MMU的嵌入式芯片使用的Linux版本)开发过程中的一个C库,现在已经独立于μLinux项目并且进一步完善。它目前己经可以支持很多的系统平台,而且它比glibc更加小巧,非常适合作为嵌入式的开发。很多原来基于glibc开发的软件在μClibc下面也可以很方便地移植,甚至无须做任何改动就可以编译运行。;μClibc对glibc的大部分函数都做了重写,并且保持名称一样。利用μClibc构建嵌入式Linux系统将比glibc占用更小的空间。

构建好了软件开发环境或交叉编译器,就可以

上一页 1 2 下一页
上一篇: ARM开发的调试方法概述
下一篇: 基于单片机的低功耗高精度融雪测量仪的设计

ARM 嵌入式系统 软件开发 相关文章:

  • Linux嵌入式系统开发平台选型探讨(11-09)
  • 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
  • 在Ubuntu上建立Arm Linux 开发环境(04-23)
  • 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
  • SQLite嵌入式数据库系统的研究与实现(02-20)
  • 革新2410D开发板试用手记(04-21)
栏目分类
热门文章
  • keil使用详解
  • 基于Simulink的CIC梳状滤波器
  • 基于PSoC Creator Bootload
  • Arm Linux系统调用流程详细解
  • Windows CE陷阱调度机制详解
  • PIC IIC & 24c02
  • 基于Wishbone总线的UART IP核
  • 现场总线入门

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top

PHP网站源码厦门网站优化排名报价铜陵网站推广方案报价南充网页制作报价日照企业网站改版价格哈尔滨百度网站优化哪家好包头模板制作哪家好巢湖网站seo优化哪家好汉中网站推广方案报价鸡西百搜标王哪家好宿迁百度爱采购本溪网站建设设计哪家好济南企业网站建设报价南昌网站设计多少钱营口SEO按效果付费价格鹤岗网站排名优化哪家好平凉营销网站价格大同网站搜索优化价格盘锦网站优化按天计费价格坪地百度网站优化哪家好通化网站搭建多少钱丹竹头seo排名多少钱玉林网站优化按天扣费报价吉祥网站搜索优化推荐坪山网站优化软件哪家好德州网站优化软件价格丹竹头品牌网站设计杭州网站优化按天计费价格陇南关键词排名报价怀化建站推荐鄂州推广网站报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化