搜档网
当前位置:搜档网 › 嵌入式

嵌入式

嵌入式
嵌入式

实验一系统固件编译与烧写

一、实验目的

掌握编译 OMAP4460 系统x-loader、U-Boot、kernel 的过程,掌握SD卡启动系统过程。

二、实验内容

1、在宿主机 Ubuntu 操作系统下编译目标板的x-loader 与U-Boot。

2、在宿主机 Ubuntu 操作系统下编译目标板的kernel 固件。

3、拷贝系统固件至 SD 卡,通过SD 卡启动目标板系统。

三、实验设备

1、BISTU-OMAP4460 嵌入式实验箱1套。

2、宿主机电脑,安装Vmware workstation和Ubuntu并配置好OMAP446 开

发环境。

四、实验步骤

4.1 开机进入开发环境

打开电脑中Vmware Workstation软件,启动Ubuntu操作系统,本实验中全部工作均在

该系统下操作。进入开机界面,用户名bistu,密码123456。

4.2 编译x-loader和u-boot

打开终端,输入以下指令:

① $ cd ~/WorkSpace/Software/Ubuntu1204_20130605/source/

② $ sudo tar xvzf u-boot-chipsee-panda-exp-20130609.tar.gz

③ ls

④ $

③ ls

④ $ cd u-boot-chipsee-panda-exp-20130609/

⑤ $ source /etc/profile

⑥ $ export CROSS_COMPILE=arm-none-linux-gnueabi-

⑦ $ export ARCH=arm

⑧ $ make distclean

⑨ $ make omap4_panda

编译完成之后,同时生成了MLO和u-boot.img两个我们需要的文件。

将生成的文件拷贝到自己的存储目录myProject。

#cp MLO u-boot.img ~/myProject/

4.3 编译内核

打开终端,输入以下指令:

#cd WorkSpace/Software/Ubuntu1204_20130605/source/

解压内核文件压缩包,并进入内核文件夹

#tar xvzf Ubuntu-precise-kernel-chipsee-20130605.tar.gz

修改目录所有者权限:

# sudo chown -R bistu:bistu ubuntu-precise-kernel-chipsee- 20130605

进入内核目录:

#cd ubuntu-precise-kernel-chipsee-20130605/

删除以前编译生成的余留文件,保证内核包的清洁:

#make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi Distclean

配置内核(请自行阅读内核目录下的README 文件):

#make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabimenuconfig

使用的是make menuconfig,使用空格键进行选取。你会发现在每一个选项前都有个括号, 但

有的是中括号有的是尖括号,还有一种圆括号。用空格键选择时可以发现,中括号里要么

是空,要么是"*",而尖括号里可以是空,"*"和"M"这表示前者对应的项要么不要,要么编

译到内核里;后者则多一样选择,可以编译成模块。而圆括号的内容是要你在所提供的几个

选项中选择一项。

选择相应的配置时,有三种选择,它们分别代表的含义如下:

[*]--将该功能编译进内核

[ ]--不将该功能编译进内核

[M]--将该功能编译成可以在需要时动态插入到内核中的模块

如果自己配置内核请参考前面内核配置选项说明,内核配置选项只是列出了通用的一些配置,

对于一些特殊的嵌入式应用的配置选项,可能没有介绍到。

进行编译:

#make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabipanda_

exp_defconfig

编译内核命令:

#make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage

执行完以上操作后,arch/arm/boot 目录下会生成我们需要的uImage 文件。(实验注意事项:内核的配置选项很多,目标板提供的内核文件已经做好了相应的配置,如果想深入了解内核,还需要很多相关的知识。)

将生成的文件拷贝到自己的存储目录myProject。

# cp arch/arm/boot/uImage ~/myProject/

4.4 烧写SD卡并启动系统

1、进入烧写SD卡目录

# cd ~/mksd_ubuntu

2、boot 目录下有已做好的启动固件,filesystem 文件下是已经做好的根文件系统

rootfs.tar.gz

3、prebuilt文件下有一个脚本文件mksdcard.sh,通过读卡器插入SDcard后,运行

sudo ./mksdcard.sh --device /dev/sdX

其中sdX 是插入的SDcard在Ubuntu系统中的盘符代号,可以通过sudo fdisk –l来查看

通过 sudo fdisk –l 查得插入的SDcard盘符代号是/dev/sdb,所以就可以输入来烧写SD

卡。

#sudo ./mksdcard.sh --device /dev/sdb

因 Ubuntu文件系统2G 多, 此过程需要时间很长, 耐心等待。

4、将编译U-Boot生成的MLO、u-boot.img文件,编译内核生成的uImage文件全部复制到

boot目录文件下。

# cd ~/myProjcet

# cp MLO u-boot.img uImage /media/boot/

5、卸载SD卡,放到开发板上启动。

五、实验结果记录

六、实验感想

实验二应用程序开发

一、实验目的

掌握在 Ubuntu 环境下交叉编译应用程序的方法。

二、实验内容

1、使用Vi 或者Gedit 文本编译器编译C 语言、汇编语言程序和Makefile 文件,计算公式3*x2+2*x3和求平均数。

2、MAKE编译得到ARM 可执行程序formula和average,分别通过NFS 和

TFTP 传送程序到目标板上执行并测试。

三、实验设备

1、BISTU-OMAP4460嵌入式实验箱1 套。

2、宿主机电脑,安装Vmware workstation 和Ubuntu 并配置好OMAP446 开发环境。

四、实验步骤

(1)计算公式3*x2+2*x3

1、在Linux 主机上建立工作目录,执行如下命令。

# cd ~

# mkdir exam1

# cd exam1

# gedit formula.c

2、在 formula.c 程序里面输入以下内容:

#include

extern int compute(int data);

int main()

{

int x;

printf("Input x=");

scanf("%d",&x);

printf("The result is %d\n",compute(x));

return 0;

}

3、执行命令生成汇编文件

# gedit compute.S

包含计算3*x^2+2*x^3过程的汇编文件为compute.S内容如下:

.text

.align

.global compute

compute:

stmfd sp!,{r4-r11,r14}

mul r1,r0,r0

mov r3,#2

mul r2,r1,r3

mov r3,#3

mul r4,r1,r3

mla r0,r2,r0,r4

ldmfd sp!,{r4-r11,r15}

4、编写Makefile 文件

由于编译程序的过程较为繁琐,因此编写了一个简单的Makefile来组织这些源程序,因

为程序是要在开发板上运行,因此指定了交叉编译工具。

# gedit Makefile

Makefile文件内容如下:

CC = arm-none-linux-gnueabi-gcc

NAME = formula

formula: formula.c compute.S

$(CC) formula.c compute.S -static -o $(NAME)

clean:

rm -f $(NAME)

