LX800在车载监控系统中的应用

时间:2012-12-07来源:网络

2 系统软件设计
Linux采用统一的框架对硬件进行管理,从一个硬件平台到另一个硬件平台的改动与上层应用无关。Linux可以随意地配置,不需要任何许可证或与商家的合作关系,源代码可以免费得到,这使得采用Linux作为操作系统不会遇到任何关于版权的纠纷。Linux本身内置网络支持,而目前嵌入式系统对网络支持要求越来越高,Linux的高度模块化使添加部件非常容易。Linux是一个和Unix相似、以内核为基础的、具有完全的内存访问控制、支持大量硬件(包括x86、Alpha、ARM等现有的大部分芯片)等特性的一种通用操作系统。其程序源码全部公开,任何人可以修改,并在GNU通用公共许可证下发行。这样,开发人员可以对操作系统进行定制裁减,适应其特殊需要。其强大的语言编译器GCC、G++等不但成熟完善,而且使用方便。本论文中基于V2.6.27内核通过make menuconfig对内核进行部分功能裁减。
软硬件综合开发是嵌入式系统的一大特色,软件设计是在紧密联系硬件的基础上来完成的。本文的车载监控系统设计遵循嵌入式软件的体系结构设计方法,分为两个部分:①相关驱动的开发,如底层包括扩展的PCI9054驱动、串口驱动、CAN驱动及内核自带的网络驱动、USB、CS5536等设备驱动;②应用程序的开发,包括显示监控任务的实现、配置文件读写实现等。
2.1 设备驱动开发
底层接口层封装监控显示软件与底层通信硬件接口、操作系统交互等部分的代码,通过定义统一的接口规范,实现上层软件不依赖具体的硬件平台,从而实现软件易于移植。
作为底层驱动模块的基本结构至少必须包含两个函数:module_init()和module_exit()。第一个函数是在把模块加载入内核时调用的;第二个函数则在删除该模块时调用。module_init()向内核注册模块所能提供的所有新功能,即可以由应用程序使用的新功能。函数module_ exit()的任务是清除掉module_init()所做的一切,保证这个模块被安全地卸载。模块的调用情况如图2所示。下面以PCI9054为代表,描述硬件驱动设计过程。


d.JPG

1 2 3 4

关键词: 嵌入式Linux LX800 PCI9054

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版