系统移植自己小结

系统移植
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 指令集 ?)
制做根文件系统的命令工具

猜你喜欢

转载自blog.csdn.net/weixin_40654382/article/details/92969796