注意:其中首行空格用Tab键生成,否则有编译错误。

5、在exam1目录下执行make命令得到可执行文件formula

#make

6、应用strip工具精简可执行程序

# arm-none-linux-gnueabi-strip formula

7、file命令可以查看formula程序属性

#file formula

8、拷贝文件到NFS共享目录

#sudo cp formula /nfsshare

(2)计算 4个数的平均值

1、在Linux 主机上建立工作目录,执行如下命令。

# cd ~

# mkdir exam2

# cd exam2

# gedit avg.c

2、在avg.c程序里面输入以下内容:

#include

extern int average(int i, int j, int k, int l);

int main(void)

{

int a,b,c,d,avr;

printf("Input 4 number:\n");

scanf("%d",&a);

scanf("%d",&b);

scanf("%d",&c);

scanf("%d",&d);

printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);

avr= average(a, b, c, d);

printf("(%d+,%d+,%d+,%d)/4=,%d\n",a,b,c,d,avr);

return 0;

}

3、执行命令生成汇编文件

# gedit average.S

包含计算平均值的汇编文件为average.S内容如下:

.global average

.align

average:

add r0, r1, r0

adc r0, r2, r0

adc r0, r3, r0

mov r0, r0, lsr #2

mov pc, lr

.end

4、编写Makefile 文件

由于编译程序的过程较为繁琐,因此编写了一个简单的Makefile来组织这些源程序,因

为程序是要在开发板上运行,因此指定了交叉编译工具。

# gedit Makefile

Makefile文件内容如下:

CC = arm-none-linux-gnueabi-gcc

NAME = average

average: avg.c average.S

$(CC) avg.c average.S -static -o $(NAME)

clean:

rm -f $(NAME)

注意:其中首行空格用Tab键生成,否则有编译错误。

5、在exam1目录下执行make命令得到可执行文件average

#make

6、应用strip工具精简可执行程序

# arm-none-linux-gnueabi-strip average

7、file命令可以查看average程序属性

#file average

8、拷贝文件到NFS共享目录

#sudo cp average /nfsshare

(3)配置开发板网络和NFS服务

首先,电脑插入SD卡,输入命令:

bistu@bistu-virtual-machine:~$cd /media/rootfs/etc/

network

bistu@bistu-virtual-machine:~$sudo gedit interfaces

在文本编译器中最后行添加如下内容:

auto eth0

iface eth0 inet static

address 192.168.1.90

netmask 255.255.255.0

gateway 192.168.1.1

保存并退出。

拷贝NFS服务和TFTP服务所需Deb库到SD卡rootfs/home/chipsee目录。

bistu@bistu-virtual-machine:~$ cd /media/rootfs/home/

chipsee

bistu@bistu-virtual-machine:~$ cp -R ~/deb .

安全删载SD卡退出。

使用USB转串口模块和串口线,连接电脑和开发板。

主机上新开一个终端,执行命令,访问ttyUSB0设备端口:

bistu@bistu-virtual-machine:~$sudo minicom

将SD卡插入开发板,插入5V电源启动开发板系统,在minicom终端中可以看到系统启

动信息,进入开发板登录界面,输入用户名chipsee,密码chipsee。

连接电脑网络线上端至开发板,这样电脑和开发板相当于网络直连,在minicom 终端上

执行开发板命令,ping 电脑IP地址。

chipsee@chipsee-desktop:~$ ping 192.168.1.10

没问题的话可以ping通。

接着安装NFS服务所需支持库。

Chipsee@chipsee-desktop:~$ cd ~/deb

Chipsee@chipsee-desktop:~$ sudo dpkg -i

libgssglue1_0.3-4ubuntu0.1_armhf.deb

Chipsee@chipsee-desktop:~$ sudo dpkg -i

libtirpc1_0.2.2-5_armhf.deb

Chipsee@chipsee-desktop:~$ sudo dpkg -i

rpcbind_0.2.0-7ubuntu1.2_armhf.deb

Chipsee@chipsee-desktop:~$ sudo dpkg -i

libnfsidmap2_0.25-1ubuntu2_armhf.deb

Chipsee@chipsee-desktop:~$ sudo dpkg -i

nfs-common_1%3a1.2.5-3ubuntu3.1_armhf.deb

Chipsee@chipsee-desktop:~$ sudo dpkg -i

tftp_0.17-18ubuntu2_armhf.deb

最后创建NFS挂载目录,挂载主机192.168.1.10的nfsshare目录到nfs目录下,这样可以访

问主机目录文件,执行并测试程序。

chipsee@chipsee-desktop:~$ cd /mnt

chipsee@chipsee-desktop:~$ sudo mkdir nfs

chipsee@chipsee-desktop:~$ sudo mount

192.168.1.10:/nfsshare nfs

chipsee@chipsee-desktop:~$ cd nfs

chipsee@chipsee-desktop:~$ ./formula

输入x值并计算得到结果,用计算器计算结果并对比是否正确。

同样,运行求均数程序,对比运行结果

五、实验结果

六、实验感想

近年来嵌入式硬件的发展

近年来嵌入式硬件的发展 施明 摘要:近年来随着移动处理、嵌入式应用的大量涌现,以及通用微处理器工艺水平和主频的不断提升,双核乃至四核的出现,功耗日益成为设计者必须关心的问题。这就要求嵌入式软硬件提出了新的要求,需要不断的改进和创新。本文围绕嵌入式近年的发展与更新,主要翻阅了十几篇论文,直接参考文献12篇,其中外文资料4篇。根据所阅读的文献通过对比浅析嵌入式硬件近年来的发展状况。 关键词:8位微控制器,32位微控制器,DSP核MPU In recent years the development of embedded hardware Abstract: in recent years as mobile processing, embedded application, as well as the general microprocessor to improve the technological level and frequency, dual-core and even the emergence of four nuclear power has increasingly become the designers must concern. This requires an embedded hardware and software is put forward new requirements, need continuous improvement and innovation. Around embedded in recent years, the development and updating, this paper mainly through more than ten papers, direct 12 references, including 4 foreign data. According to the reading of literature by comparing the embedded hardware is analysed in recent years the development of the situation Key words:8-bit microcontroller.32- bit microcontroller. DSP core MPU 一、引言 20世纪90年代后期,正处后PC机的前夜.开始兴起了嵌入式的第二次浪潮。随着手机的铺天盖地,惊醒了国内的专家和广大的单片机技术人员,引发了一场单片机与嵌入武的议论。无论改论是否有一致的认识,议论总是有益的。如果能取得一致的认识当然就更好。嵌入式,即嵌入式计算机,是从功能上说的。嵌入式计算机强调的要点是:计算机不为表现自己,而为辅助它所在的宿主设备.智能化地,剃现设备的功能。单片机的叫法,一,未能体现它初始的控制使命,二,它不能代表嵌入式的总体.仅是嵌入式中的类。尽管单片机的结构展示着嵌入式的极终方向,正如今日人们追求的SoC。单片机是Intel 初期的命名,但随后不久就改口叫微控制器了,并把它列入嵌入式器件的一类之中。

