嵌入式读书报告

嵌入式开发系统读书报告
嵌入式系统简介:
嵌入式系统:广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统。如各类单片机和DSP系统。这些系统在完成较为单一的专业功能时具有简洁高效的特点。但由于他们没有操作系统,管理系统硬件和软件的能力有限,在实现复杂多任务功能时,往往困难重重,甚至无法实现
从狭义上讲,那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的专用软硬件系统称为嵌入式系统。
嵌入式系统的组成:嵌入式系统由嵌入式硬件与嵌入式软件组成。嵌入式硬件以芯片、模板、组件、控制器形式埋藏于设备内部;嵌入式软件是实时多任务操作系统和各种专用软件,一般固化在ROM或闪存中;嵌入式系统软硬兼施,融为一体,成为产品,但在开发过程中需要一些开发工具进行辅助开发。
嵌入式系统的特点:
1.穿刺针系统内核小;
2.专用性强;
3.系统精简;
4.高实时性OS
5.嵌入式软件开发走向标准化;
6.嵌入式系统需要开发工具和环境。
应用领域:嵌入式系统目前已在国防、国民经济及社会生活各领域普及应用,用于企业、军队、办公室、实验室以及个人家庭等各种场所。例如:军用,消费电子,工业控制,网络应用,各类收款机、POS系统、电子秤、条形码阅读机、商用终端、银行点钞机、IC卡输入设备、取款机、自动柜员机、自动服务终端、防盗系统、各种银行专业外围设备以及各种医疗电子仪器,无一不用到嵌入式系统。嵌入式系统可以说无处不在,无所不在,有着广阔的发展前景,也充满了机遇和挑战。
嵌入式系统的开发流程:
嵌入式软件的开发流程与通用软件的开发流程大同小异,但开发所使用的设计方法具有嵌入式开发的特点。整个开发流程可分为:需求分析阶段;设计阶段;生成代码阶段;固化阶段。
Bootloader
Bootloader功能:初始化硬件设备、建立内存空间的映射图(有的CPU没有内存映射功能如 S3C44B0x ,将系统的软、硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。
下载方式:目标机上的Bootloader将通过串口连接或网络连接等通信手段从主机下载文件。
下载内容及存储:主要是下载内核映像和根文件系统映像等。从主机下载的文件通常首先被Bootloader保存到目标机的RAM中,然后再被 Bootloader写到目标机上的FLASH 类固态存储设备中。
内核,文件系统下载的过程:
1)下载linux到系统的SDRAM运行(仅做测试之用,断电或退出后就会消失)
1、运行Uboot,设置环境变量
2、下载linux内核,文件系统
打开tftpserver应用程序,设置根目录路径,将内核、文件系统等拷贝到所设置的根目录下。
2)烧写 Linux 到系统的 Flash 运行
1、设置运行Linux的环境变量
2、烧写Linux内核到Flash
resetlinux操作系统就开始运行。
目前流行的嵌入式操作系统
1、缩减PC系统
所谓缩减PC系统,指利用PC体系结构设计的嵌入式系统,例如利用PC104模块构成工业控制装置就是比较典型的设计。
2、高级单片系统
所谓高级单片系统,是指那些准备加载Linux操作系统或类Linux操作系统的嵌入式系统。它的硬件构成的核心是一个集成了丰富功能的单一芯片,一般数据宽度往往是32位、它已经包含了儿乎全部的系统硬件,使得只需再增加很少几个器件,如存储器芯片,即可构成全部系统。
3、单片机系统
所谓单片机是将CPU、存储器、I/O接口等集成在一块芯片上,因此称为Single-Chip Microcomputer”。单片机主要是针对工业控制以及与控制有关的数据处理而设计的。
Bootloader的作用及其工作:
BootLoader 是系统加电后运行的第一段代码。一般它只在系统启动时非常短的时间内运行。对于由DaVinci构成的嵌入式系统来说,这是至关重要的一步。
PC中,整个BootLoaderBIOS(主板上固化的一段程序)、位于硬盘MBR区的OS Loader一起组成。BIOS完成第一级引导加载工作,OS Loader完成第二级引导加载工作(可能有些系统不只两级加载)。上电后,系统开始执行BIOS中的代码,这段代码负责进行硬件检测和资源分配,完成这步工作后,将按照CMOS中设定的顺序检索硬盘。BIOS将第一个检索到的硬盘上MBR中的内容读到系统RAM中,然后将系统控制权交给相应的OS Loader。最后由OS Loader负责将所要引导的操作系统的内核映象从硬盘上读到系统RAM中,然后跳转到内核的入口点上。
协同设计系统
在由DaVinci平台构成的嵌入式系统中,通常不存在BIOS那样的一段固定内容的固化的程序。原因是PC平台尽管品牌等有差异,但通常都有相近甚至是相同的体系结构,遵循一个共同的工业标准,因而可以使用同一个BIOS代码来引导。而通常对嵌入式系统来说,即使是使用相同的架构,甚至是同一个CPU如都是DM6446来构建,但因为并不能遵的一个共同的工业标准。因而基于DaVinci平台构建的嵌入式系统上除非两者的各方面与引导过程相
关设计完成一致,否则不能使用同一个BootLoader。可以说BootLoader是一个由DaVinci平台构成的嵌入式系统的钥匙。没有这把钥匙就无法进入系统的大门。也就是说在完成自己的硬件研发后,首要的工作就是BootLoader的移植。
嵌入式linux硫氰酸钠的版本及其特点:
CLinux: 开放源码的嵌入式Linux 的典范之作。它主要是针对目标处理器没有存储管理单元MMU,其运行稳定,具有良好的移植性和优秀的网络功能,对各种文件系统有完备的支持,并提供标准丰富的API
RT-Linux: 由美国墨西哥理工学院开发的嵌入式Linux硬实时操作系统。它已有广泛的应用。
Embedix: 城乡养老保险并轨根据嵌入式应用系统的特点重新设计的Linux发行版本。它提供了超过25种的Linux系统服务,包括Web服务器等。此外还推出了Embedix的开发调试工具包、基于图形界面的浏览器等。可以说,财经 胡舒立Embedix是一种完整的嵌入式Linux解决方案。
XLinux: 采用了“超字元集”专利技术,使Linux 内核不仅能与标准字符集相容,还涵盖了12
个国家和地区的字符集。因此,XLinux 在推广Linux 的国际应用方面有独特的优势。
PoketLinux: 它可以提供跨操作系统并且构造统一的、标准化的和开放的信息通信基础结构,在此结构上实现端到端方案的完整平台。
红旗嵌入式Linux: 由北京中科院红旗软件公司推出的嵌入式Linux,它是国内做得较好的一款嵌入式操作系统。目前,中科院计算机研究所自行开发的开放源码的嵌入式操作系统——EasyEmbedded OSEEOS)也已经开始进入实用阶段了。
交叉编译:
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。
要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(cross compilation tool chain),然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。常见的交叉编译例子如下:
1、在Windows PC上,利用ADSARM 开发环境),使用armcc编译器,则可编译出针对华南理工大学学报ARM CPU的可执行代码。
2、在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。
3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARM CPU的可执行代码。
远程调试:
调试是程序开发流程中必不可少的环节,其主要作用就是帮助研发人员跟踪代码的执行,发现并纠正运行过程中遇到的潜在错误与漏洞,有效的提高开发效率。嵌入式系统自身的特点决定了其开发调试过程与通用计算机系统截然不同,需要涉及宿主机和目标机两方面
的内容,即用户在宿主机端调试运行于目标机端的代码,这种调试称为远程调试。
嵌入式系统中常见的文件系统及其主要特点:
EXT2Ext2GNU/Linux系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,这主要得利于其簇快取层的优良设计。其单一文件大小及文件系统本身的容量上限与文件系统本身的簇大小有关,在一般常见的X86系统中,簇最大为4KB,则单一文件大小上限为2048GB,而文件系统的容量上限为16384GB

本文发布于:2024-09-21 10:58:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/149274.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   开发   硬件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议