0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >便携设备 > 基于嵌入式微处理器S3C2440的船舶导航系统设计方案

基于嵌入式微处理器S3C2440的船舶导航系统设计方案

来源: elecfans
2021-11-04
类别:便携设备
eye 28
文章创建人 拍明

原标题:基于嵌入式S3C2440的船舶导航系统设计方案

  1.前言

  集计算机技术、通信技术、微电子技术等多种技术为一体的嵌入式技术进入到了一个飞速发展的阶段,嵌入式系统已被广泛应用到了航空、消费电子、信息家电、网络通信等各个领域。ARMS3C2440ARM是嵌入式处理器是性价比较优秀的芯片,在各个领域的开发应用有着广阔的应用前景。

  船舶导航技术也应随着科学技术背景的改变不断地向着高性能稳定性的方面发展,潜入式技术,为其提供了优质的开发资源。

  嵌入式系统需要一套高度简练、易开发、多任务,价格低廉的操作系统。源码开放的Linux满足这些要求。并且标准Linux操作系统比较庞大,因此,需要根据实际应用对标准Linux进行重新的移植、裁剪和配置,生成代码紧凑、代码量小的特定操作系统。

image.png

  2.导航系统的硬件设计

  所设计的车载导航系统的硬件平台以基于ARM902T的SAMSUNG公司的32位高性能

  嵌入式微处理器S3C2440A为核心,包含了LCD液晶显示模块、存储器模块(Flash、SDRAM)、GPS模块、串行接口USB接口、IrDA红外通讯接口、网络接口等外围部分,其硬件构成如图1所示。

  S3C2440A嵌入式微处理器采用16/32位精简指令集,具有高性价比,低功耗,高性能的特点,为掌上设备和一般类型应用提供了小型微控制器的解决方案。为了减少总的系统消耗,S3C2440A包括了以下部分:独立的16KB指令缓存和16KB数据缓存,MMU,LCD控制器(STN/TFT),NAND Flash启动加载器,存储管理器(片选逻辑与SDRAM控制器),3通道的UART,4通道的DMA,4通道的脉宽调制定时器,I/O端口,RTC实时时钟,8通道10位的A/D控制器及触摸屏接口,IIC接口,IIS接口,音频接口,USB主机,USB设备,SD主机/多媒体卡接口,2通道的SPI,摄像头接口,PLL时钟发生器以及电源管理等。

  3.船舶导航系统的软件设计

  3.1软件功能与组成

  船舶导航系统的软件包括嵌入式操作系统、GUI图形用户界面、应用程序三个部分,其中嵌入式操作系统和GUI图形用户界面属于关键技术,它们的好坏决定了系统能否得到成功的应用。应用程序建立在嵌入式操作系统和GUI图形用户界面之上,上电之后启动过程如图2所示。在软件设计中,操作系统采用使用广泛的内核源代码开放的嵌入式Linux,GUI图形用户界面采用源代码开发的Micro windows。

image.png

  图2 系统启动过程

  3.2 交叉编译环境的建立

  在满足系统稳定、安全、可靠的基础上,嵌入式产品的体积要尽可能小,从而不能够提供足够的资源供编译过程使用,因此,必须建立一种交叉编译的环境,即在高性能的宿主机上对即将运行于目标机上的程序进行编译,生成可在目标机上可以运行的代码格式,然后下载到目标机中运行。Linux环境下使用GNU工具完成编译、链接等过程,包括针对目标系统的编译器gcc、针对目标系统的二进制工具binuTIls、针对目标系统的标准c库glibc和针对目标系统的Linux内核头文件。

  在linux的根目录下,通过命令tar Ixvf cross-2.95.3.tar.bz2进行解压缩,执行完毕之后在/usr/local/目录下自动生成arm/2.95.3目录,进入2.93.3目录下可以看到arm-linux、bin、include、lib等各种目录,说明交叉编译工具安装完毕,编译环境已经建立起来了。

  3.3 引导程序的移植

  受嵌入式系统资源的限制,嵌入式系统的引导程序并不像PC机上的引导程序一样是由BIOS和位于硬盘MBR中的引导程序组成,整个系统的引导加载任务主要是由BootLoader的引导程序来完成的。BootLoader是系统复位后首先要执行的代码,主要作用是初始化硬件设备、建立内存空间的映射等,将系统的软硬件环境带到一个合适的状态,从而为操作系统和应用程序的调用建立一个良好的环境。

  系统的软件设计中采用的引导程序是韩国Mizi公司开发的BootLoader----vivi。在嵌入式系统中,BootLoader是高度依赖于硬件的,在嵌入式系统中建立一个通用的BootLoader几乎是不可能,因此对于每一种特定的平台,都要移植一个BootLoader。

  针对系统的引导程序移植的思路是找到一个与所设计的平台最相近的平台的BootLoader,然后根据所设计平台的硬件参数对BootLoader进行修改,从而完成BootLoader的移植。首先根据实际情况修改vivi工程管理文件Makefile文件中的相关参数,包括交叉编译器库和头文件路径,交叉编译开关选项设置,Linux内核代码中的库和头文件路径等。然后根据硬件平台的参数修改相应的配置,如处理器时钟、存储器初始化、通用I/O初始化。然后进行配置、编译生成可执行的代码。

  3.4 内核的移植

  由于嵌入式系统是针对特定应用的,而且资源有限,所以标准Linux无法应用到嵌入式系统中,因此必须根据实际情况对Linux进行裁剪、配置,从而产生一个适用的嵌入式Linux操作系统。Linux内核的移植包括获取源代码、修改设置、裁减配置和编译。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案