嵌入式大作业

发布 2022-10-21 06:01:28 阅读 8782

2015嵌入式大作业。

一、叙述jtag接口在嵌入式开发中的作用。

jtag是一种国际标准测试协议主要用于芯片内部测试,jtag接口的主要作用如下所述:

它最初用来对电路和芯片进行边界扫描测定,它的基本原理是在器件内部定义一个测试是访问口(test access port),通过jtag专用的测试工具对器件内部节点进行测试。通过电路的边界扫描测试技术,用具有边界扫描功能的芯片构成的印制板电路,可通过相应的测试设备检测芯片功能,检测电路连接的正确性同时检测它是否有预定的逻辑功能,从而对这块印制电路进行故障检测和故障定位。

jtag接口可以对目标板进行测试,还可以对目标板系统的存储单元编程,经常通过jtag接口直接烧写嵌入式系统flash存储器。

jtag的引脚定义。

1. tck为tap提供一个独立基本的时钟信号,tap的所有操作都是通过这个时钟信号来驱动的。

2. tms用来控制tap状态机的转换,通过tms新号可以控制tap在不同的状态间转换,tms信号在tck信号的上升沿有效。

3. tdi是数据输入的接口,所有输入到特定寄存器的数据都要通过tdi一位一位串行输出。

4. tdo数据输出的接口所有从特定寄存器输出的数据都要通过tdo一位一位串行输出。

5. trst可以用来对tap controller进行复位,该信号线可选,tms也可以对其进行复位。

6. vtref接口信号电平参考电压一般直接接v(supply),这个可以用来确定arm的jtag的接口逻辑电平。

7. rtck可选项,由目标端反馈给**器的时钟信号,用来同步tck信号的产生,不使用时直接接地。

8. system reset可选项,与目标板上的系统复位信号相连,可以直接对目标系统复位,同时可以检测目标系统的复位情况,为了防止误触发应在目标端加上适当的上位电阻。

9. user in用户自定义输入,可以接到一个io口上,用来接收上位机的控制。

10. user out 用户自定义输出,可以接到一个io口上,用来向上位机反馈一个状态。

二、叙述嵌入式平台的搭建过程,以linux为例。

1) 一:建立宿主机开发环境。

建立交叉编译的环境即在宿主机上安装与开发板相应的编译器及库函数,以便能够在宿主机上应用开发工具编译在目标板上运行的linux引导程序,内核,文件系统和应用程序。

交叉编译:在特殊的环境下,把嵌入式程序**编译成不同的cpu所对应的机器**。

开发时使用宿主机上的交叉编译,汇编及链接工具形成可执行的二进制**(该**只能在开发板上执行),然后**到开发板上运行。

2) **和安装arm-linux-gcc编译工具链。

**最新的arm-linux-gcc并解压至当前目录下。

在系统配置文件profile中设置环境变量方法:直接在profile文件中加入搜索路径立即使新的环境变量生效:运行source命令,检查是否将路径加入到path,测试是否安装成功,编译程序,测试交叉工具链。

3) 配置超级终端minicom minicom是宿主机与目标板进行通信的终端:在宿主机linux终端中输入:minicom-s或输入minicom然后按ctrl+a+o对超级终端minicom进行配置,再选择串口并配置串口,最后保存即可。

4) 建立数据共享服务:nfs服务是linux系统中经常使用的数据文件共享服务。

5) 编译嵌入式系统内核:内核配置,建立依存关系,建立内核。

6) 制作文件系统。

三、给出现今有哪些用于嵌入式开发的芯片名称,他们分是哪些公司的产品?体系结构是什么?

1) 基于32位risc微处理器芯片的arm7系列,arm9系列,arm9e系列,arm10e系列都是arm公司的产品,arm9以上的体系结构是哈佛总线体系结构以下的是冯。诺依曼体系。

2) ti公司的dsp处理器内核是哈佛总线体系结构。

3) powerpc公司的芯片,基于risc结构,是哈佛总线体系结构。

4) mips公司的芯片,基于risc结构,是哈佛总线体系结构。

四、现今较流行的嵌入式操作系统有哪些?

1 vxwork

2 linux

3 μc/os-ⅱ

4 windows ce

5 android

五、pxa270嵌入式开发板的接口有哪些?

全双工异步串行口和硬件流控制串行口,10m标准以太网接口10m/100m标准以太网接口,usb接口,红外通讯口,音频接口,存储卡口,**和触摸屏接口摄像头接口,rtc时钟接口,调试接口,**接口,电源接口。