详解嵌入式系统的发展特点及架构

详解嵌入式系统的发展特点及架构 随着电子产品的发展,嵌入式系统已经广泛地应用我们的生活的各个领域,例如:计算机、汽车、航天飞机等等。提到嵌入式系统首先联想到单片机,是的,MCU是最基础和常用的嵌入式系统。嵌入式系统与模拟电路或其他功能电路组成的SoC(System on Chip,片上系统)或SiP(System in Package,系统级封装)在手机、机顶盒等功能复杂的产品中的应用也越来越多。 嵌入式系统发展呈现如下特点:·由8位处理向32位过渡·由单核向多核过渡·向网络化功能发展·MCU、FPGA、ARM、DSP等齐头并进·嵌入式操作系统呈多元化趋势所有的嵌入式处理器都是基于一定的架构的,即IP核(Intellectual Property,知识产权),生产处理器的厂家很多,但拥有IP核的屈指可数。有自己的IP核,光靠卖IP核即可坐拥城池。嵌入式系统的架构有专有架构和标准架构之分,在MCU(微控制器)产品上,像瑞萨(Renesas)、飞思卡尔(Freescale)、NEC都拥有自己得专有IP核,而其他嵌入式处理器都是基于标准架构。 标准的嵌入式系统架构有两大体系,目前占主要地位的是所谓RISC(Reduced Instruction Set Computer,精简指令集计算机)处理器。RISC体系的阵营非常广泛,从ARM、MIPS、PowerPC、ARC、Tensilica等等,都是属于RISC处理器的范畴。不过这些处理器虽然同样是属于RISC体系,但是在指令集设计与处理单元的结构上都各有不同,因此彼此完全不能兼容,在特定平台上所开发的软件无法直接为另一硬件平台所用,而必须经过重新编译。 其次是CISC(Complex Instruction Set Computer,复杂指令集计算机)处理器体系,我们所熟知的Intel的X86处理器就属于CISC体系,CISC体系其实是非常低效率的体系,其指令集结构上背负了太多包袱,贪大求全,导致芯片结构的复杂度被极大的提升。过去被应用在嵌入式系统的X86处理器,多为旧世代的产品,比如说,工业计算机中仍可常见数年前早已退出个人计算机市场的Pentium3处理器。由于此世代的产品效能与功耗比可以说是过去X86体系的甜蜜点,加上已经被市场长久验证,稳定性高,故常被应用于效能需求不高,但稳定性要求高的应用中,如工控设备等产品。 1、RISC家族之ARM处理器 ARM 公司于1991年成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术智能财产(IP)核心的处理器,即我们通常所说的ARM处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的处理器应用约占据了32位RISC微处理器75%以上的市场,ARM技术不止逐步渗入到我们生活的各个方面,我们甚至可以说,ARM 于人类的生活环境中,已经是不可或缺的一环。 目前市面上常见的ARM处理器架构,可分为ARM7、ARM9以及ARM11,新推出的Cortex系列尚在进行开发验证,市面上还未有相关产品推出。ARM也是嵌入式处理器中首先推出多核心架构的厂商。ARM 首个多核心架构为ARM11 MPCore,架构于原先的ARM11处理器核心之上。ARM11核心是发布于2002年10月份,为了进一步提升效能,其管线长度扩展到8阶,处理单元则增加为预取、译码、发送、转换/MAC1、执行/MAC2、内存存取/MAC3和写入等八个单元,体系上属于ARM V6指令集架构。ARM11采用当时最先进的0.13μm制造制程,运行频率最高可达500到700MHz。如果采用90nm制程,ARM11核心的工作频率能够轻松达到1GHz以上—对于嵌入式处理器来说,这显然是个相当惊人的程度,不过显然1GHz在ARM11体系中不算是个均衡的设定,因此几乎没有厂商推出达到1GHz的ARM11架构处理器。 ARM11的逻辑核心也经过大量的改进,其中最重要的当属“静/动态组合转换的预测功能”。ARM11的执行单元包含一个64位、4种状态的地址转换缓冲,它主要用来储存最近使用过的转换地址。当采用动态转换预测机制而无法在寻址缓冲内找到正确的地址时,静态转换预测功能就会立刻接替它的位置。在实际测试中,单纯采用动态预测的准确率为88%,单纯采用静态预测机制的准确率只有77%,而ARM11的静/动态预测组合机制可实现92%的高准确率。针对高时脉速度带来功耗增加的问题,ARM11采用一项名为“IEM (Intelligent Energy Manager)”的智能电源管理技术,该技术可根据任务负荷情况动态调节处理器的电压,进而有效降低自身的功耗。这一系列改进让ARM11的功耗效能比得以继续提高,平均每MHz只需消耗0.6mW(有快取时为0.8mW)的电力,处理器的最高效能可达到660 Dhrystone MIPS,远超过上一代产品。至于ARM11 MPCore,其在架构上与ARM11同样属于V6指令体系。根据不同应用的需要,MPCore可以被配置为1-4个处理器的组合方式,根据官方资料,其最高性能约可达到2600 Dhrystone MIPS的程度。MPCore是标准的同质多核心处理器,组成MPCore的是4个基于ARM11架构的处理器核心,由于多核心设计的优点是在频率不变的情况下让处理器的性能获得明显提升,因此可望在多任务应用中拥有良好的表现,这一点很适合未来家庭消费电子的需要。例如,机顶盒在录制多个频道电视节目的同时,还可通过互联网收看数字视频点播节目、车内导航系统在提供导航功能的同时,仍然有余力可以向后座乘客播放各类视频码流等。 2、RISC家族之MIPS处理器 MIPS是美国历史悠久的RISC处理器体系,其架构的设计,也如美国人的性格一般,相当的大气且理想化。MIPS架构起源,可追溯到1980年代,斯坦福大学和伯克利大学同时开始RISC架构处理器的研究。MIPS公司成立于1984年,随后在1986年推出第一款R2000处理器,在1992年时被SGI所并购,但随着MIPS架构在桌面市场的失守,后来在1998年脱离了SGI,成为MIPS技术公司,并且在1999年重新制定公司策略,将市场目标导向嵌入式系统,并且统一旗下处理器架构,区分为32-bit以及64-bit两大家族,以技术授权成为主要营利模式。 MIPS除了在手机中应用得比例极小外,其在一般数字消费性、网络语音、个人娱乐、通讯、与商务应用市场有着相当不错的成绩,不过近年来因为其它IP授权公司的兴起,其占有比率稍有衰退。MIPS应用最为广泛的应属家庭视听电器(包含机顶盒)、网通产品以及汽车电子方面。对于MIPS,其核心技术强调的是多执行绪处理能力(Multiple issue,国内也通常称作多发射核技术,以下以此称谓)。一般来说,多核心与多发射是两个并不是互斥的体系,可以彼此结合,然而在嵌入式领域,ARM与MIPS这两大处理器IP厂商对这两个架构的态度不同,造成这两个架构在嵌入式市场上对抗的结果。 MIPS 的多发射体系为MIPS34K系列,此为32位架构处理器,从架构上来看,其实多发射核技术只是为了尽量避免处理单元闲置浪费而为的折衷手段,就是将处理器中的闲置处理单元,分割出来虚拟为另一个核心,以提高处理单元的利用率。在技术上,为了实现硬件多重处理,多核心与多发射两者对于软件最佳化的复杂度方面同样都比单核心架构来得复杂许多。34K核心能执行现有的对称式二路SMP操作系统(OSes)与应用软件,通过操作系统的主动管理,现有的应用软件也能善用多发射处理能力。它亦能应用在多个执行线程各自有不同角色的(AMP或非对称式多重处理)环境下。此外,34K核心能设定一或两个虚拟处理组件(VPE)以及多至5个线程内容(Thread Content),提供相当高的设计弹性。MIPS的多发射在任务切换时,有多余的硬件缓存器可以记录执行状态,避免切换任务时,因为必须重新加载指令,或者是重新执行某部分的工作,造成整个执行线程的延迟。不过即便能够达到同时执行多个任务的能力,多发射处理器本质上仍然是单核心处理器,在单一执行绪

