DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1130|回复: 0
打印 上一主题 下一主题

[待整理] 嵌入式系统开发平台的构建和实现

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-27 18:30:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
  我们从硬件/软件协同设计的角度出发,构建和实现了一套基于Linux系统的嵌入式系统开发平台,包括硬件设计平台和软件开发平台两部分。利用该平台可以方便地进行有关嵌入式系统的研发,是一套廉价而全面的解决方案。

  硬件设计平台

  硬件平台由基本系统(包括CPU和存储器)加上外围接口电路模块构成。基本系统为操作系统内核提供一个最小的调试和运行环境,外围接口模块包括目前应用较为广泛的多种硬件接口电路,如LCD液晶显示模块、触摸屏模块、CF卡模块、USB模块、以太网模块、IC卡模块等,可以方便地根据开发者的需求进行选择使用。硬件设计平台基本框架如图1所示。

  目前,硬件平台基于摩托罗拉公司的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电话技术、低端网络控制、工业控制、图像和存储等等。

                                                                                      图1 硬件设计平台基本框架

                                                                                               图2 软件开发环境

  软件开发平台

  软件平台由嵌入式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内核启动了远程登录服务,开发者还可以登录到目标板上调试应用程序。

  结语

  嵌入式系统具有集成度高、体积小、反应速度快、智能化、稳定性高及可靠性强等特点,应用十分广泛。追踪国外嵌入式系统领域的先进技术,根据国情研发自己的嵌入式系统软硬件平台,对提高国内的嵌入式系统研究水平非常重要。在现有的这套开发平台上,我们已经为有关单位完成了电子书(Ebook)项目的研制,同时开展了嵌入式操作系统实时性的研究,整个平台具有良好的使用效果和应用前景。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-29 09:06 , 耗时 0.117245 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表