六、请写出nor flash和 nand flash的区别。

flash是一种非易失闪存,它具有和rom一样的掉电后数据不会丢失的特性。它主要分为nor flash和 nand flash。他们的主要区别如下所示。

七、冯。诺依曼架构与哈佛架构的区别。

他们的主要区别是计算机的存储结构和总线连接形式不同。

在冯·诺依曼的结构中,存储器内部的数据存储空间和程序存储空间是合在一起的,他们共享存储器总线,即数据和指令在同一条总线上通过时分复用的方式进行传输,这种结构在高速运行时,不能达到同时取指令和取操作数的目的从而形成传输过程的瓶颈。

在哈佛总线体系结构的芯片内部,数据存储空间和程序存储空间是分开的,所以哈佛总线体系在指令执行时可以同时存取指令(来自程序空间)和取操作数(来自数据空间),因此具有更高的执行效率,修正的哈佛总线结构还可以在程序空间和数据空间之间相互传送数据。(目前大多数dsp和arm9以上的嵌入式系统微处理器内核都采用哈佛总线体系结构而arm7采用的则是冯·诺依曼结构)

8、单周期3级流水的情况下,第10个指令周期时,第几条指令执行结束?

**流水读取指令过程:

取指从存储器装载一条指令。

译码识别将要被执行的指令。

执行处理指令并将结果写会寄存器。

故arm正在执行第1条指令的同时对第2条指令进行译码,并将第3条指令从存储器中取出。所以,arm7流水线只有在取第10条指令时,第7条指令才算完成执行。

九、下面是linux下的一个简单的设备驱动程序,写出linux设备驱动常用的数据结构,同时阅读下面**,请给出测试程序中的每条语句加以注释。

设备驱动程序的源**:

#include //最基本的文件,支持动态添加和卸载模块。hello world驱动要这一个文件就可以了。

#include //包含了文件操作相关struct的定义,例如大名鼎鼎的struct file_operations

#include //初始化头文件。

#include //轮询文件。

#include //对一些特殊类型的定义,例如dev_t, off_t, pid_t.其实这些类型大部分都是unsigned int型通过一连串的typedef变过来的,只是为了方便阅读。

#include //可以在芯片上产生周期性的中断。

#include //延时头文件。

#include //与处理器相关的硬件。

#include //延时头文件。

#include //与处理器相关的入口。

#define lednkey_major 251

#define keypad_name "x-hyper250 keypad"

#define keypad_version "version 0.1"

#define ext_key_cs ext_port2 //宏定义。

#define ext_led_cs ext_port3//宏定义。

#define led_show 10//宏定义。

*ext_key_cs 为向外部led进行数值设定,它定义在其它头文件里*/

void led_off_on()

int i;

ext_led_cs = 0xff;

for(i =0 ; i<8;++i)

ext_led_cs = 0xff;

*应用程序用open来打开设备文件,实际上调用驱动的lednkey_open()函数*/

int lednkey_open(struct inode *inode, struct file *filp)//打开设备文件。

mod_inc_use_count;//模块自身通过 mod_inc_use_count,宏来管理自己被使用的计数。

return (0success

int lednkey_release(struct inode *inode, struct file *filp) /释放设备文件。

led_off_on();

mod_dec_use_count;

return (0);

ssize_t lednkey_read(struct file *filp, char *putbuf, size_t length, loff_t *f_pos)//按键读取函数。

unsigned short bottonstatus;

unsigned char bottontmp = 0;

int i;

嵌入式大作业

黑龙江科技学院。计算机与信息工程学院。嵌入式大作业。专业班级学号。成绩。姓名教师。2010年12月24日。前导问题 1.选a,完全独立完成2.一 基础问题。1.答 嵌入式系统是指用于执行独立功能的专用计算机系统,作为装置或设备的一部分。嵌入式系统通常由嵌入式微处理器 嵌入式操作系统 应用软件和外围设...

嵌入式大作业

一。简述jtag接口在嵌入式开发中的作用?1关于jtag jtag joint test action group,联合测试行动小组 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行 测试。jtag技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路tap test access po...

嵌入式大作业

嵌入式的系统应用和发展趋势。班级 09电子信息工程2班。组员 刘奥 09700226 刘扬 09700227 何翔 09700228 指导老师 赵洁。计算机与信息工程学院 2012年11月20日。嵌入式系统 embedded system 是一种 完全嵌入受控器件内部,为特定应用而设计的专用计算机系...