吉林大学嵌入式系统与结构考题及答案

一、单选题 1. (4分) 通常用作堆栈指针的寄存器叫什么名字? ? A. r13 ? B. r14 ? C. r15 ? D. cpsr 得分:0知识点:嵌入式系统与结构作业题收起解析答案A 解析 2. (4分) ARM使用什么样的总线协议? ? A. AMBA ? B. CAN ? C. 1553b总线 ? D. TCP/IP 得分:0知识点:嵌入式系统与结构作业题收起解析答案A 解析

(4分) 通常用作堆栈指针的寄存器叫什么名字? ? A. r13 ? B. r14 ? C. r15 ? D. cpsr 得分:0知识点:嵌入式系统与结构作业题收起解析答案A 解析 4. (4分) 根据ARM命名规则,ARM7TDMI的T代表什么意思? ? A. debug ? B. 支持Thumb指令 ? C. 多媒体处 ? D. 支持Jazelle加速 得分:0知识点:嵌入式系统与结构作业题收起解析答案B 解析 5.

当前程序状态字寄存器的名称是什么? ? A. CPSR ? B. SPSR ? C. MCR ? D. MSR 得分:0知识点:嵌入式系统与结构作业题收起解析答案A 解析 6. (4分) ARM上的外设中断,通常产生哪种异常? ? A. FIQ ? B. IRQ ? C. Data Abort ? D. SWI 得分:0知识点:嵌入式系统与结构作业题收起解析答案B 解析 7. (4分) ARM中位于主存储器和内核之间的快速存储器叫什么?

? A. Cache ? B. MMU ? C. MPU ? D. SDRAM 得分:0知识点:嵌入式系统与结构作业题收起解析答案A 解析 8. (4分) 下列哪条指令可以实现r1=r0×3? ? A. ADD r1,r0,r0,LSL#1 ? B. ADD r1,r0,r0,LSL#3 ? C. MOV r1,r0,LSL#1 ? D. MOV r1,r0,LSL#3 得分:0知识点:嵌入式系统与结构作业题收起解析答案A 解析 9. (4分) ARM上实现内存管理的单元叫什么? ? A. MMU

嵌入式系统硬件体系结构设计

