基于网络加载的嵌入式BootLoader的设计与实现
2012-09-26王薇
电子设计工程 2012年22期
王薇
(四川财经职业学院 四川 成都 610101)
嵌入式系统从软件结构层次的角度来看,一般由引导装载程序(BootLoader,BSP)、操作系统和应用程序几部分组成。然而在有的嵌入式系统中,操作系统和应用程序存放在系统以外的设备中,如网络、硬盘等,整个系统只有引导装载程序[1]。因此BootLoader是嵌入式系统设计中比较重要的一部分。
在嵌入式系统的引导中,按照应用程序存放位置,可以有3种不同的加载方式:固态存储媒体、磁盘以及网络[2],每种方式都会有自己特有的配置和用法。3种设置方式各有其优缺点,固态储存媒体启动方式一般适用于带有ROM/FLASH的嵌入式系统中,是大多数嵌入式设备的首选方案如手机,mp3等,但当应用程序较大的情况下,为了降低嵌入式设备的单价,磁盘启动方式也被大量使用,典型应用如SDH电信传输网络设备测试仪ANT-20等,而基于网络加载方式则是最便宜的嵌入式设备的应用方案,应用程序存放在网络服务器端,嵌入式设备启动时,只需要将它通过网络当到内存并运行,一方面可以快速解决应用程序升级问题,另一方面也可以降低嵌入设备的整体成本,且在开发初期这种方式也能大幅提高调试速度,典型的应用如嵌入式设备的瘦客户端。
1 基于网络加载的BootLoader方案设计
这种方案重点解决两个问题,一是嵌入式设备加电后启动前与服务器端之间的通信与联系,二是嵌入设备在启动过程中应用程序下载方式的实现。前者需要将嵌入式设备驱动起来,实现通信能力,网卡驱动是必须实现的步骤,后者需要通过相关的协议栈将应用程序下载到系统内存,运行起来。……
登录APP查看全文
