系统移植
1 搭建交叉编译环境 在电脑上交叉编译 arm-linux-none-gcc 的东西 a.out 改名 —o x 在copy到板子上
开发主机 连接 目标机(开发板)
---------1 串口(调试助手 :超级终端 xshell secure-CRT)
2 USB 线 (必须要有usb驱动才可以 三星的dnw)
3 网线 (必须要有网络协议支持 tfftp 服务 将要测试的 bootloader kernerl 文件系统 下载到内存 去)
共享 : nfs 挂载服务 共享制作好的 根文件系统 是网络文件共享
samba 是种跨平台的文件共享
以上已经准备好了一部分硬件和部分软件 下面还缺少交叉编译环境的 交叉编译器 即在+86平台上编译出能在arm 内存上运行的文件
直接下载安装的交叉编译工具
arm-none-linux-gnueabi-gcc
2 bootloade的选择和配置 u-boot
引导操作系统 启动内核 吧内核加载到内存中去 1 由u-boot 加载
2 加载到内存 sdram 但需要初始化 初始化也有uboot 来完成
一般内存 sram 只要上电就可以运行
启动加载模式和下载模式
stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性
如果网络测试失败,从下面几个方面检查网络:
1. 网线连接好
2. 开发板和虚拟机的ip地址是否配置在同一个网段
3. 虚拟机网络一定要采用桥接(VM–Setting–>option)
4. 连接开发板时,虚拟机需要设置成静态ip地址
3 内核kernel的配置 编译 移植 linux-3.14
、将下载好的linux-2.6.35.tar.bz2拷贝到主目录下解压
二、修改顶层目录下的Makefile,主要修改平台的体系架构和交叉编译器,代码如下:
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
修改以上代码为:
ARCH ?= arm ---->体系架构是arm架构
CROSS_COMPILE ?= arm-cortex_a8-linux-gnueabi- ---->交叉编译器是arm-cortex_a8平台的
注意:这两个变量值会直接影响顶层Makefile的编译行为,即选择编译哪些代码,用什么编译器进行编译。
一 下载 linux -3.14
二 : 修改makefile 主要是 架构和编译器 改为 arm 和 arm-linux-gcc ...
三、拷贝标准版配置文件,目的是得到跟我们开发板相关的配置信息。
$ cp arch/arm/configs/s5pc100_defconfig .config
四 配置内核 make manuconfig 图形化界面的配置
五 编译内核
六: tfttp 下载 测试内核
4 根文件系统的制作–
vmvare_workstation 跨平台的一个启动工具?
vxworks 、linux / ucos / frtos 嵌入式的操作系统
架构: x86(intel & Amd, VIA退出)
ARM(大多数只能用不能改 ;唯 高通,苹果和NVIDIA可以该设计)
MIPS(可改设计 最基本架构不改就行 中国龙心)
ubuntu 是 linux的一种版本
uboot 精简windows 负责linux硬件的初始化和引导 bootloader的一种 去加载 让系统跑起来(初始化硬件设备 建立内存空间映射图 只是一段代码)
linux-3.14提供的内核
busybox-1.22.1 工具箱 (shell 指令集 ?)
制做根文件系统的命令工具