linux车载导航源代码,基于Linux的嵌⼊式车载导航系统的设计3.4.2 裁减配置及编译
修改完内核设置后,就可以对内核进⾏裁减配置及编译了,在配置中剪裁掉冗余的部分,使编译⽣成的最终的内核的映像⽂件代码量尽可能⼩。执⾏如下命令:
html导航源码# make menuconfig
进⼊配置菜单,选择处理器类型和所需要的各种外设、协议的⽀持等等, 包含了LCD 、触摸屏、串⼝、声⾳、EXT2、FAT 和JFFS2 ⽂件系统以及TCPIP 协议的⽀持.
# make dep
搜索Linux 编译输出与源代码之间的依赖关系,并⽣成依赖⽂件。
# make zImage
编译Linux 内核,⽣成压缩的内核映像⽂件zImage 。存放在/arch/arm/boot/ ⽬录下。
3.5 驱动程序的编写
驱动程序是操作系统内核和底层硬件之间的接⼝,驱动程序为应⽤程序屏蔽了硬件的细节,通过驱动程
序,应⽤程序对硬件的操作可以像对普通的⽂件操作⼀样⽅便。驱动程序的主要作⽤是初始化和释放硬件设备,检测和处理硬件设备出现的问题,在应⽤程序、内核和底层硬件之间传输数据。
由于嵌⼊式系统是针对具体应⽤的,因此,应该根据具体的平台编写相应设备的驱动程序,以⽅便应⽤程序对底层硬件的访问。每⼀个系统调⽤都对应着file_operations 结构的每⼀个成员,编写驱动程序主要是编写底层设备需要的各个操作函数并填充结构file_operations ,该结构在/include/Linux/fs.h ⽂件中定义。
驱动程序通过设备名、主设备号和从设备号与具体的硬件相联系。驱动程序可以以动态或者静态⽅式加载到内核当中,在调试阶段,⼀般以动态的⽅式加载驱动程序,⽽在最终形成产品时,添加到内核当中,每次启动内核时⾃动加载。
3.6 根⽂件系统
⼀个嵌⼊式产品的稳定运⾏,除了引导程序、内核之外,还必须有⼀个区域⽤来为⽤户提供⽀持架构和⽤户使⽤的应⽤软件,存放数据读写的结果,这个区域就是根⽂件系统。嵌⼊式系统中通常使⽤的根⽂件系统有:Romfs 、Cramfs 、Ramfs 、JFFS2、EXT2 等,另外根⽂件系统既可以建⽴在RAMDISK 上,也可以建⽴在Flash 上,在RAMDISK 上建⽴根⽂件系统Cramfs 。
4.结束语
本研究具获得了以下创新:
(1)设计了以HMS30C7202 为核⼼的车载导航装置的硬件系统及其LCD 液晶显⽰模块、存储器模块(Flash、SDRAM)、GPS 模块、串⾏接⼝、USB 接⼝、IrDA 红外通讯接⼝河⽹络接⼝等外围部分。
(2)建⽴了软件设计的交叉编译的环境,完成了以HMS30C7202 为核⼼的车载导航装
置的软件设计。本研究得出以下结论:
1 (1)在车载导航系统中采⽤源代码完全开放的嵌⼊式Linux 完全可以代替WinCE 等商业操作系统,从⽽减低了系统的成本,增加了市场的竞争⼒。通过对系统的开发,笔者有以下⼏点感触。
2 (2)在程序中加⼊⼀些输出语句,以便在调试过程中,在超级终端上显⽰⼀些通过串⼝打印的调试信息,可以对程序运⾏情况进⾏观察。
3 (3)由于串⼝下载速度较慢,BootLoader 要尽可能⽀持⽹络,通过⽹络下载内核和⽂件系统,加快开发进度。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论