如何理解嵌入式系统开发平台
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/21 21:55:39
如何理解嵌入式系统开发平台
如何理解嵌入式系统开发平台
如何理解嵌入式系统开发平台
硬件设计平台
硬件平台由基本系统(包括CPU和存储器)加上外围接口电路模块构成.基本系统为操作系统内核提供一个最小的调试和运行环境,外围接口模块包括目前应用较为广泛的多种硬件接口电路,如LCD液晶显示模块、触摸屏模块、CF卡模块、USB模块、以太网模块、IC卡模块等,可以方便地根据开发者的需求进行选择使用.
目前,硬件平台基于摩托罗拉公司的DragonBall EZ328(16MHz)微处理器,主要配置包括8MB EDO DRAM、4MB FLASH、320×240像素单色LCD、6个输入按键、一路RS232接口、一路10M以太网接口等.EZ328是一款得到了广泛应用的32位嵌入式微处理器,内部集成了大量的功能模块,并且具有较强的扩展能力.EZ328取消了内存管理单元(MMU),降低了硬件成本及运行功耗.EZ328所支持的引导模式也极大地方便了系统的调试.在我们的开发板上,只要驱动EZ328的EMUBRK引脚为低电平并执行系统复位,就可使EZ328进入引导模式,其内建的引导程序就会开始运行,初始化芯片上集成的UART控制器并准备接收数据.这样开发者就可以通过UART控制器写寄存器来初始化开发板,然后下载程序到开发板的RAM和FLASH中运行调试.同时,硬件平台CPU可方便地升级到VZ328(主频33MHz,EZ328的后续产品).而且,在EZ328硬件平台上开发的软件几乎不需要修改就能使用在VZ328和ColdFire系列微处理器上,具有很广的适用面.ColdFire微处理器主要应用于互联网设备、LAN电话技术、低端网络控制、工业控制、图像和存储等等.
软件开发平台
软件平台由嵌入式Linux操作系统、嵌入式图形用户界面(GUI)、GNU交叉编译调试工具组成.其中嵌入式Linux操作系统包括嵌入式Linux内核,ROM/RAM文件系统.选用Linux是因为Linux高度模块化,容易定制,具有很高的可移植性.
软件平台所实现的嵌入式Linux系统内核是在mCLinux系统的基础上移植而来的.它是专门面向没有MMU的CPU的Linux操作系统,并且专为嵌入式系统做了许多小型化的工作,得到了广泛的应用,新型的蓝牙网络设备也采用了mClinux操作系统.mCLinux作为一个高度优化的、代码紧凑的嵌入式Linux,虽然体积很小,但仍然保留了Linux的大多数优点:稳定、良好的移植性,优秀的网络功能,完备的对各种文件系统的支持,以及标准丰富的API.在我们的开发平台上,移植的操作系统内核大小约400KB,提供了通用Linux API和完整的TCP/IP 协议栈,实现了对NFS、ext2、ROMfs、JFFS文件系统的支持.
GUI采用了MicroWindows,具有中文本地化支持,包括GB2312 等字符集的支持,中文输入法等等.在其上又开发了基于FLTK的嵌入式GUI图形包,提供了比较完善的图形功能,如对菜单、按钮、滚动条等多种GUI控件的支持.
采用这种图形包,我们已开发出大小仅1MB的嵌入式中文Web浏览器,并且正在集成清华文通的中文手写输入软件.
交叉编译调试工具采用通用的Linux开发套件—GNU开发套件,包括了一系列的开发调试工具.主要组件有:
● Gcc—编译器,可以做成交叉编译的形式,即在宿主机上开发编译目标板上可运行的二进制文件.
● Binutils—辅助工具,包括objdump(可以反编译二进制文件),as(汇编编译器),ld(连接器)等等.
● Gdb—调试器,可使用多种交叉调试方式,包括使用串口和以太网调试.
开发环境
本嵌入式系统开发平台的GNU开发套件运行于桌面Linux操作系统.开发者首先使用Gcc和Gdb编译和调试bootloader程序;再通过串口将宿主机和目标板连接起来,使EZ328进入引导模式,通过一个简单的perl程序将调试好的Bootloader程序下载到目标板的RAM中,作为monitor监控程序,同时在宿主机上启动minicom和它进行串口通信,对Linux内核及驱动进行下载和调试;一旦Linux内核在目标板上运行并初始化以太网接口,再由网线将宿主机和目标板连接起来(如图2所示).通过以太网,开发者可以使用NFS文件系统安装上宿主机的硬盘,这样目标板就可以通过以太网对宿主机的硬盘直接进行操作,不需下载即可调试程序;若Linux内核启动了远程登录服务,开发者还可以登录到目标板上调试应用程序.