系统移植记录

1day

系统移植

目的:把开发板上的Linux操作系统(芯片厂商提供)移植到自己设计的硬件上运行

移植内容:

       1.引导程序

       2.内核(驱动和设备树)

       3.根文件系统(库文件,应用程序)

交叉编译工具链前缀命名规则:

arch-[vendor]-kernel-system

API:应用程序编程接口(C函数)

ABI:应用程序二进制接口(汇编函数接口)

交叉编译工具链获取:3种方法

1.芯片厂商提供(SDK的一部分)(SDK:软件开发工具包

2.操作系统自带

       如:

3.自己编译自己的编译器

在64位虚拟机上支持32位x86程序运行

      sudo dpkg --add-architecture i386

sudo apt update

sudo apt install libc6:i386

U-Boot执行之前的启动流程:

boot à boot strap 自举

Exynos4412处理器内部有一个只读存储器(iROM)和静态存储器(iRAM)

处理器启动后首先执行iROM中的代码(处理器出厂时自带的)

iROM启动后加载BL1和BL2,BL1初始化芯片相关的设备,BL2初始化单板相关的设备。

拨码开关: 第四个开关的电路没有连接,所以不用管第四个开关

OM1接地à 0

OM2接拨码开关on:1、off:0

OM3接拨码开关on:1、off:0

OM4接地à 0

OM5接拨码开关on:1、off:0

组合拨码开关组合的可能:

OM【5:1】= 00010 使用SD卡启动

OM【5:1】= 00100先从eMMC44_CH4启动,再从USB启动

OM【5:1】= 10100从先eMMC44_CH4启动,再从SD卡启动

BL2启动后初始化系统时钟和DRAM控制器,然后从启动设备中加载U-Boot程序到DRAM内存中执行。

所以拨码开关:

       100 :使用SD卡启动

010 :先从eMMC44_CH4启动,再从USB启动

011 :从先eMMC44_CH4启动,再从SD卡启动z

U-Boot执行之前的启动流程:

电脑连接SD卡,选择文件点击写入,然后退出

取卡,放回板子,连接板子

开关:10010

打开软件,选择串口

(1)新建

(2)新建serial

(3)关闭板子电源,然后打开电源,双击新建的COM5,连接上后迅速按下“回车”

(4)成功:

你可能感兴趣的:(linux,运维,服务器)