一。 简述jtag接口在嵌入式开发中的作用?
1关于jtag
jtag(joint test action group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行**、测试。jtag技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路tap(test access port,测试访问口),通过专用的jtag测试工具对内部节点进行测试。
2嵌入式开发中的作用。
1)用于烧写flash
烧写flash的软件有很多种包括 fluted flashpgm等等,但是所有这些软件都是通过jtag接口来烧写flash的,由于pc机上没有jtag接口,所以用并口来传递信息给目标板的jtag接口。
2 )用于调试程序
jtag接口还可以用来调试程序。即通过jtag接口去调试目标板上的程序,同样是使用pc的并口转jtag接口来实现与目标板的通信。
3 )**器
结合前两种作用,并口转jtag接口的电路是两种应用的关键,而这种电路在嵌入式开发中就叫**器。并口转jtag接口的电路有很多种,常见的**器有wigger,easyjtag,multi-ice等。
二。 简述嵌入式平台的搭建过程?
1环境搭建:
1.认识开发板。
2.开发板与宿主机直接通信。
开发板与主机之间的通信有4种方式:
1) jtag。
2) com。传输协议通常是xmodem/ymodem/zmodem.
3) 网口。tftp协议。
4) sd卡口。
3.宿主机之windows平台。
开发环境:ads1.2+超级终端。
ads1.2:学会使用ads平台软件,会用axd进行调试。
超级终端:一般设置波特率115200,数据位8位,停止位1,无奇偶校验,软件硬件流控制设为无。
配置网络:主要是配置nfs,需关闭防火墙,简化嵌入式网络调试环境设置过程。
4.宿主机之linux平台。
开发环境:linux+minicom
linux:定制或全部安装。**安装交叉编译器。
minicom:初始化,配置, 同windows下超级终端。
配置网络:主要是配置nfs,需关闭iptables。
5.文件烧写。
包括烧写内核,根文件系统,应用程序等。
内核映像的烧写有两种方式:
1)vivi,xmodem协议**,然后烧写。
2)linux系统启动后,使用imagewrite工具烧写 imagewrite /dev/mtd/0 zimage:192k
2嵌入式开发流程:
环境搭建起来之后,接下来则要进行嵌入式开发了,根据一般开发流程,大致可分为6个过程。
1)建立引导装载程序bootloader。这是程序正常运行的第一步。
常见的有:u-boot、blob、vivi、lilo、arm-boot、red-boot等。
这些都公开源码,可以在网上**,然后根据自己的内核、芯片进行修改,移植。
有些芯片没有bootloader,如samsung的arm9系列芯片,这需自己编写,然后烧写到flash里。
windows下可通过jtag并口烧写。
linux下用源码公开的j-flash。购买厂家,则无法了解其核心技术,但可极大提高开发速度。
2)**操作系统到开发板上。
一般而言,新买的开发板上已经自带烧写好了的linux操作系统。当然你也可以自己完成,先到网上**别人已经移植好的,如uclinux、arm-linux、ppc-linux。
操作系统成功安装之后,就是添加自己特点硬件的驱动程序,进行修改调试。
对于自带mmu的处理器可以使用模块方式调试,对于uclinux则只能通过编译进内核调试。
3)建立根文件系统。
可到**,使用busybox软件进行功能裁剪,产生一个最基本的根文件系统,再根据应用需求添加其他程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc 目录下,包括:/etc/ 等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。
根文件系统在嵌入式系统中一般设为只读,需要使用 mkcramfs、genromfs 等工具产生烧写映象文件。
4)建立应用程序的flash磁盘分区,一般使用jffs2或yaffs文件系统。
这需要内核中提供这些文件系统的驱动,有的系统使用非线性flash(nand型),有的系统使用线性flash(nor型),有的两者都用。
5)开发应用程序。
可放在根文件系统,也可放在jffs2或yaffs文件系统。也有直接将应用程序和内核设计在一起,比如uc/os-ii。
6)烧写内核、根文件系统,应用程序。
至此,一个完整的嵌入式系统开发流程就完成了。
三。 嵌入式开发芯片、体系结构、公司?
和pxa27x三代xscale架构的嵌入式处理器,都为arm2.体系结构,由intel公司生产
体系结构,由三星公司生产。
3.16bit---286---386---486---pentium---p6---pemtium4---pentium e都为intel体系结构,由intel公司生产。
四。流行的嵌入式操作系统有哪些?
2.μclinux ce
7.μc/os
五。我们的实验开发板接口?
具有全功能串口( ffuart )、蓝牙高速串口( btuart )、sd/mmc/sdio 接口、 cf 卡接口、 ttl 电平 uart 接口、 lcd 扩展接口、电源接口、 usb 接口、**器接口、 jtag 接口、总线扩展接口、 ac97 接口、麦克接口、耳机接口等多种接口。
六。nor flash 和 nand flash的区别?
性能比较。flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。
nand器件执行擦除操作是十分简单的,而nor则要求在进行擦除前先要将目标块内所有的位都写为0。由于擦除nor器件时是以64~128kb的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除nand器件是以8~32kb的块进行的,执行相同的操作最多只需要4ms。执行擦除时块尺寸的不同进一步拉大了nor和nadn之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时更多的擦除操作必须在基于nor的单元中进行。
这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。
nor的读速度比nand稍快一些。
nand的写入速度比nor快很多。
nand的4ms擦除速度远比nor的5s快。
大多数写入操作需要先进行擦除操作。
nand的擦除单元更小,相应的擦除电路更少。
接口差别。nor flash带有sram接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。nand器件使用复杂的i/o口来串行地存取数据,各个产品或厂商的方法可能各不相同。
8个引脚用来传送控制、地址和数据信息。nand读和写操作采用节的块,这一点有点像硬盘管理此类操作,很自然地,基于nand的存储器就可以取代硬盘或其他块设备。
容量和成本。
nand flash的单元尺寸几乎是nor器件的一半,由于生产过程更为简单,nand结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了**。nor flash占据了容量为1~16mb闪存市场的大部分,而nand flash只是用在8~128mb的产品当中,这也说明nor主要应用在**存储介质中,nand适合于数据存储,nand在compactflash、secure digital、pc cards和mmc存储卡市场上所占份额最大。
可靠性和耐用性。
采用flahs介质时一个需要重点考虑的问题是可靠性。对于需要扩展mtbf的系统来说,flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较nor和nand的可靠性。
寿命(耐用性)
在nand闪存中每个块的最大擦写次数是一百万次,而nor的擦写次数是十万次。nand存储器除了具有10比1的块擦除周期优势,典型的nand块尺寸要比nor器件小8倍,每个nand存储器块在给定的时间内的删除次数要少一些。
位交换。所有flash器件都受位交换现象的困扰。在某些情况下(很少见,nand发生的次数要比nor多),一个比特位会发生反转或被报告反转了。
一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。当然,如果这个位真的改变了,就必须采用错误探测/错误更正(edc/ecc)算法。
位反转的问题更多见于nand闪存,nand的**商建议使用nand闪存的时候,同时使用edc/ecc算法。这个问题对于用nand存储多**信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用edc/ecc系统以确保可靠性。
坏块处理。nand器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。
nand器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。
易于使用。可以非常直接地使用基于nor的闪存,可以像其他存储器那样连接,并可以在上面直接运行**。由于需要i/o接口,nand要复杂得多。
各种nand器件的存取方法因厂家而异。在使用nand器件时,必须先写入驱动程序,才能继续执行其他操作。向nand器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在nand器件上自始至终都必须进行虚拟映射。
软件支持。当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘**和闪存管理算法的软件,包括性能优化。在nor器件上运行**不需要任何的软件支持,在nand器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(mtd),nand和nor器件在进行写入和擦除操作时都需要mtd。
使用nor器件时所需要的mtd要相对少一些,许多厂商都提供用于nor器件的更高级软件,这其中包括m-system的trueffs驱动,该驱动被wind river system、microsoft、qnx software system、symbian和intel等厂商所采用。驱动还用于对diskonchip产品进行**和nand闪存的管理,包括纠错、坏块处理和损耗平衡。
嵌入式大作业
黑龙江科技学院。计算机与信息工程学院。嵌入式大作业。专业班级学号。成绩。姓名教师。2010年12月24日。前导问题 1.选a,完全独立完成2.一 基础问题。1.答 嵌入式系统是指用于执行独立功能的专用计算机系统,作为装置或设备的一部分。嵌入式系统通常由嵌入式微处理器 嵌入式操作系统 应用软件和外围设...
嵌入式大作业
嵌入式的系统应用和发展趋势。班级 09电子信息工程2班。组员 刘奥 09700226 刘扬 09700227 何翔 09700228 指导老师 赵洁。计算机与信息工程学院 2012年11月20日。嵌入式系统 embedded system 是一种 完全嵌入受控器件内部,为特定应用而设计的专用计算机系...
嵌入式大作业
无线数字水文数据采集器。一 引言。传统的数据采集系统由于存在响应慢 精度低 可靠性差 效率低 操作繁琐等弊端,已经不能完全适应现代化工业的高速发展。随着嵌入式技术的迅猛发展,设计高速度 高效。率 低成本 高可靠性 操作方便的数据采集系统成为当务之急。而现在的 arm 处理器不但便宜而且性能较传统的 ...