空心雨毕业论文网提供毕业论文、职称论文、硕士论文、计算机论文等的代写服务,同时还提供各种期刊论文的发表。如果你有需要,请联系我们QQ:5599630;电话:13350726595;E-mail:singlehearted@vip.qq.com
RSS
 
当前位置 :空心雨毕业论文网 >> 工学论文 >> 电子机械 >> 正文

用GNU工具开发基于ARM的嵌入式系统

来源:网络转载 作者:okxy168.com 时间:2008-01-10 浏览:2 字体:【

摘要:介绍如何利用GNU的工具开发基于ARM的嵌入式系统,以及使用编译器、连接器和调试工具的具体方法,为广大嵌入式系统开发人员提供一种低成本的开发手段。 关键词:ARM GNU MC928MX1 gcc gdb gdbserver

当前,ARM公司的32位RISC处理器,以其内核耗电少、成本低、功能强、特有16/32位双指令集,已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案的RISC标准,市场占有率超过了75 %。多家公司都推出了自己的基于ARM内核的处理器产品,越来越多的开发人员开始了针对ARM平台的开发。通常开发人员需要购买芯片厂商或第三方提供的开发板,还需要购买开发软件,如C编译器或者集成了实时操作系统的开发环境。开发板的价格从数百到上千美元,而编译器、实时操作系统价格更是动辄数千到数万美元。这样,在开发初期,软硬件上的投资就需要上万美元,对于国内大多数开发人员来说,无疑是太贵了。

庆幸的是,GNU所倡导的自由软件给开发者带来了福音。1984 年,旨在开发一个类似 Unix 的,并且是完全免费的完整操作系统和配套工具:GNU 系统(发音为"guh-NEW")。GNU的操作系统和开发工具都是免费的,遵循GNU 通用公共许可证 (GPL)协议,任何人都可以从网上获取全部的源代码。关于GNU和公共许可证协议的详细资料,读者可参看GNU网站的中文介绍:http://www.gnu.org/home.cn.html。

除了大家熟知的Linux操作系统外,GNU的软件还包括编译器(gcc,g )、二进制转换工具(objdump,objcopy)、调试工具(gdb,gdbserver,kgdb)和基于不同硬件平台的开发库。GNU开发工具的主要缺点是采用命令行方式,用户掌握和使用比较困难,不如基于Windows系统的开发工具好用。但是,GNU工具的复杂性是由于它更贴近编译器和操作系统的底层,并提供了更大的灵活性。一旦学习和掌握了相关工具,也就了解了系统设计的基础知识,为今后的开发工作打下基础。GNU的开发工具都是免费的,遵循GPL协议,任何人都可以从网上获取。笔者参与了一个基于ARM平台的嵌入式Linux系统开发,采用的是摩托罗拉龙珠系列的MC928MX1。从测试代码、引导程序、嵌入式Linux移植、应用程序、图形界面都可以用GNU工具进行开发,不需要在开发工具上做额外的投入。本文所介绍的开发方法同样适用于其它公司的基于ARM的产品。

1 硬件平台

MC928MX1(以下简称MX1)是摩托罗拉公司基于ARM核心的第一款MCU,主要面向高端嵌入式应用。内部采用ARM920T内核,并集成了SDRAM/Flash、LCD、USB、蓝牙(bluetooth)、多媒体闪存卡(MMC)、CMOS摄像头等控制器。关于MX1的详细资料,感兴趣的读者可以参考http://www.motorola.com.cn/semiconductors/。作为应用开发的最小系统必须包括RAM(程序运行空间)、Flash(存放目标代码)和串行接口(用于调试和下载程序)。MX1提供了6个片选端(CS0~CS5),内置了SDRAM控制器,数据宽度32位。在笔者的系统中采用了2片8M×16位的SDRAM和2片4M×16位的同步Flash存储器,分别接入数据线的低16位和高16位,如图1所示。

图1中SDRAM接片选端CS2,Flash接片选端CS3,其余为SDRAM/Flash的控制信号。最小系统还包括至少1个串行接口,可以采用MX1内置的UART控制器,图略。

2 自举模式

目前,许多嵌入式处理器都提供了自举模式(Bootstrap),供用户写入引导代码。自举模式利用了固化在芯片内部的一段引导程序,当处理器复位时,如果在特定引脚上加信号,则处理器将在复位后执行固化ROM中的程序。例如,MX1提供了4条复位引脚,复位时引脚不同的电平组合可以从不同的片选端启动系统。自举ROM中的程序完成串口的初始化,然后等待用户从串口写入用户代码。自举模式所能接受的是一种专门格式的文本文件,包括数据和要写入/读出的地址。关于自举模式的代码格式,可参考相关芯片的手册。在摩托罗拉的网站还提供了许多小工具,帮助开发者将其它格式的文件转换成为自举模式格式。通过自举模式下载的通常是一段和上位机软件(如超级终端)通信的程序,完成接收数据并写入Flash的操作。写入的数据可以是用户自己的应用程序、数据或者操作系统的内核。通过自举模式下载的引导程序同样可以用GNU工具开发。

阅读更多内容1 · 2 · 下一页>>
2
最新评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
      本站是由一个众多学科的博士群体组建而成,主要创办者为成都各重点高校博士。本论文网内理工科写手均为博士,文科类写手大部分为博士,且领域涵盖广泛,写作势力强大,若有部分专业,没有相关的写手,我们给你寻找合适的写手! 依托强大的人力资源,我们本着诚心交流的宗旨,专门为您排解写作上的难题。从在科研及实践工作中稳扎稳打的经历,我们具备了研究问题,解决问题的能力。论文写作和论文发表,作为教育体系的一个重要环节,我们确实有能力给您解决好问题,正所谓,真金不怕火来炼,请相信我们的势力,没有把握的事,我们不会做!
      本站受多家期刊委托,其中包括国家级中文核心期刊目录正刊,CSSCI目录正刊,增刊,省级以上公开出版的优秀期刊正刊,本站负责论文推荐发表,加急1个月即可发表。本站负责论文发表,不发表承诺退款!!目前主要负责法律,管理,经济,理工,农学,行政,医学,艺术,英语等类论文发表论文代写。详细期刊目录见本站相关内容。
赞助商链接