一种智能相机的Bootloader设计与实现
引言
智能相机是一种高度集成化的微小型机器视觉系统,它将图像的采集、处理和通信功能集成于单一的相机内,主要用于工业控制与工业检测领域。由于功能高度集成化,智能相机也是一种典型的嵌入式系统。
一个典型的嵌入式Linux系统通常分为4个层次:引导加载程序(Bootloader),inux内核,文件系统,应用软件。
引导加载程序就是在系统加电后运行的第一段软件代码,其类似于pc机的BIOS。其功能一般是初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。Boot-loader一般严重依赖于硬件,因此建立通用的Bootloader几乎是不可能的。目前较常用的 Bootloader 主要有:RedBoot,Vivi,UBoot,BLOB。
1 智能相机系统组成结构
该智能相机系统主要由CCD图像采集模块、PXA270嵌入式处理模块、串口和网络通信模组成。图像采集模块主要负责将光学图像转换为数字图像,并输出至图像处理模块;图像处理模块可对图像采集模块的图像数据进行实时的存储,并通过运行图像处理软件对图像数据进行处理;串口和网络通信模块主要完成控制信息、图像数据的通信任务;该智能相机支持多种标准网络和总线协议,能够使多台智能相机构成更大的机器视觉系统。
Flash用于存储Bootloader、Linux内核、根文件系统的二进制文件,操作系统以及应用程序在SDRAM中执行。
(1)Flash的空间分配
平台Flash由NOR Flash和NAND Flash组成,其中NORFlash容量为16M,地址范围是0x0~0x01000000,用于存储Boot-loader和Linux内核;64M,地址范围是0x04000000~0x08000000,用于存储根文件系统。具体分配如下:
NORFlash:
Bootloader 0x0 256K
参数0x00080000 256K
内核0x00100000 2M
NANDFlash:全部用于根文件系统
(2) SDRAM的空间分配
SDRAM作为系统内存,地址范围是0xa0000000 ~0xa4000000,其空间分配如下:
Bootloader 0xa0100000 256K
参数0xa01ff000 256K
内核0xa0200000 2M
根文件0xa0600000 13M
LCD 0xa0400000
2 Bootloader设计
本方案设计的引导程序具备硬件初始化、下载可执行镜像文件和启动Linux内核的基本功能。这些功能的分别由CPU定义、启动初始化、驱动、命令操作几个功能模块实现。接下来分别结合具体的实现加以描述。
相关文章
- 2024-08-23谈检测器具的测量能力指数
- 2023-08-10激光差动共焦透镜中心厚度测量系统的研制
- 2024-08-23降低真空制冰系统真空度的理论研究
- 2024-04-29离子色谱分析仪的嵌入式系统设计
- 2024-04-29轻质反射镜的制备方法及应用



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。