嵌入式系统是以应用为中心,以计算机技术为基础、软硬件均可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。其发展已有二十多年的历史,国际上也出现了一些著名的嵌入式操作系统,如VxWorks,Palm OS,Windows CE等等,但这些操作系统均属于商品化产品,价格昂贵且由于源代码不公开导致了诸如对设备的支持 ,应用软件的移植等一系列的问题。而Linux作为一种优秀的Free OS,近几年在嵌入式领域异军突起,成为了最有潜力的嵌入式操作系统。
嵌入式Linux融合了嵌入式和Linux的特点,其开发与一般的应用程序开发相比有着自己的特点,下面简要的介绍一下嵌入式Linux开发的一般过程。
了解硬件是首要的一步,这是嵌入式开发的特点决定的。了解硬件指的是了解整个硬件,判断硬件对于当前的应用来说是否合适。嵌入式系统中需要使用到CPU和各种外围设备,由此需要收集相关硬件的资料,包括CPU,芯片手册和各种外围设备的手册以及相关的各种电路图等,并对整体系统有较深入的了解。
了解硬件后,下一步就该准备需要使用的Linux工具以及其他工具,这些工具包括:针对所用CPU的编译器/汇编器/连接器,相应的库工具,目标文件分析/管理工具,符号查看器等等。幸运的是,由于Linux的开放性,针对不同目标平台的Linux工具都可在网上免费得到,绝大部分的这些工具都由GNU提供。所需要的其他工具还包括硬件厂商提供给公司的工具,如编程器,下载工具和查错器等等。所有这些工具对以后的开发、调试等都可说是必不可少的。
做好以上的准备工作后,就要进入实质性的工作阶段了。首先需要安排内存地址,如SDRAM的内存地址,Flash的内存地址等,这需要与实际应用和硬件状况相结合来考虑,要根据硬件的限制以及实际应用的需要对内存地址进行合理的安排,同时要注意内存地址的安排要具有一定的伸缩性,以便于将来需要改动时所做的变动达到最小。一般来说,嵌入式Linux的内存地址安排体现在连接脚本当中。
接着就该进入编写启动代码和机器相关代码阶段了。各种不同目标系统,甚至相同目标系统的启动代码和机器相关代码也是不相同的。启动代码一般需要完成硬件初始化,装载内核及安装根文件系统以及开始内核执行的工作,不同目标平台的启动代码一般可通过参考Linux下已有的启动代码和相关CPU的手册进行编写。
启动代码和机器相关代码编程完成并可以启动系统后,下一步就可以开始驱动程序的编写了。Linux编写驱动程序与一般情况下编写驱动程序并没有太大的区别,都需要对相关的硬件作出了解,同时需要遵循Linux编写驱动程序的一些规则进行,编写完一个驱动程序后,一般就写一个相应的测试程序已便随时进行测试。Linux下各种不同类型的设备都有相当多的驱动程序源码可以参考,因此实际编写时更多的时间是花在对特定硬件特性的熟悉上。
除了以上提到的这些步骤外,进行实际开发时,很多时候还要进行库(这里所提到的库均指C库),GUI和系统程序的移植。这是因为嵌入式Linux中所用的库一般不能直接使用标准库,而需要进行精简,虽然已有些精简的C库如uClibc等可供使用,但还是需要经常对其进行修改。嵌入式Linux常用的GUI有Microwindows,MiniGUI,QT/Embedded,TinyX等等,各自均有其使用的场合,所针对的目标平台和应用层次也不一样,必须根据实际需要进行选择。系统程序如mount,ls等等有些是应用时所必须的,有些则是进行调试时所需要的,初始时则需要一些通用的系统程序即可。
欢迎转载,转载请保留链接,容。源电子网,www.dziuu.com本文地址:http://www.dziuu.com/dz/22/2009622230700.shtml
本文标签:
猜你感兴趣:
运用单片机便是了解单片机硬件结构,以及内部资源的运用,在汇编或C语言中学会各种功用的初始化设置,以及完成各种功用的程序编制。 运用按钮输入信号,发光二极管显现输出
关键词:51单片机PIC单片机单片机 所属栏目:设计编程
现场总线技术已经广泛应用于工业控制中,尤其是CAN(Controler Area Nerwork)总线由于具有可靠性高、成本低、容易实现等优点,在现场总线实际工程应用中占有了较大份额。
关键词:单片机 所属栏目:设计编程
我的答案是:不可以原因如下:一、软件仿真多用于教学,把更多精力用在软件的实现上由于学生学习时间宝贵,焊接一套单片机实验板又比较花时间,并且实验项目太多,所以为了
关键词:PIC单片机51单片机单片机 所属栏目:设计编程
对于新手来说,首先根据自己学的什么样单片机就选什么类型的单片机,熟悉什么类型的单片机就选什么类型的单片机。因为单片机不仅要设计电路,还要设计控制软件。选自己熟悉的单片机上手最快,也最容易获得成功。下面介绍如何选择最适合的单片机。
关键词: 所属栏目:设计编程
单片机晶振的作用是什么
在初学单片机的时候,总是伴随很多有关于晶振的问题,其实晶振就是如同人的心脏,是血液的脉搏,把单片机的晶振问题搞明白了,51单片机的其他问题
关键词:51单片机PIC单片机单片机 所属栏目:设计编程
Keil单片机编程软件Keil C51是单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇
关键词:51单片机PIC单片机 所属栏目:设计编程
详解51单片机运行过程 注:1.ROM:只读存储器,单片机的只读存储区大多用于存储程序固又称程序存储器。51单片机是EPROM,所谓的EPROM是可擦除的只
关键词: 所属栏目:设计编程
pic单片机和c51有什么区别(区别1)总线结构:MCS-51单片机的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能同时进行;而PIC单片机的总线结构是哈佛结构
关键词:单片机PIC单片机51单片机 所属栏目:设计编程
实例分析51单片机出现故障及解决办法。详细如下:
故障现象:做了一个单片机温度监测系统,仿真机上一切正常,烧写芯片无法工作。相关电路框图: 用51做处理器,外围电路如
关键词:单片机51单片机 所属栏目:设计编程
PIC单片机汇编语言指令详解
pic单片机为最常用单片机之一,许多程序均基于pic单片机进行开发。因此,熟练pic单片机编程尤为重要。为保证大家能准确、熟练掌握pic单片机的使
关键词:PIC单片机单片机 所属栏目:设计编程
三种51单片机程序下载方法介绍
一般只能通过三种方式下载程序到单片机中:1.JTAG 2.ISP 3.IAP1.JTAG要使用JTAG方式下载程序,不管是使用J-LINK、ULINK、ST-LINK,只需要把
关键词:PIC单片机51单片机单片机 所属栏目:设计编程
I2C每一位信号的时序流程,而I2C通信在字节级的传输中,也有固定的时序要求。I2C通信的起始信号(Start)后,首先要发送一个从机的地址,这个地址一共有 7位,紧跟着的第 8
关键词:PIC单片机51单片机单片机 所属栏目:设计编程
越来越多的测量仪器提供GPIB(General Purpose Intefface Bus)总线接口,通过该总线可以方便快捷地连接带有GPIB接口的仪器及计算机,组成一个GPlB网络。GPIB设备与计算机连
关键词:PIC单片机51单片机单片机 所属栏目:设计编程
每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立
关键词:51单片机PIC单片机单片机 所属栏目:设计编程
引言变频调速作为交流电机调速的主要手段已经在工业领域中应用的十分广泛,其具有的调速范围宽、稳速精度高、动态响应快、适用范围广、运行可靠等技术性能,已逐步取代直流
关键词:单片机变频器 所属栏目:设计编程
电子密码锁按照输入密码方式的不同可分为好多种,其中最常用的一种是用数字键盘输入密码的电子密码锁。这一讲主要介绍用ATmega8和LCD1602液晶显示器等组成的电子密码锁,这
关键词:单片机 所属栏目:设计编程
1.实验任务如图所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。2.电路原理图3.系统
关键词:单片机LEDLED电路图 所属栏目:设计编程
设计低功耗MCU并不容易,也没有为您的特定嵌入式设计选择合适的MCU。许多特定于应用的注意事项都会起到作用,这使得比较MCU规格表具有挑战性。本文分析了在分析竞争性MCU替
关键词: 所属栏目:设计编程
近日,有媒体报道称,北京微电子技术研究所日前成功研制出国内首个自主可控的宇航用千万门级高性能高可靠FPGA(现场可编程门阵列)芯片。FPGA一直是国内的短板,市场基本被
关键词:单片机 所属栏目:设计编程
怎么学单片机?也常看到有人说学了好几个月可就是没有什么进展。当然,受限于每个人受到的教育水平不同和个人理解能力的差异,学习起来会有快慢之分,但我感觉最重的就是学
关键词:单片机 所属栏目:设计编程