浅谈嵌入式开发技术总结
好酷屋教程网小编为您收集和整理了浅谈嵌入式开发技术总结的相关教程:由于嵌入式系统是一个资源受限的系统,所以嵌入系统的软件开发是采用交叉开发实现的。本文总结了嵌入式系统软件的开发技术,分析了嵌入式软件开发的各个过程,给出了每个过程能够使用的各种方法和技术,详细叙述了它
由于嵌入式系统是一个资源受限的系统,所以嵌入系统的软件开发是采用交叉开发实现的。本文总结了嵌入式系统软件的开发技术,分析了嵌入式软件开发的各个过程,给出了每个过程能够使用的各种方法和技术,详细叙述了它们的实现过程,主要内容包括启动软件的选择、启动软件的各种烧写方法、操作系统内核的下载方法、根文件系统的下载方法、NFS文件系统的配置、通过NFS应用程序的交叉开发和目标机程序的编译等。 嵌入式系统将拥有最大的市场。目前在世界范围内嵌入式系统带来的工业年产值已超过了一万亿元, 现在嵌入式系统正处在高速发展阶段。 嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上开发软件比较困难,有时候甚至是不可能的。目前一般采用的解决办法是首先在通用计算机上编写程序,然后通过交叉编译生成目标平台上可以运行的二进制代码格式,最后再下载到目标平台上的特定位置上运行。需要交叉开发环境(Cross Development Environment)的支持是嵌入式应用软件开发时的一个显著特点,交叉开发环境是指编译、链接和调试嵌入式软件的环境,它与运行嵌入式软件的环境有所不同,通常采用宿主机/目标机模式,目标机和宿主机之间的连接通常有三种连接方式:目标机的串口连接宿主机的串口,目标机的JTAG口连接宿主机的并行口,目标机的网口连接宿主机的网口。
本文选用某公司生产的OURS_ ARM9_2410EP为嵌入式目标系统,OURS_ARM9_2410EP是一个典型的嵌入式实验系统, 支持ARM9,具有丰富的外部接口,包括串口、JTAG口、PCMCIA卡、SMC卡、SD卡、USB 、网口和VGA接口等,支持三种启动方式,分别可以从两种NOR FLASH和一种NAND FLASH启动,具有丰富的扩展功能,可扩展GPS&GPRS、射频卡和蓝牙等模块。 一、目标机程序的编译 嵌入式系统中的软件一般包含四个部分:启动部分、操作系统内核、根文件系统和应用程序,这些程序是在宿主机的交叉编译环境中编译成目标机CPU能够运行的目标代码,然后下载到目标机。常用的嵌入式集成开发环境有Tornado、PB(Platform Builder)、ADS(ARM Developer Suite)、GNU工具链等。 二、启动部分的烧写 启动部分的烧写有三种方法:通过JTAG接口使用命令烧写、使用仿真器烧写和交叉烧写,其中交叉烧写要求嵌入式系统中含有两个启动部分。 ARM9_2410EP可以直接从FLASH硬盘的零地址执行代码,也就是说将初始启动代码烧写到FLASH零地址开始的地方就可以启动目标系统。支持ARM结构的启动软件有:U_BOOT、PPCBOOT、REBOOT和BLOB,本文以PPCBOOT为例进行说明。 PPCBOOT是源代码开放并遵守GPL(General Public License )的自由软件,支持多种CPU架构,包括alpha、arm、x86、ia64、mips、mips64、ppc、s390、sh、sparc和sparc64,是被广泛使用的一个启动软件。 首先使用GNU工具链将PPCBOOT编译成在目标机可运行的程序ppcboot.bin,编译过程请参阅文献[1]。 1.通过JTAG接口烧写 JTAG技术可以实现在目标机是裸机的情况下将程序烧写到目标机,是简单和直接的烧写方法。 用JTAG连接线连接宿主机的并口和目标机的JTAG接口,确认已经将JTAG 连接好,通过跳线开关配置要烧写的NOR FLASH。在Red Hat Linux或 Windows XP打开命令窗口,运行命令: ./JFLASH_2410EP_Nor /f: ppcboot.bin 其中JFLASH为烧写工具,/f表示文件,ppcboot.bin是OURS_ARM9_2410EP系统引导程序。 后面有两个选择,表示要烧写的目标地址,分别选择0,0,即开始对FLASH烧写引导程序ppcboot.bin。此后大约等待六七分钟,烧写完成。烧写结束后又出现选择,输入2退出,这时目标板的启动部分烧写完成。使用这种方法烧写的时间比较长,一般较少使用。 2.通过仿真器烧写 在Windows XP中安装ARM ADS集成开发环境,即ARM Developer Suite。安装Multi-ICE仿真器,在宿主机的并口和目标机的JTAG接口之间连接仿真器,连接宿主机的串口和目标机的串口,安装Multi-ICE v2.2软件。运行Multi-ICE Server,点击软件界面左上角的Auto-Configure按钮,在出现仿真器符号后,仿真器连接成功。 通过仿真器可以使程序直接运行在目标机的内存中,不使用目标机的FLASH,有很多程序就是通过仿真器在目标机运行和调试的。 在Windows XP中打开超级终端,在ADS集成开发环境中编译项目ProgramFlash,ProgramFlash是专门编写的操作FLASH的一个软件。通过仿真器运行ProgramFlash,ProgramFlash在超级终端的运行界面。 选择写入的FLASH,然后在超级终端发送ppcboot.bin,按照提示就可以完成启动的烧写。 3.交叉烧写 在目标机支持多启动的情况下, 可以从一个FLASH启动,利用启动软件写FLASH的功能,通过热跳线,写到另一个FLASH中。 如图3所示是一个支持烧写FLASH的启动软件的运行界面,此时通过热跳线到另一个FLASH, 然后选择4就可以实现交叉烧写。 三、操作系统内核的下载 操作系统内核下载到目标机有三种方法:通过JTAG烧写、通过网口和串口从宿主机下载。其中通过JTAG烧写的操作与第一部分相同。在目标机启动PPCBOOT后,由于PPCBOOT支持网口和串口下载,操作系统内核就通过网口或串口下载到目标机。PPCBOOT的详细使用说明见参考文献[2]。 目前使用较多的嵌入式实时操作系统有:美国WindRiver公司设计开发的嵌入式实时操作系统VxWorks、微软公司的WindowsCE、Linux、UC/OS、eCos、Lynx实时系统公司的LynxOS和QNX软件系统有限公司的QNX等。 本文以Linux为例说明操作过程,Linux内核的交叉编译是在Red Hat Linux环境中实现的,编译后内核的文件名是bzImage。 下面分别说明通过网口和串口内核的下载过程。 1.使用网口 从网口下载操作系统内核,首先要在Red Hat Linux或Windows XP中启动tftp服务,启动超级终端,然后启动目标机的PPCBOOT,在超级终端中就可以使用PPCBOOT的tftp命令,将内核下载到目标机。[4] 下面分别说明在Red Hat Linux和Windows XP环境中的操作过程。SMDK2410 #表示PPCBOOT的提示符。 (1)Red Hat Linux环境 实现过程:1)在Red Hat Linux中启动tftp服务;2)在根目录下建立/tftpboot目录;3)把Linux 内核bzImage拷贝到/tftpboot目录下;4)在Red Hat Linux中启动超级终端minicom;5)启动目标板的PPCBOOT;6)在超级终端中运行tftp命令SMDK2410 # tftp 0x30008000 bzImage。其中数值0x30008000为内核下载到实验箱内存中的地址。7)下载Linux内核, SMDK2410# fl 0x1040000 0x30008000 0x100000。三个参数的意义:0x1040000为内核烧写到Flash的地址,当PPCBOOT启动后它会从此地址加载Linux内核。0x30008000为上一步使用的内核下载到内存中的地址。0x100000为内核的大小,0x100000可被替换为大于内核大小且是0x20000倍数的最小整数。 (2)Windows XP 环境 实现过程:1)在Windows XP中启动tftp服务器;2)在Windows XP中启动超级终端;3)启动目标板PPCBOOT;4)在超级终端中运行命令:SMDK2410 # tftp 0x30008000bzImage;5)下载Linux内核:SMDK2410# fl 0x1040000 0x30008000 0x100000。 2.通过串口 从串口下载操作系统内核,同样需要在Red Hat Linux或Windows XP中启动超级终端。启动目标机的PPCBOOT,在PPCBOOT的提示符下输入loadb命令, loadb命令的功能是通过串行线下载可执行文件到目标机,命令格式是:loadb [offset] [baud], 其中Offset是地址偏移量,baud是串口的波特率。 这个命令开始执行后,在超级终端中打开发送文件选项,出现发送文件对话框,在文件名选择项中加入要烧写的内核,然后单击发送,注意超级终端的波特率要与loadb命令的波特率一致。 四、根文件系统 根文件系统(Root File System)下载到目标机的方法与操作系统内核的方法相同。 首先制作根文件系统,Linux根文件系统的制作见文献[5],假定制作后根文件系统的文件名是ramdisk.image.gz,使用下面的命令下载。 SMDK2410# tftp 30800000 ramdisk.imag.gz SMDK2410# fl 1140000 30800000 200000 其参数意义与上面的内核下载相同。 五、应用程序 由于应用程序运行在内核和根文件之上,所以应用程序的交叉开发能采用更方便的方法,一般采用NFS系统实现。在应用程序运行之前,应交叉编译为目标机的可执行程序。 NFS(Network File System)指网络文件系统,是Linux系统中经常使用的一种服务,NFS是一个RPC service,很像Windows中的文件共享服务。它的设计是为了在不同的系统间使用, 所以它的通讯协议设计与主机及作业系统无关。当使用者想使用远端档案时只要用“mount”就可把远端档案系统挂接在自己的档案系统之下,使得远端的档案在使用上和本地的档案没两样。 NFS系统配置包括目标机和宿主机的配置,其中以宿主机已配置为主。 在NFS服务中,宿主机(Servers)是被挂载(mount)端,为了远端目标机(Clients)可以访问宿主机的文件,宿主机配置两方面内容:打开NFS服务,允许“指定用户”使用。 在Red Hat Linux或Windows XP中均可以使用NFS服务,本文以Red Hat Linux为例进行说明。 1.NFS文件系统配置 宿主机NFS 文件系统的配置过程如下。 首先打开/etc/exports文件,加入如下内容: / 192.168.2.* (rw,sync,no_root_squash)。 其中:/表示宿主机的目录,在目标机共享,192.168.2.*为目标机的IP地址范围,括弧内表示操作的权限,然后运行命令:exportfs。 NFS服务的启动是由一些命令来完成的,它们是:portmap、rpc.nfsd、rpc.lockd、rpc.statd、rpc.mountd和rpc.rquotad,如果系统中有这几个命令,就运行下列命令启动NFS服务:service nfs start或/etc/rc.d/init.d/nfsstart;如果系统中没有,就下载工具包nfs-utils-1.0.7.tar.gz,然后编译安装就可以了。在目标机也应该启动NFS服务。在上述的工作完成以后,目标机和宿主机就可以通过NFS 文件系统进行软件的调试和运行,即软件编译在宿主机完成,运行在目标机。 2.通过NFS文件系统进行访问 访问过程的实现如下:在宿主机的Red Hat Linux 中运行命令:minicom,minicom是Linux下的超级终端,进入超级终端后进行一些设置,首先按下Ctrl-A,再按Z,然后选择O,进入配置界面,按上下键选择Serial port setup 进行如下设置: Serial Device:/dev/ttyS0 BPS/par/bits:/115200 8N1 硬件流、软件流均选择无 然后按ESC键退出配置界面,启动目标机,就在超级终端出现Linux命令提示符,键入命令:ifconfig eth0 192.168.2.2,配置目标机的IP地址,然后在宿主机的控制台运行命令:ifconfig eth0 192.168.2.10,配置宿主机的IP地址。 然后在宿主机的超级终端中键入命令:mount-t nfs 192.168.2.10://mnt/,它的作用是把宿主机的/目录挂接到目标机的/mnt/ 目录中,这时宿主机的/目录下的程序就可以运行在目标机中。需要注意的是宿主机应关闭防火墙。 六、结论 本文对嵌入式开发进行了总结,总结了嵌入式目标机软件的各个部分各种不同的实现方法,详细介绍了它们的实现过程。本文选用OURS_ARM9_2410EP作为实验对象,OURS_ARM9_2410EP是一款具有代表性的嵌入式实验平台,其他产品的操作是类似的。本文介绍的方法可在S3C2410的产品中使用,可对嵌入式开发提供一些参考方法。
以上就是好酷屋教程网小编为您收集和整理的嵌入式,嵌入式系统,标签,简介相关内容,如果对您有帮助,请帮忙分享这篇文章^_^
本文来源: https://www.haoku5.com/shenghuo/64140f3dde7beb4ff706e7aa.html
相关推荐
热门专题
喝酒后喝咖啡好吗
历来有美酒加咖啡的说法,美酒加咖啡听上去意境很美好,很多人也有这个习惯,在喝完酒后,来一杯香浓醇厚的咖啡解酒提神,喝酒后喝咖啡好吗?喝酒后喝咖啡不好美酒加咖啡不仅对身体没有好处,起不到醒酒提神的作用,白糖为什么能溶解鱼刺 用什么可以溶解鱼刺
鱼是生活中常见的常见的食物,很多人都喜欢吃吧,吃鱼的时候稍不注意就被鱼刺卡住了怎么办呢?听说用白糖可以帮助溶解鱼刺,这是为什么呢?白糖为什么能溶解鱼刺白糖没有溶解鱼刺的作用。白糖是生活中常见的食物,很葫芦岛财政局每月拨款时间几号
葫芦岛财政局每月拨款时间为15号。通过查询官方网站显示,财政局每月15号左右对事业单位拔款。具体消息可关注官方网站,获得第一手权威信息。财政局负责地方的财政工作,贯彻执行财务制度,按照政策组织财政收入全新胜达怎么下载酷狗
全新胜达可通过U盘、SD卡等设备里下好音乐,插入车上的相应接口,直接进行下载安装即可。建议使用系统自带的播放器,另外安装可能会出现不兼容的情况。全新胜达是北京现代旗下的高端中型豪华SUV,配备2.0T腐竹不能和什么一起吃
腐竹由于味道鲜美,营养丰富受到很多人的喜爱,所以也出现了各种腐竹的吃法,但是腐竹一旦没有搭配吃好就会拉肚子,那么腐竹不能和什么一起吃呢?腐竹不能和什么一起吃1、蜂蜜腐竹跟蜂蜜一起搭配,会造成腹泻,有损如何将多个类目放在一个海报里
用DW软件或者用PS软件做成切片连接,即可将多个类目放在一个海报里。海报这一名称,最早起源于上海,是一种宣传方式。旧时,海报是用于戏剧、电影等演出,活动的招帖。上海的人通常把职业性的戏剧演出称为海,而白糖和鸡蛋能一起吃吗 白糖和鸡蛋一起吃有什么危害
鸡蛋是生活中很常见的食物,白糖是生活中常见的调味品,白糖和鸡蛋能一起吃吗?下面一起来看看吧!白糖和鸡蛋能一起吃吗建议不要。糖水荷包蛋是很多人日常喜欢吃的食物,夏天到了,不少人会选择白糖作为首选糖类,但金纹石有没有蜡质光泽
金纹石有蜡质光泽,金纹石主要是黑底(也有褐色底)以金黄色图纹为特征的图纹石,金纹石是奇石界的后起之秀,金纹石一般都质地坚硬,其水冲度高,石体光洁平滑细腻,部分玉化程度高。莫氏硬度在5到8度,金色纹路和广州行间网络科技有限公司(关于广州行间网络科技有限公司介绍)
导读大家好,小升来为大家解答以上的问题。广州行间网络科技有限公司,关于广州行间网络科技有限公司介绍这个很多人还不知道,现在让我们一起来看...大家好,小升来为大家解答以上的问题。广州行间网络科技有限公女生去塔尔寺禁忌
1、在寺院里,不能用手摸佛经、佛像、法器等,更不能跨越;转经轮时,一定是从左向右;不要乱摸藏族人的头和帽子。2、塔尔寺内很多经院殿堂有禁止拍照的告示牌。3、最好不要穿裙子。4、塔尔寺是藏传佛教,普通人