系统移植

Procrastination is like a credit card: it's a lot of fun until you get the bill.

系统启动顺序

上电—>bootloader—>内核—>根文件系统—>application

gun工具

dmesg :打印内核的调试信息

addr2line:把地址转化为行号

strip:丢弃目标文件的全部或者特定符号,减小文件体积

Bootloader

-----------uboot是Bootloader的一种版本

Bootloader是硬件的启动的引导程序,是运行操作系统的前提

Bootloader命令

boot:启动

bootcmd:启动命令,当上电不打断时,u-boot自动按照bootcmd中的命令一天一天去执行

bootargs:启动参数

Bootloader问题

第一条指令存放的位置?

初始化哪些硬件?顺序如何?

内核存放的位置?

如何提升性能?

开发语言?

Bootloader启动流程

三个二:两种语言,两次搬移,两次初始化

汇编阶段:设置SVC;关闭看门狗、MMU、Cache;开启ETC、Flash、内存、串口;自搬移到内存中;准备运行C

C语言阶段:初始化大部分硬件;把内核搬移到内存中

其他知识

RISC: 精简指令集

linux中是用命令ifconfig ethX XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX 主要把ethx中的x换成对于的数字