位置:51电子网 » 技术资料 » 嵌入式系统

嵌入式系统开发平台的构建和实现

发布时间:2008/8/14 0:00:00 访问次数:440

  本文从软硬件两方面介绍了构建嵌入式系统开发平台的基本思路,并给出了一套实现方案。该平台硬件部分低成本、扩展性强、升级方便;软件部分功能丰富,操作系统内核基于开放源代码的mclinux系统,成熟稳定,gui支持中文。

  我们从硬件/软件协同设计的角度出发,构建和实现了一套基于linux系统的嵌入式系统开发平台,包括硬件设计平台和软件开发平台两部分。利用该平台可以方便地进行有关嵌入式系统的研发,是一套廉价而全面的解决方案。

硬件设计平台

  硬件平台由基本系统(包括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内核启动了远程登录服务,开发者还可以登录到目标板上调试应用程序。

结语

  嵌入式系统具有集成度高、体积小、反应速度快、智能化、稳定性高及可靠性强等特点,应用十分广泛。追踪国外嵌入式系统领域的先进技术,根据国情研发自己的嵌入式系统软硬件平台

  本文从软硬件两方面介绍了构建嵌入式系统开发平台的基本思路,并给出了一套实现方案。该平台硬件部分低成本、扩展性强、升级方便;软件部分功能丰富,操作系统内核基于开放源代码的mclinux系统,成熟稳定,gui支持中文。

  我们从硬件/软件协同设计的角度出发,构建和实现了一套基于linux系统的嵌入式系统开发平台,包括硬件设计平台和软件开发平台两部分。利用该平台可以方便地进行有关嵌入式系统的研发,是一套廉价而全面的解决方案。

硬件设计平台

  硬件平台由基本系统(包括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内核启动了远程登录服务,开发者还可以登录到目标板上调试应用程序。

结语

  嵌入式系统具有集成度高、体积小、反应速度快、智能化、稳定性高及可靠性强等特点,应用十分广泛。追踪国外嵌入式系统领域的先进技术,根据国情研发自己的嵌入式系统软硬件平台

相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!