用户中心

资讯 > 嵌入式系统

uClinux下SDRAM数据交换区的生成和使用

来源:武汉理工大学自动化学院2006.04.29阅读 2487

     引言

     数据交换区就是指程序执行中使用到的各种数据所存放的内存空间。本文提出了在uClinux操作统下为嵌入式工业网络服务器开辟数据交换区的思想和解决方案。嵌入式工业网络服务器项目的开发目的是构建一个以Client/Server模式工作的工业远程监控系统,其前端是一个嵌入式服务器,它安装在工业现场,可以与三菱PLC组成的控制系统接口CONTROL ENGINEERING China版权所有,对该系统实施实时监控。其中数据交换区部分起到承上启下的枢纽作用,向上负责对客户端交互现场设备数据,向下负责与接口缓冲区交互设备实时数据。系统以Freescale公司的32位控制芯片Cold Fire 5307为CPU,使用两片现代公司的HY57V641620 的4M 16bit的SDRAM拼成4M 32bit的SDRAM,使系统具有16M bytes的RAM空间。

      uClinux操作系统
     系统选取uClinux 操作系统为开发平台,为有两片4M

16bit的SDRAM的嵌入式工业网络服务器开辟数据交换区。


      ColdFire 5307微处理器上可以运行很多操作系统CONTROL ENGINEERING China版权所有,但是uClinux是最合适、性价比最高的操作系统。目前商业实时操作系统,比如VxWorks和Nuclesus等价格比较昂贵,而且需要附加的C编译器和相关的调试工具。而像uCOS等免费的实时操作系统,又没有很好的文件系统和TCP/IP协议的支持,就嵌入式工业网络服务器的应用特点而言,uClinux是最适合的操作系统。我们在uClinux下面实现了JFFS(Journaling Flash File System)文件系统,每次子模块传送回来的数据都可以像日志一样记录下来,非常方便。另外还在主系统中的NAND Flash接口中实现了FAT32文件系统,与PC机上Windows下面的FAT32文件系统兼容,因此非常方便数据的备份和更新。使用uClinux的同时,主控制系统的所有软件工作都在Linux(Red Hat)系统下使用GCC交叉编译器来编译,使用GDB交叉调试器来调试工作。


      uClinux内核采用模块化的设计,很多功能块可以独立地加载或卸载,在设计内核时可以把这些内核模块作为可选项,在编译系统内核时指定。一种较通用的做法是对uClinux内核重新编译,在编译时仔细选择嵌入式系统所需要的功能支持模块,同时删除不需要的功能模块。通过对内核的重新配置,可以使系统运行所需要的内核显著减小,从而缩减需要的控制器RAM和ROM资源。


     uClinux同标准Linux的最大区别就在于内存管理,对SDRAM数据交换区的管理就属于内存管理范畴。标准Linux使用虚拟存储器技术,对于uClinux来说CONTROL ENGINEERING China版权所有,其设计针对没有MMU(memory management unit) 的处理器。但uClinux仍然采用存储器的分页管理,系统在启动时把实际存储器进行分页。在加载应用程序时程序分页加载。但是由于没有MMU管理www.cechina.cn,所以实际上uClinux采用实存储器管理策略(real memory management)。uClinux系统对于内存的访问是直接的,它对地址的访问不需要经过MMU,而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址。 uClinux对内存的管理从编译内核开始,从而系统将在启动的初始化阶段对内存进行分页,并且标记已使用的和未使用的内存。系统将在运行应用时使用这些分页内存。另外由于采用实存储器管理策略,用户程序同内核以及其他用户程序在一个地址空间,程序开发时要保证不侵犯其他程序的地址空间,以使得程序不至于破坏系统的正常工作控制工程网版权所有,或导致其他程序的运行异常。

       数据交换区硬件架构
       ColdFire系列微处理器是Freescale公司延续其M68K系列微处理器推出的新一代32位高性能嵌入式微处理器。ColdFire系列微处理器继承了M68K系列优秀的指令集设计和CISC架构的优点,融入了RISC架构的优点,在速度和架构之间得到了很好的平衡。ColdFire 5307微处理器运行在外部总线时钟45MHz、内部总线时钟90 MHz时,可以达到75MIPS。


     &






版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688