linux 车载导航源代码,基于Linux的嵌入式车载导航系统的设计

3.4.2 裁减配置及编译

修改完内核设置后,就可以对内核进行裁减配置及编译了,在配置中剪裁掉冗余的部分,使编译生成的最终的内核的映像文件代码量尽可能小。执行如下命令:

# 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 要尽可能支持网络,通过网络下载内核和文件系统,加快开发进度。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值