基于arm+uClinux的嵌入式系统开发
首页 | 电子新闻| 网站调查 | 电子基础 | 单片机 | 电子设计 | 电子制作 | 电子课件 | 资源共享 | 资源下载 | 访客留言 | 自选风格
基于arm+uClinux的嵌入式系统开发
作者:未知来源:BBS浏览次数:179添加时间:2006-7-15 10:20:20
前些日子基于arm+uClinux开发了一个网络监控系统,眼看项目马上要做完了,终于松了
一口气,于是整理了一些笔记和心得想和大家针对这种开发模式进行一些探讨,希望对各
位有所帮助。
按照我的开发过程想分以下几部分逐一介绍。 1.开发平台的选择和论证 2.开发环境的建立 3.一般程序的开发
4.Linux程序向ARM+uClinux平台的移植 5.剩下的问题
希望诸位多多补充自己的想法,以利于大家共同提高。
1. 开发平台的选择和论证
一个项目拿到手,如何选择开发平台(主要是指CPU和操作系统以及开发环境和工具)应该
说至关重要,有时这不光影响进度,产品质量,可维护性等一般问题,甚至涉及到方案的
可实现性。本人结合自己的网络监控系统简单归纳了一些对平台的考虑,还请各位补充。
从系统功能实现考虑: (1) 是否有片上外设,专用指令或配套的软件模块直接实现系统功能要求。 感 觉这一条
对很多人的决策影响很大 (2) 价格
这一点应通过CPU提供的资源综合考虑,它提供了多少有用的资源,多少没用的资源(那可
都是银子呀!),还是那三个字,性价比,另一方面,是要抓主要矛盾,是不是
有些特性
是必须的,什么特性是用户需求里的亮点(就靠这些亮点往上抬价),这时该花的就得花
了。 (3) 功耗
本系统对CPU功耗要求不高,但对移动设备,这一点可是致命,而且这一点不是仅针对CPU
,所有几乎器件都要勒紧裤腰带运行。 (4) 处理速度
这项不用多说,大家都明白重要性,但具体算起来可是一门学问,一方面是自己需要多快
的速度,如果加上非实时操作系统这事就不好控制,余量还是大点稳妥,另一方面,CPU指
令周期多少,有没有流水,有没有并行,什么体系结构,有没有专用指令(看人家DSP多牛
,干这事一绝),对外部存储器和外设的存取速度等等,哪一个慢了都叫瓶颈。 (5) 需要的硬件支持(如外部存储器,双电源等)
这算是杂项,但会增加额外的价格,系统体积等,不容忽视。
从开发者的角度考虑:
(1) 是否有足够的技术支持包括demo版及原理图,demo程序,操作系统和BSP,测试开发工
具等。
(2) 自身条件;包括对项目开发周期的要求,开发人员对器件和开发模式的熟悉程度以及掌
握的难易程度。
(3) 可用资源是否丰富(书籍,网络等) 以上三点主要考虑迅速开发出稳定的系统。 (4) 系统的可继承性,可移植性和可扩展性。 (5) 是否有现货。
(6) 方案提供商的素质。(包括技术水平和服务意识)。
根据以上考虑选择了s3c4510b(ARM7TDMI)+uClinux开发模式
(1) 以下是该平台对我的系统的满足情况:(和上面几点对应) 本监控系统硬件部分主要要求以下部分:
a.以太网接口 (s3c4510b自带网络控制器) b.串口 (自带)
c.与数据采集芯片的接口(8位数据线,小于8位地址总线)。(自带) 本系统软件部分主要要求以下部分:
a. 硬件接口驱动程序 (uClinux提供串口和网络控制器驱动) b. 网络协议栈支持(uClinux提供TCPIP,UDP等的协议栈)
c. 应用层程序(如果算上可以从linux移植的程序来看,那就太多了,我就用到了一个现
成的)
(2) 本应用系统不是那种批量的东西,对价格要求不苛刻,而且这款CPU最便宜可以到55左
右,可以接受。
(3) 本应用系统有固定电源,功耗要求不高。当然,据说ARM在节省功耗上很有特点。
(4) 本应用系统速度方面要满足两方面:1。串口:115200bps 2。网络速度 能到10Mbps就
行,所以对系统速度要求也不高。这款ARM内部可以到50M。
(5) 系统对体积要求也不高,加片flash和RAM还是没问题(到目前为止感觉我的系统真是
无欲无求!)
从开发者的角度考虑:
(1) 因为时间很紧(一个半月),所以支持越多越好。目前从开发商那里拿到了开发板,
原理图,uClinux,相应驱动,bootloader,拿来就可以用了。软件硬件并行开发。(boo
tloader和网络控制器驱动没提供原码,比较可惜:-(
(2) 当时我对嵌入式系统的开发模式和ARM都是只有耳闻,linux接触过一个月左右。现在
想起来有些后怕。
(3) 网上的资源,非常多。 提供一些我常用的。
http://www.uclinux.org/uClinux的大本营。
http://www.ucdot.org/里面有些技术文章非常不错。 http://www.linuxdevices.com/
http://www.linuxeden.com/这是国产的linux站点。
uclinux-dev@uclinux.org 这是uClinux的邮件列表,回答问题的都是大牛,非常有帮助,
记住把你的邮件设置成纯文本格式。 申请是在:
http://mailman.uclinux.org/mailman/listinfo/uclinux-devweb方式。
(4) 采用以上开发模式,软件的可维护性,可移植性和可扩展性都不错。 (5) 目前该CPU使用还是比较普遍,现货没问题。 (6) 方案提供商的素质吗……..还算可以吧:-)
根据以上考虑和目前的开发情况,这套方案还是比较令人满意。
今天先回家了,下回介绍具体开发步鄹吧。
2.开发环境的建立。
先说两句废话为和我以前一样对操作系统(尤其是嵌入式操作系统)迷惑的弟