嵌入式系统原理及应用开发教程

作者&投稿:绽枫 (若有异议请与网页底部的电邮联系)
~

嵌入式系统是以嵌入式处理器为核心部件的,用于执行独立功能的专用计算机系统。嵌入式系统原理及应用开发教程:

一、嵌入式系统原理

1、ARM 微处理器支持两种指令集 ARM 和 Thumb 。

2、ARM 处理器正常的程序执行状态是在 用户 模式下。

3、ARM 处理器中 R13 寄存器 用作程序计数器。 R15 寄 存 器 用作堆栈指针。

4、当异常发生时,寄存器 SPSR 存 、用于保存 CPSR 的当前值,从异常复 退出时则可由它来恢复 CPSR 。

5、Flash 芯片在写入操作时需要先进行 擦除 操作。

二、开发流程

1、建立开发环境

安装操作系统与交叉编译器,操作系统一般使用RedhatLinux,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如,armn-1inux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的相关交叉编译器。

2、配置开发主机的参数

配置MNICOM参数,MNICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。一般情况下的参数为波特率115200 Baud/s,数据位8位,停止位为1,无奇偶校验,软件硬件流控设为无。在Windows下的超级终端的配置也是这样。配置网络主要是配置NFS网络文件系统,需要关闭防火墙以简化嵌入式网络调试环境设置过程。

3、建立引导装载程序BOOTLOADER

从网络上下载一些公开源代码的BOOTL0ADER,如U-BOOT、BLOB、VIVI、LILO、ARM-Boot、RED-Boot等,根据具体芯片进行移植修改。有些芯片没有内置引导装载程序,这样就需要编写开发板上FLASH的烧写程序,也可以在网上下载相应的烧写程序。果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。

4、下载已经移植好的Linux操作系统内核

如MCLiunx、ARM_Linux、PPC-Linux等,如果有专门针对所使用的CPU移植好的Linux操作系统那是再好不过,下载后再添加特定硬件的驱动程序,然后进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,而对于MCLiunx这样的系统只能编译内核进行调试。

5、建立根文件系统

下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。

由于默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包:/etc/init.drc.S、/etc/profile、/etc/.profile及自动挂装文件系统的配置文件/etc/fstab等,具体情况会随系统不同而不同。

根文件系统在嵌入式系统中-般设为只读,需要使用mkcramfs genromfs等工具产生烧写映像文件。

6、建立应用程序的FLASH磁盘分区

一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动。有的系统使用一个线性FLASHNOR型)512KB~32MB,有的系统使用非线性FLASHNAND型)8MB~512MB,有的系统两种同时使用,需要根据应用规划FLASH的分区方案。

7、开发应用程序

根据需要开发应用程序,把开发成功的应用程序可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于uC/OS-II的方式。




施秉县19250607169: 嵌入式系统原理与应用 - --简答题 -
剑命克瑞: 环境搭建 一、认识开发板 1,ARM开发板的硬件配置(以S3C2410为例) CPU、SDRAM、FLASH、LCD(包括键盘LED驱动器,触摸屏)、以太网、USB、串口、调试接口(JTAG)、AD及扩展. 2,ARM体系结构与编程. 仅仅了解arm开发...

施秉县19250607169: 如何从零开始开发一款嵌入式产品 -
剑命克瑞: 嵌入式零基础学习路线,可以看下我个大致方向 1)学习 Linux系统安装、常用命令、应用程序安装. 2) 学习 Linux 下的 C 编程、这本书必学《UNIX 环境高级编程》、《UNIX 网络编程》,Rechard Stevens 写的,C 高手大都学习过《C 和指...

施秉县19250607169: 嵌入式应用系统开发过程包括那些,操作系统的移植是必要的吗 -
剑命克瑞: 嵌入式应用系统开发可包括以下过程:1.原理设计及论证 对嵌入式系统的硬件原理进行设计,主要涉及到使用什么方案、器件的选型 、器件之间的连接关系、系统电磁、发热等方面的考虑,以及对功能性能本身的实现原理的实现,同时还要考...

施秉县19250607169: 嵌入式系统的详解? -
剑命克瑞: 嵌入式系统 IEEE对于嵌入式系统的定义是:An Embedded system is the devices used to control, monitor, or assist the operation of equipment, machinery or plants.嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”. 在中国嵌入...

施秉县19250607169: 如何开发自己的嵌入式系统 -
剑命克瑞: 先讲一讲需要掌握的基本技能.答: (1)C语言是所有编程语言中的王者(单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握,大学本科教学中的C语言是远远不够的,有两个非常重要的内容没有讲...

施秉县19250607169: 嵌入式原理及应用 -
剑命克瑞: 嵌入式原理,就是在板子上跑操作系统.带CPU,加快了原来单片机的处理能力和速度 应用的话: 有几个方面: 嵌入式软件,这一层基本上是做一些应用软件. 嵌入式驱动:对一些硬件设备提供支持,让硬件运行起来 嵌入式硬件:设计产品的硬件 以上内容不多,但这就是嵌入式

施秉县19250607169: 嵌入式系统设计的内容简介 -
剑命克瑞: 《嵌入式系统设计》作为嵌入式系统设计的基本教程,全面地阐述了嵌入式系统的软硬件技术及其应用设计的基本方法和过程.《嵌入式系统设计》从嵌入式系统的发展历程开始,以ARM处理器为为蓝本介绍嵌入式系统的硬件原理,然后介绍了操作系统原理,并用μClinux、μC/OS-Ⅱ和Windows CE介绍了广泛应用的嵌入式操作系统平台,最后用MIPS的应用系统设计实验介绍了嵌入式系统应用设计的步骤和方法.

施秉县19250607169: 嵌入式开发要学什么?学习嵌入式开发要学哪些? -
剑命克瑞: 入门嵌入式工程师 此阶段主要是前期的入门过程,主要针对入行没多久的新人.其实成功没有捷径,所以打好基础才是关键.嵌入式开发要学什么主要包含以下4个方面的内容:1.电路知识 首先你要学习电路、模电、数电,认识电阻、电容、三...

施秉县19250607169: 嵌入式软件开发 - 什么是嵌入式软件开发?它的开发平台是什么?嵌入式软件开发和应用软?
剑命克瑞: 针对嵌入式设备的应用软件开发 通常一个嵌入式设备,比如pda有一个嵌入式的操作系统(类似于一般的操作系统,比如xp,2000等等),但是光有一个系统什么都干不了,那么就需要嵌入式的应用软件,这样的软件的开发是基于嵌入式操作系统的,也就是嵌入式操作系统提供api,开发人员通过api来开发应用软件,比如移动QQ,记事本等,开发出来的应用软件是运行在嵌入式操作系统之上的,因此嵌入式软件的开发与嵌入式操作系统是分不开的,有时我们甚至把嵌入式操作系统也归入嵌入式软件的范畴,只不过它是嵌入式系统软件. 嵌入式开发平台: 要么走ARM+WinCE,要么走ARM+LINUX,要么走ARM+VXWORKS.

施秉县19250607169: 嵌入式系统的发展及应用 -
剑命克瑞: 纵观嵌入式系统的发展历程,大致经历了以下四个阶段: 无操作系统阶段 嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、伺服、设备指示等功能,通常应用于各类工业控制和飞机、导弹等武器装备中,一...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网