易截截图软件、单文件、免安装、纯绿色、仅160KB

ARM的嵌入式Linux移植体验之BootLoader

  
ARM的嵌入式Linux移植体验之BootLoader
2006-08-12 08:00作者:宋宝华出处:天极开发责任编辑:方舟
BootLoader指系统启动后,在操作系统内核运行之前运行的一段小程序。通过BootLoader,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的 BootLoader 几乎是不可能的。尽管如此,我们仍然可以对BootLoader归纳出一些通用的概念来,以指导用户特定的BootLoader设计与实现。
  BootLoader 的实现依赖于CPU的体系结构,因此大多数 BootLoader 都分为stage1 和stage2 两大部分。依赖于CPU体系结构的代码,比如设备初始化代码等,通常都放在 stage1中,而且通常都用汇编语言来实现,以达到短小精悍的目的。而stage2 则通常用C 语言来实现,这样可以实现更复杂的功能,而且代码会具有更好的可读性和可移植性。
  BootLoader 的 stage1 通常包括以下步骤:
  ·硬件设备初始化;
  ·为加载Boot Loader的stage2准备 RAM 空间;
  ·拷贝Boot Loader的stage2 到RAM空间中;
  ·设置好堆栈;
  ·跳转到 stage2 的 C 入口点。
  Boot Loader的stage2通常包括以下步骤: 
  ·初始化本阶段要使用到的硬件设备;
  ·检测系统内存映射(memory map);
  ·将kernel 映像和根文件系统映像从flash上读到 RAM 空间中;
  ·为内核设置启动参数;
  ·调用内核。
  本系统中的BootLoader参照韩国mizi公司的vivi进行修改。
  1.开发环境
  我们购买了武汉创维特信息技术有限公司开发的具有自主知识产权的应用于嵌入式软件开发的集成软、硬件开发平台ADT(ARM Development Tools)它为基于ARM 核的嵌入式应用提供了一整套完备的开发方案,包括程序编辑、工程管理和设置、程序编译、程序调试等。
  ADT嵌入式开发环境由ADT Emulator for ARM 和ADT IDE for ARM组成。ADT Emulator for ARM 通过JTAG 实现主机和目标机之间的调试支持功能。它无需目标存储器,不占用目标系统的任何端口资源。目标程序直接在目标板上运行,通过ARM 芯片的JTAG 边界扫描口进行调试,属于完全非插入式调试,其仿真效果接近真实系统。
  ADT IDE for AR


相关文档:

实战Linux Bluetooth编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......

Ubuntu linux 关机、重启、注销 命令

 1关机命令 shutdown
  好像ubuntu的终端中默认的是当前用户的命令,只是普通用户,因此在终端器中可以使用sudo -sh 转换到管理员root用户下执行命令。
  1)shutdown –help
  可以查看shutdown命令如何使用,当然也可以使用man shutdown命令。
  2) shutdown -h now 现在立即关机
  3)shutdown ......

linux comm 命令介绍

 如果想在Linux命令行方式下,对2个文本文件的内容做比较,找出同时包含在这2个文本文件中的内容,可以使用Linux系统带的工具comm来处理,前提是被比较的2个文本文件要是有序的,可以先用sort处理一下,具体操作方法如下:
原始文件如下:
a.txt
d
c
b
a
b.txt
g
f
b
a
排序处理
sort a.txt > a1.txt ......

深入理解linux内核笔记七:内存管理(1)之内存寻址

1 内存地址
       linux中,我们必须区分三种不同的地址
逻辑地址:机器语言指令中用来指定一个操作数和一个指令的地址.在X86中,每一个逻辑地址都由一个段(segment)和偏移量(offset)组成.
线性地址(也称虚拟地址):是一个32位无符号函数,可以表示高达4GB的地址,范围从0x00000000到0 ......

Linux的未来到底在不在Google?

 媒体的推动下,两大辩手诞生,鲜明的观点对垒:正方观点:“Linux的未来在Google”;反方观点:“Linux的未来不在Google”。
  瞧瞧理由吧。
  正方观点: “Chrome OS使Google成为Linux的未来”
  1、Ubuntu原本认为是挑战微软的骑士,不过看看他们两家的合作,以及Google的势 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号