一、嵌入式计算机系统体系结构 体系主要组成包括: 1. 硬件层 硬件层中包含嵌入式微处理器、存储器(SDRAM 、ROM 、Flash 等)、通用设备接口和I/O 接口(A/D 、D/A 、I/O 等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM 中。 软件层功能层

2. 中间层 硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP 层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。 3. 系统软件层 系统软件层由实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。 4. 功能层 功能层主要由实现某种或某几项任务而被开发运行于操作系统上的程序组成。 一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,而嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。 硬件的设计 本网关硬件环境以单片机S3C2440芯片和DM9000以太网控制芯片为主,

嵌入式学习心得体会5篇

嵌入式学习心得体会5篇 嵌入式学习心得体会(一) 首先我声明,我是基于嵌入式系统平台级设计的,硬件这个方向我相对来讲比较有发言权,如果是其它方面所要具备的基本技能还要和我们培训中心其它专业级讲师沟通。他们的方面上我只能说是知道些,但不是太多,初级的问题也可以问我。 对于硬件来讲有几个方向,就单纯信号来分为数字和模拟,模拟比较难搞,一般需要很长的经验积累,单单一个阻值或容值的精度不够就可能使信号偏差很大。因此年轻人搞的较少,随着技术的发展,出现了模拟电路数字化,比如手机的modem 射频模块,都采用成熟的套片,而当年国际上只有两家公司有此技术,自我感觉模拟功能不太强的人,不太适合搞这个,如果真能搞定到手机的射频模块,只要达到一般程度可能月薪都在15k以上。 另一类就是数字部分了,在大方向上又可分为51/arm的单片机类,dsp类,fpga 类,国内fpga的工程师大多是在ic设计公司从事ip核的前端验证,这部分不搞到门级,前途不太明朗,即使做个ic前端验证工程师,也要搞上几年才能胜任。dsp 硬件接口比较定型,如果不向驱动或是算法上靠拢,前途也不会太大。 而arm单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极大,而硬件设计最体现水平和水准的就是接口设计这块,这是各个高级硬件工程师相互pk,判定水平高低的依据。而接口设计这块最关键的是看时序,而不是简单的连接,比如pxa255处理器i2c要求速度在100kbps,如果把一个i2c外围器件,最高还达不到100kbps的与它相接,必然要导致设计的失败。这样的情况有很多,比如51单片机可以在总线接lcd,但为什么这种lcd就不能挂在arm的总线上,还有arm7总线上可以外接个winband的sd卡控制器,但为什么这种控制器接不到arm9或是xscale处理器上,这些都是问题。 因此接口并不是一种简单的连接,要看时序,要看参数。一个优秀的硬件工程师应该能够在没有参考方案的前提下设计出一个在成本和性能上更加优秀的产品,靠现有的方案,也要进行适当的可行性裁剪,但不是胡乱的来,我遇到一个工程师

嵌入式系统与结构

?作业详细信息 ?单选题 ?多选题 ?判断题 ?填空题 作业>>详细信息 ?学期:141511 ?课程名称:嵌入式系统与结构 ?作业名称:嵌入式系统与结构 ?本次作业成绩:0分作业综合成绩:0分 ?本次题目信息:多选题:15 单选题:35 ?多选题个数:15个完成次数:1次 ?单选题个数:35个完成次数:1次 ?指导教师:张晋东所在学院:算机科学与技术学院 ?EMail:zhangjindong_100@https://www.sodocs.net/doc/ed5061091.html, 作业>>单选题 1.r13 2.r14 3.r15 4.cpsr 1.debug 2.支持Thumb指令 3.多媒体处 4.支持Jazelle加速

1.PowerPC 2.SecurCore 3.OMAP 4.AT91 1.7 2.8 3.9 4.10 1.会 2.不会 3.根据程序的执行状态决定是否影响 4.根据执行的指令决定是否影响 1.Data Abort 2.指令预取异常 3.IRQ中断请求

4.FIQ中断请求 1.37个 2.16个 3.38个 4.39个 1.ADD 2.SUB 3.MUL 4.MOV 1.r1 2.r14 3.spsr 4.cpsr 1.MPU除有内存单元保护功能外,还具有虚拟地址到物理地址的映射 2.两种功能相同,可以在不同的芯片上集成不同的模块

3.MMU的功耗比MPU低 4.MMU除有内存单元保护功能外,还具有虚拟地址到物理地址的映射 1.32位 2.16位 3.除MOV指令32位外,其他指令均为16位 4.可以通过编译器的选项设定其是16位还是32位 1.ADD 2.SUB 3.MUL 4.MOV 1.ADD 2.SUB 3.MUL 4.MOV

嵌入式学习心得体会范文

嵌入式学习心得体会范文 嵌入式学习是将学习真正“嵌入”到日常工作中,使学习的知识能得到有效的转化。下面是小编整理的嵌入式学习心得体会,欢迎大家参阅。 嵌入式学习心得体会范文: 这个题目很大,给人一种感觉我好像很成功,其实不然。实际上自己水平不高,甚至很低,但是做过了一些曲折的学习道路,同时把自己真实的学习历程表达出来,希望对后来者有借鉴的意义,甚幸! 工作三年、几成废人!

我XX年毕业于华中地区的一个理工科大学,专业是机械电子,我当时已经签了一家内陆某个省级机关工作,家里八辈是农民,并且很偏远,能够进入这样的地方是祖坟有风水。但在毕业前夕有个进入it的机会,我本想进去的,家里人极力反对,阻力可想而知。同时要交4000元的违约金,对我来说是天文数字。大学里的费用很多是借的,几乎将近一半的费用是在大学勤工俭学挣的,为了省钱,高中一个学期回家一次,大学一年回去一次。并且我个人也有特殊的人生背景(悲景更确切),这里不多说了,写十篇也写不完,同时偏离主题。这样我就参加了工作。一张报纸一杯茶的日子,几乎下班后有种很空虚和恐慌的感觉。在工作中虽然是与自己专业有点关系,但是很少。专业几乎荒废。我自己也思考,如果再不出去,自己将会成废人,只好让国家养了。两年后决定出去,但是几成废人,谁要呢,只好到学校去镀金。这是中国教育和社会的悲哀! 至于专业就改为计算机方面,听说好找工作,我说实话不是很对计算机特别感兴趣,生存第一需要。不要笑我,哈哈!

考研成绩出来,超过了国家线几十分。那个方向要两个,我第三,但是那年非碘,不面试就按分数来排,自然我落选了。其实给我面试机会也不一定要我,哈哈,自己几斤几两很清楚。 最后调剂到另外一个学校,交钱,咬咬牙,交吧!现在仍然债台高筑! 进入学校前夕 为什么要把这段列出,看后就知道了。 单位有网络,经常上网查些英语资料,在那里唯独英语没有丢很多。于是我就在网上查资料,学什么好呢,最后确定学嵌入式把,听说跟硬件相对比较紧密!而我在大学里多少学习了数字电路,单片机等,所以多少也有所利用,不会真的一无所知。当然在这之

嵌入式实验心得体会

嵌入式实验心得体会 嵌入式实验心得体会是计算机专业应该具备的常用知识,以下这篇范文整理个人对嵌入式系统的认识,和进行操作之后的个人体会,对操作的疑难的反思。下面是这篇嵌入式实验心得体会 嵌入式实验心得体会 学期开始,我们开始学习《嵌入式系统及应用》,由于初次接触嵌入式系统,感觉蛮难的,所以收获不是很大,很多的概念都比较模糊,等到学期结束开始做嵌入式课程设计时,真是茫然无从下手,自,从拿到设计主题后,我就从像热锅像上的蚂蚁,一个字“急”。最后实在没有办“法,逼着自己去学法 习,查资料,总算对嵌入式有了资浅层理解。浅 嵌入式系统本本身是一个相对模糊的定义义,一个手持的mp3和一个一pc104的微型工业业控制计算机都可以认为是嵌入是式系统。总体来说,嵌入式系统是“用于控,制,监视或者辅制 助操作机器器和设备的装备”。一个典典型的桌面linux系统统包括3个主要的软件层---linux-内核、cc库和应用程序代码。内核核是唯一可以完全控制硬件的层,内核驱动程序代件表应用程表序与硬件之间进行行会话。内核之上是c 库,,负责把posixapii转换为内核可以识别的形形式,然后调用内核,从应应用程序向内核传递参数。应用程序依靠驱动内核。来完成特定的任务。来在了解了基础知识之后,我了开始进行上机操作,当然开,,其中遇到很多的难题,很多东西都是第一次接触很,又没有别,人在旁边指导操作,完全凭借自己去摸操索索练习。其中的困难可想而知。然而坚持就是胜利而,,牙一咬眼一闭坚持做下去去,而通过本次实验,我感觉收获还是蛮多的。可感能我对于嵌入能式的知识学习的还是不太多,但是这习之外的东西收获颇丰。之

嵌入式系统与结构 吉大考试题库答案

嵌入式系统与结构 1:假设r0=0x01,r1=0x03,正确执行MOV r0,r1后,r0的值为?3.0x03 2:ARM上实现内存管理的单元叫什么?1.MMU 3:ARM采用多少位的体系结构?2.32位 4:Thumb指令集的长度是多少?2.16位 5:下列描述中,哪些是正确的?1.ARM包含除法硬件 6:程序状态寄存器CPSR的C位表示什么?3.运算结果产生进位 7:指令MOV r0,r1,LSL,#3中,LSL的作用是?2.逻辑左移 8:下列哪条指令,可以实现将地址单元(r1+r2×4)的数据读到r0?1.LDR r0,[r1,r2,LSL ×2] 9:ARM使用什么样的总线协议?1.AMBA 10:用户模式下的可见通用寄存器个数为多少个?2.16个 11:处理器上电默认进入哪种状态?1.ARM 12:提供了安全解决方案的ARM系列产品是以下系列中的哪一种? 2.SecurCore 13:当前程序状态字寄存器的名称是什么?1.CPSR 14:CPSR寄存器的作用是什么?1.存储当前的处理器状态 15:下面所列指令,哪一条指令语法格式正确?2.ADD r1,r2,r3 16:ARM汇编指令中,用于实现减法运算的是哪条指令?2.SUB 17:ARM上实现内存管理的单元叫什么?1.MMU 18:ARM的全称是什么?1.Advanced RISR Machines 19:下列哪些指令可以协处理器的访问?1.MRC

20:ARM用于响应快速外部中断的处理器模式叫什么?1.FIQ 21:下面哪条指令使用了ARM中的桶型移位寄存器?3.STR r0,[r1,r2,LSL #2] 22:ARM共有几种处理器模式?1.7 23:假设r0=0x05,r1=0x03,正确执行SUB r0,r0,r1后,r0的值为?2.0x02 24:ATPCS中规定,使用哪个寄存器存放堆栈基地址?2.r13 25:如何禁止IRQ中断?1.将CPSR寄存器的I位置1 26:ATPCS中规定,用哪些寄存器传递参数?1.r0~r3 27:ARM上电后进入哪种模式?2.管理模式 28:什么样的ARM指令可以条件执行?1.所有的 29:ATPCS中规定,使用哪个寄存器存放程序的返回地址?1.r14 30:Thumb指令集的长度是多少?1.16 31:当程序直接改写cpsr来切换模式时,cpsr会被复制到spsr?2.不会32:下列哪些指令可以访问程序状态寄存器?1.MRS 33:ARM中位于主存储器和内核之间的快速存储器叫什么?1.Cache 34:ARM使用那个寄存器存放程序的返回地址?1.R14 35:ARM指令中对立即数的操作有一定限制,下面所列立即数中,属于合法立即数的是哪一个?4.0xff 4:下列那个寄存器被当作程序计数器pc?4.r15 5:对MMU和MPU的区别描述正确的是?4.MMU除有内存单元保护功能外,还具有虚拟地址到物理地址的映射功能 7:ARM中哪个异常优先级最高?1.Reset 9:ARM上电执行下列哪种异常?1.Reset

嵌入式实验报告心得

嵌入式实验报告心得 篇一:嵌入式系统原理实验总结报告 嵌入式系统原理实验总结报告 车辆座椅控制系统实验 XX/5/23 嵌入式系统原理实验总结报告 一、技术性总结报告 (一)题目:车辆座椅控制系统实验(二)项目概述: 1.为了实现车辆座椅控制的自动化与智能化。 2.方便用户通过智能手机与车载传感器之间的联动。 3.使车辆作为当今物联网中重要的一个节点发挥作用。 4.通过车辆座椅控制系统实验实现对嵌入式系统原理课程的熟练掌握与对嵌入式系统原理知识的深化记忆。 5. 加强本组学生对嵌入式系统原理的更深层次的理解与运用。 (三)技术方案及原理 本次试验分为软件、硬件两个部分。 1.软件部分。 A.智能手机部分,包括通过智能手机对座椅的控制部分、手机所携带的身份信息部分。 本部分软件使用Java编写,其程序部分为:主程序:package ;

import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ;import ; import ; import ; public class MainActivity extends ActionBarActivity { private Button Up = null; private Button Left = null; private Button Dowm = null; private Button Right = null; private Socket socket = null; private static final String HOST = "";private static final int PORT = 10007; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(; initControl();} private void initControl() {

嵌入式数据结构

程序的执行与嵌入式编码 这一节主要描述的是主要数据结构的代码生成和嵌入式编码器实时车间。他也总结概括了由文件和头文件构成的编码器实时车间嵌入式的程序,还有描述了怎么找到他们。另外,这一节将描述如何生成实时嵌入式编码器车间项目,从最高水平下降到定时器中断水平。本章节包含下列主题:(略) 一:代码模块的数据结构 实时模型数据结构 实时嵌入式编码在车间实时模型数据结构中封装关于根模型的信息。我们把数据结构的实时模型叫做运转计时器(简称rtm)。 为了减少内存需求,rtm只包含响应你模型的信息。例如,相关领域的数据只有在拥有MAT-file具有代码生成选项时启用。Rtm可能也包含有关时间,结算器,还有模型数据的特殊模型的rtM相关信息,例如:输入,输出,声明,参数。 由于默认,rtM包含一个错误状态,在此时你的代码就可以监视或者设置。如果你不需要日志或监控你的应用程序错误状态,就选择错误状态实时抑制模型数据结构的选项。这将进一步减少内存使用。选择此选项,也可能导致rtM从生成的代码中完全消失。 rtM符号的定义的生成代码如下: ?Structure definition (in model.h): struct _RT_MODEL_model_Tag { ... }; ?Forward declaration typedef (in model_types.h): typedef struct _RT_MODEL_model_Tag RT_MODEL_model; ?Variable and pointer declarations (in model.c): RT_MODEL_model model_M_; RT_MODEL_model *model_M = &model_M_; ?Variable export declaration (in model.h): extern RT_MODEL_model *model_M; 栈宏 实时车间提供的嵌入式编码器栈宏,使你的代码能够与rtM界面有接口。通过model.h,你的代码可以使用宏,并可以进入他们引用的任何字段。 如果你的代码是连接到一个单一的模型,一般来说,你应该把rtM指向model_M,使用宏来访问model_M,就像下面的代码片断。 #include "model.h" const char *errStatus = rtMGetErrorStatus(model_M); 你的代码与rtMs的接口有多个,只需要把头文件对应于每个模型,就像下面的代码片断。 #include "modelA.h" /* Make model A entry points visible */ #include "modelB.h" /* Make model B entry points visible */ void myHandWrittenFunction(void) { const char_T *errStatus; modelA_initialize(1); /* Call model A initializer */ modelB_initialize(1); /* Call model B initializer */ /* Refer to model A s rtM */ errStatus = rtmGetErrorStatus(modelA_M);

嵌入式心得体会

对于电焊,虽然一点都不陌生,但亲手操作的机会却只有几次,因此我很庆幸能够有这样的焊接机会,进行这样的实践。 焊接看似容易,实则需要长时间练习才能掌握。刚开始的时候,手一直在抖,尤其这次焊的还是贴片电容、电阻,原器件比以前焊的小好多,用镊子的手一抖就夹不住了,拿着烙铁的手抖得都不容易将器件焊上,焊出来的焊点也特别难看,在不断尝试,不断挑战自我的过程中,我的手不抖了,也基本能掌握锡的用量了,当焊点终于不再“丑不忍睹”的时候,对焊接也没有当初的恐惧了。对自己的动手能力也有了信心。 在焊接的过程中我学到了许多以前我不知道的东西,比如,以前我只知道有电烙铁,但不知道它还有好多种类,有单用式、两用式、调温式、恒温式、直热式、感应式、内热式和外热式。松香可以将多余的锡弄下来,用酒精可以把板擦的干净些。通过视频和查找资料,知道了在焊不同的器件时用的电烙铁的头不同,比如在焊引脚时要用尖头,焊CPU时要用刀口,为防止锡将焊引脚的小孔堵住,用松香把纸条粘在小孔上,把小孔盖住,把CPU的引脚对齐,用锡先涂满两边,固定好芯片,在焊另外两边,然后用尖头的电烙铁沾着松香将多余的锡弄下来。 本次课程设计的是信号发生器,信号发生器在EDA课程,数字信号处理课程中都曾涉及,所以还是较为熟悉的,在设计之前查阅了一些相关书籍,也从网上查找了一些相关资料,程序代码中运用到了C语言,将程序加入到嵌入式结构框架中,进行定义变量,端口,设定所用的GPIO参数等等。 在焊接的过程中我不仅学到了知识,而且让我深深地体会到一个团队中各成员合作的重要性,要善于团队合作,在进行团队合作的时候,还要耐心听取每个成员的意见,每个人都有长处和短处,只有在包容别人的同时我们才可以取长补短,不断完善和不断进步,交到更多的朋友,学到更多的知识。同时还让我明白:做任何事都要一心一意,严谨认真,反复琢磨,不能畏惧,要有信心和勇气,一定要做好充分的准备。不能盲目去做,要坚持,还要学会反思跟总结,我们不是为了完成任务而完成,这还是一个学习跟提高的过程。 在大学里学的不是知识,而是一种叫做自学的能力。在这个知识爆炸的时代,知识更新太快,靠原有的一点知识肯定不行。以后的工作中肯定会用到一些新的

嵌入式系统

第一章绪论 1.嵌入式系统的定义、特点和分类 2.嵌入式操作系统 3.嵌入式系统的选型 4.嵌入式系统的发展趋势 5.嵌入式系统的关键技术 6.嵌入式系统的应用 思考与练习 1.什么是嵌入式系统?嵌入式系统的特点是什么? 2.请说出嵌入式系统与其它商用计算机系统的区别。 3.嵌入式系统的关键技术有哪些? 4.请说明嵌入式系统技术发展及开发应用的趋势。 5.你知道嵌入式系统在我们日常生活中哪些设备中应用?说明其采用的处理器是什么?采用的哪一个嵌入式操作系统? 6.开发嵌入式系统的计算机语言主要有哪几种?分别用在什么场合?7. 嵌入式系统和专用集成电路的关系是什么? 第二章嵌入式系统设计方法 1. 需求分析与系统分析法 2.软硬件协同设计方法 3.嵌入式硬件开发方法 4.嵌入式软件开发方法 5.构件式开发方法 6.软件调试与软件测试方法 思考与练习 1.请说出嵌入式系统设计的主要方法及设计流程。在嵌入式系统开发的总体设计中,需要进行哪几方面的工作? 2.嵌入式硬件调试的主要方法及技术手段有哪些? 3.什么是构件式开发方法?说明该方法对嵌入式系统开发具有什么意义,并举例说明。4.需求分析阶段分为哪几个步骤?每个步骤完成什么工作? 5.在进行系统设计时,概要设计和详细设计的工作内容有什么不同? 6.在嵌入式系统实现阶段,需要选择开发平台,通常开发平台的选择包括哪些内容?7.在当今IT 时代,为了使产品尽快进入市场,就产品开发阶段,你认为有哪些方法可以加快产品的开发速度? 8.什么是“黑盒”测试?什么是“白盒”测试?什么是“灰盒”测试? 9.嵌入式系统开发中,使用软件组件技术有什么好处? 10.什么是知识产权核(Intellectual Property Core,简称IP Core)?指出“软知识产权核(Soft IP Core)”、“硬知识产权核(Hard IP Core)”、“固知识产权核(Firm IP Core)”的意义和差别。 11.根据嵌入式软件开发的不同阶段,嵌入式开发工具有哪些种类? 12.从底层硬件到上层应用,嵌入式软件的开发可以分为哪几种? 13.什么是交叉开发环境? 14.什么是OCD 调试方法?指出OCD 的主要形式JTAG 和BDM 的特点和区别? 15.嵌入式软件的调试运行环境和固化运行环境主要区别是什么?

嵌入式部分课后题答案

嵌入式复习资料 第一章嵌入式系统概述: 1、什么是嵌入式系统?是简单列举一些生活中常见的嵌入式系统的实例。P3 嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。 3、是比较嵌入式系统与通用PC的区别。P3 (1)嵌入式系统是专用的计算机系统,而PC是通用的计算机系统。 (2)技术要求不同,通用PC追求高速、海量的数据运算;嵌入式要求对象体系的智能化控制。 (3)发展方向不同,PC追求总线速度的不断提升,存储容量不断扩大;嵌入式追求特定对象系统的智能性,嵌入式,专用性。 4、嵌入式体统有哪些部分组成?简单说明各部分的功能与作用。P6 (1)硬件层是整个核心控制模块(由嵌入式微处理器、存储系统、通信模块、人机接口、其他I/O接口以及电源组成),嵌入式系统的硬件层以嵌入式微处理器为核心,在嵌入式微处理器基础上增加电源电路、时钟电路、和存储器电路(RAM和ROM等),这就构成了一个嵌入式核心控制模块,操作系统和应用程序都可以固化在ROM中。 (2)中间层把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。一般包括硬件抽象层(Hardware Abstract Layer,HAL)和板级支持包(Board Support Package,BSP)。 (3)软件层由实时操作系统(Real Time Operating System,RTOS)、文件系统、图形用户接口(Graphical User Interfaces,GUI)、网络组件组成。(4)功能层是面向被控对象和用户的,当需要用户操作是往往需要提供一个友好的人际界面。 5、嵌入式系统是怎么分类的?P7 按照嵌入式微处理器的位数分类(4位、8位、16位、32位、64位);按照是实时性分类(硬实时系统式之系统对响应时间有严格的要求;软实时系统是对响应时间有一定要求); 按照嵌入式软件结构分类(循环轮询系统、前后台系统、多任务系统);按照应用领域分类。 6什么是多任务系统?多任务系统的特点些?P9 应用的场合:对于较复杂的嵌入式系统而言,存在许多互不相关的过程需要计算机同时处理,在这种情况下就需要采用多任务系统。 多任务系统的软件是由多个任务、多个中断服务程序以及嵌入式操作系统组成。任务是顺序执行的,并行性通过操作系统完成。 特点:(1)每个任务都是一个无限循环的程序,等待特定的输入,从而机型相应的处理。(2)这种程序模型将系统成分相对简单、相互合作的模块。(3)不同的任务共享同一个CPU和其他硬件,嵌入式操作系统对这些共享资源进行管理。(4)多个顺序机型的任务在宏观上是并行执行的,每个任务都运行在自己独立的CPU上。 第二章嵌入式处理器 1`嵌入式处理器有哪几类?简述各类嵌入式处理器的主要特点和应用领域。P16 嵌入式微控制器、嵌入式微处理器、嵌入式DSP、嵌入式片上系统。(1)嵌入式

嵌入式系统架构发展趋势及比较分析

嵌入式系统架构发展趋势及比较分析 范虎 嵌入式系统已经广泛地应用到当今各个领域,与我们的生活息息相关,小到掌上的数字产品,大到汽车、航天飞机。提到嵌入式系统我们很快会联想到单片机,不错,MCU是最基础和常用的嵌入式系统,但是目前像FPGA、ARM、DSP、MIPS 等其他嵌入式系统应用也越来越广泛。 总的来说,嵌入式系统发展呈现如下特点:·由8位处理向32位过渡·由单核向多核过渡·向网络化功能发展·MCU、FPGA、ARM、DSP等齐头并进·嵌入式操作系统呈多元化趋势,所有的嵌入式处理器都是基于一定的架构的,即IP 核(IntellectualProperty,知识产权),生产处理器的厂家很多,但拥有IP 核的屈指可数。嵌入式系统的架构有专有架构和标准架构之分,在MCU(微控制器)产品上,像瑞萨(Renesas)、飞思卡尔(Freescale)、NEC等都拥有自己的专有IP核,而其他嵌入式处理器都是基于标准架构。 标准的嵌入式系统架构有两大体系,目前占主要地位的是所谓RISC (ReducedInstructionSetComputer,精简指令集计算机)处理器。RISC体系的阵营非常广泛,从ARM、MIPS、PowerPC、ARC、Tensilica等等,都是属于RISC 处理器的范畴。不过这些处理器虽然同样是属于RISC体系,但是在指令集设计与处理单元的结构上都各有不同,因此彼此完全不能兼容,在特定平台上所开发的软件无法直接为另一硬件平台所用,而必须经过重新编译。 其次是CISC(ComplexInstructionSetComputer,复杂指令集计算机)处理器体系,我们所熟知的Intel的X86处理器就属于CISC体系,CISC体系其实是比较低效率的体系,但由于其已经被市场长久验证,稳定性高,故常被应用于效能需求不高,但稳定性要求高的应用中,如工控设备等产品。 下面将简单介绍一下几种比较常见的RISC和CISC嵌入式系统架构。 1、RISC家族之ARM处理器 ARM公司于1991年成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术(IP)核心的处理器,即我们通常所说的ARM处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的处理器应用约占据了32位RISC微处理器75%以上的市场。 目前市面上常见的ARM处理器架构,可分为ARM7、ARM9,ARM11以及Cortex 系列。ARM也是嵌入式处理器中首先推出多核心架构的厂商。ARM首个多核心架构为ARM11MPCore,架构于原先的ARM11处理器核心之上。ARM11采用当时最先进的0.13μm制造制程,运行频率最高可达500到700MHz。如果采用90nm制程,ARM11核心的工作频率能够轻松达到1GHz以上—对于嵌入式处理器来说,这显然是个相当惊人的程度。

计算机三级嵌入式知识点汇总

一、嵌入式系统开发的基础知识 1.嵌入式系统的特点、分类、发展与应用,熟悉嵌入式系统的逻辑组成。 (1)特点: 专用性 隐蔽性(嵌入式系统是被包装在内部) 资源受限(要求小型化、轻型化、低功耗及低成本,因此软硬件资源受到限制) 高可靠性(任何误动作都可能会产生致命的后果) 软件固化(软件都固化在只读存储器ROM中,用户不能随意更改其程序功能) 实时性 (2)逻辑组成 硬件:1)处理器(运算器、控制器、存储器) 目前所有的处理器都是微处理器中央处理器(CPU)和协助处理器(数 字信号处理器DSP、图像处理器、通信处理器) 2)存储器(随机存储器RAM和只读存储器ROM) RAM分为动态DRAM和静态SRAM两种。DRAM电路简单、集成度高、功耗小、成本低,但速度稍慢慢;SRAM电路较复杂、集成度低、 功耗较大、成本高,但工作速度很快,适合用作指令和数据的高速缓冲 存储器 RAM当关机或断电时,其中的信息都会消失,属于易失性存储器 ROM属于不易失性存储器。分为电可擦可编程只读存储器(存放固件)和闪速存储器(Flash ROM简称内存)。内存的工作原理:在低 压下,存储的信息可读但不可写,这类似于ROM;在较高的电压下,

所存储的信息可以更改和删除,这有类似于RAM。 3)I/O设备与I/O接口 4)数据总线 软件 (3)分类 按嵌入式系统的软硬件技术复杂程度进行分类: 1)低端系统采用4位或8位单片机,在工控领域和白色家电领域占主导地位, 如计算器、遥控器、充电器、空调、传真机、BP机等。 2)中端系统采用8位/16位/32位单片机,主要用于普通手机、摄像机、录 像机、电子游戏机等。 3)高端系统采用32位/64位单片机,主要用于智能手机、调制解调器、掌上 计算机、路由器、数码相机等。 (4)发展 20世纪60年代初,第一个工人的现代嵌入式系统(阿波罗导航计算机) 20世纪60年代中期,嵌入式计算机批量生产 20世纪70年代,微处理器出现 20世纪80年代中期,外围电路的元器件被集成到处理器芯片中,昂贵的模拟电路元件能被数字电路替代 20世纪90年代中期SOC出现,集成电路进入超深亚微米乃至纳米加工时代2.嵌入式系统的组成与微电子技术(集成电路、EDA、SoC、IP核等技术的作用和发展)(1)集成电路IC 集成电路的制造大约需要几百道工序,工艺复杂。集成电路是在硅衬底上制作而成的。硅衬底是将单晶硅锭经切割、研磨和抛光后制成的像镜面一样光滑的圆 形薄片,它的厚度不足1mm,其直径可以是6、8、12英寸甚至更大这种硅片称为

相关主题