转载:嵌入式系统开发步骤

转自:http://www.cnblogs.com/yxwkf/p/5173087.html

建立交叉开发环境
配置开发主机
移植bootloader
linux内核移植
建立并烧写根文件系统到目标板
开发嵌入式应用程序
部署与配置系统
(1)建立交叉开发环境
开发主机的操作系统一般选用某一个发行版本号的linux系统,如RedHatlinux等。linux内核版本号能够依据项目的详细需求而定,如2.4内核或者2.6内核。选择定制安装或所有安装,通过网络下载对应的gcc交叉编译器进行安装(比方arm-linux-gcc,arm-uclibc-gcc等),或者安装产品厂家提供的交叉编译器。
(2)配置开发主机
配置开发主机包含在开发主机上安装linux系统,配置交叉连接工具,如串口和网络接口。
(3)建立引导装载程序bootloader
从网络上下载一些公开源码的bootloader,依据自己详细芯片进行移植改动。

(4)移植嵌入式linux操作系统
我们做的是嵌入式应用。那么这些应用须要跑在一定的操作系统上(嵌入式操作系统)。比較经常使用的有uclinux。arm-linux,ppc-linux等。最好的情况是,已经有针对所选择的cpu平台的嵌入式linux系统。下载后再加入自己的特定取得调试。
(5)建立跟文件系统
能够从htth://busybox.net/下载BusyBox软件,对其进行功能裁剪。得到一个最主要的根文件系统,在依据自己的应用须要加入其它的程序。默认的启动脚本一般都不符合应用的须要,所以须要改动根文件系统的启动脚本。该启动脚本放在/etc 文件夹下。根文件系统在嵌入式系统中一般设为仅仅读,须要使用mkcramfs。genromfs等工具生成映像文件。可是有些嵌入式系统直接不使用根文件系统。
(6)建立应用程序的Flash磁盘分区
嵌入式系统不使用磁盘作为外存,一般使用Flash。一般使用JFFS2或者YAFFS文件系统,须要在内核中提供这些文件系统的驱动。

(7)开发应用程序
应用程序能够和根文件系统放在一个分区,也能够存在其它YAFFS或者YFFS2等分区中。
(8)部署与配置系统产品的測试和公布
应用程序开发结束后,须要烧写内核。根文件系统,应用程序。最后进行产品的測试和公布。

时间: 2024-10-10 07:51:13

转载:嵌入式系统开发步骤的相关文章

嵌入式系统开发步骤

建立交叉开发环境 配置开发主机 移植bootloader linux内核移植 建立并烧写根文件系统到目标板 开发嵌入式应用程序 部署与配置系统 (1)建立交叉开发环境 开发主机的操作系统一般选用某一个发行版本的linux系统,如RedHatlinux等.linux内核版本可以根据项目的具体需求而定,如2.4内核或者2.6内核.选择定制安装或全部安装,通过网络下载相应的gcc交叉编译器进行安装(比如arm-linux-gcc,arm-uclibc-gcc等),或者安装产品厂家提供的交叉编译器. (

嵌入式系统开发流程

嵌入式系统开发与通用系统的开发有很大的区别.嵌入式系统的开发主要分为系统总体开发.嵌入式硬件开发和嵌入式软件开发3大部分. 在总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器的选型,以更好地满足产品的需求.另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择.往往通过硬件实现会增加产品的成本,但是大大提高产品的性能和可靠性. 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响.开发环境包括嵌入式操作系统的选择以及开发工

嵌入式系统开发学习(1)

嵌入式系统开发流程 嵌入式系统的一般开发流程如下: 嵌入式操作系统 管理资源 提高系统可靠性 硬件虚拟化 实时性能 多任务 现有的嵌入式操作系统 VxWorks pSOS PalmOS QNX OS-9 LynxOS WindowsCE uC/OS 嵌入式Linux FreeRTOS ARM体系架构 ARM:Advanced RISC Machines ARM处理器共有37个寄存器,分为若干个组(BANK). 大多数数据操作都在寄存器中完成. ARM分类 ARM7: 32bit 冯-诺依曼体系结

嵌入式系统开发——开篇

嵌入式系统开发中,C语言的地位是无法取代的,所以我用C语言为自己建立一个常用功能函数库.在基于单片机的开发中,经常会遇到“以时间换空间”或者“以空间换时间”的抉择.因为单片机不是运算能力有限,就是存储空间有限! 尽管现如今基于ARM核的微处理器已经普及,其运算能力和存储能力相对于以前8位时代,可谓是翻天覆地!但作为软件开发者,希望自己所写代码能具备移植性的同时还要尽量高效,是一种境界.这对于提升自己的编程水平.对C语言的应用能力,不失为一个好方法. 我在这里记录下我常用的程序库,方便自己和他人查

Python在实时嵌入式系统开发中扮演的五个主要角色-悦德财富

Python已经成为相当热门的程序语言.它以著名的Monty Python喜剧组命名,属于面向对象和解释型语言(非编译型).该属性使得Python具有良好的跨平台性,比如Linux和Windows,或是诸如Raspberry Pi等单板计算机.随着Python的日益普及,人们可能会问,在实时嵌入式系统中是否也有Python的一席之地. 答案是肯定的.下面是开发人员发现Python在实时嵌入式系统开发中有可能扮演的五个主要角色. 作用# 1设备调试和控制 在嵌入式软件开发过程中,开发人员常常需要分

linux嵌入式系统开发,嵌入式编程入门教程

嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分.国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能.可靠性.成本.体积.功耗等严格要求的专用计算机系统.举些例子,手机.电子时钟.智能报警装置.自动监控器.出租车计费器等等都属于嵌入式系统. 嵌入式Linux的开发和研究是Linux领域研究的一个热点,目前已开发成功的嵌入式系统有一半以上都是Linux.Linux能够支持x86.ARM.MIPS.ALPHA.PowerPC等多种体系结构,目前

信盈达分享,如何学好嵌入式系统开发

一.嵌入式系统的概念着重理解"嵌入"的概念主要从三个方面上来理解.1.从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但某种意义上就相当于显卡.比较高端的ARM类Intel Xscale架构下的IXP网络处理器CP

嵌入式系统开发之环境的建立

交叉编译调试环境建立在宿主机(也就是你的电脑)上.对于的开发板叫目标板.要全然手工的建立针对某特定的目标板的交叉编译环境是一个很麻烦的过程.有些人会问,为什么须要建立特定的环境,从网上下载一个通用的不即可了?既然很麻烦,有没有简单的方法,假设有简单的方法,是不是手工的就不要学习了?以下给大家具体介绍. linux内核被设计成必须使用GNU的gcc来编译,而不是不论什么一种c编译器都能够.gcc对c进行了不要的扩展,这使得他更适合开发操作系统内核.linux内核和编译器的关系很密切,甚至不同版本号

嵌入式系统开发(一)——常用字符处理函数

字符处理在C语言中是很普遍的.我们常常需要把信息从字符串形式转换为内部数据,或者反向转换.那怎么样高效的实现这些常用操作呢? 下面介绍我经常使用的方法.在头文件中添加如下内容: 1 #include "ftypes.h" 2 3 extern u8_t const __ascInfoTbl[256]; 4 5 static inline bool_t IsHexChar(u8_t c) { 6 c = __ascInfoTbl[c]; 7 return ((c & 0x01)