一、代码执行总体流程图 1.1 代码路径 U-boot.lds (arch\arm\cpu) vectors.S (arch\arm\lib) start.S (arch\arm\cpu\arm920t) lowlevel_init.S (board ...
一 重定位 .以前版本的重定位 .新版本 我们的程序不只涉及一个变量和函数,我们若想访问程序里面的地址,则必须使用SDRAM处的新地址,即我们的程序里面的变量和函数必须修改地址。我们要修改地址,则必须知道程序的地址,就需要在链接的时候加上PIE选项: 加上PIE选项后,链接时候的地址就会生成,然后存储在段里面,如下段 u boot.lds : 然后我们根据这些地址的信息来修改代码,程序就可以复制到 ...
2017-06-05 20:30 3 1340 推荐指数:
一、代码执行总体流程图 1.1 代码路径 U-boot.lds (arch\arm\cpu) vectors.S (arch\arm\lib) start.S (arch\arm\cpu\arm920t) lowlevel_init.S (board ...
一、代码流程 1.1 串口代码 程序流程图如下; default_serial_console 执行的代码如下: 在JZ2440.H中有如下定义: 则执行结构体s3c24xx_serial0_device,从而执行 ...
最开始已经建立了新单板以及配置文件,现在就需要做的是代码的修改,配置成适合目标板使用的u-boot。 一、时钟修改 在代码流程分析中,我们知道,系统的启动是: 设置 CPU 为管理员模式 关闭看门狗 屏蔽中断 设置启动参数:时钟 FCLK:HCLK:PCLK ...
所谓的relocation,就是重定位,u-boot运行后会将自身代码拷贝到SDRAM的另一个位置继续运行。 但基于以前的理解,一个完整可运行的bin文件,link时指定的链接地址,load时的加载地址,运行时的运行地址,这3个地址应该是一致的。 relocation后运行地址不同于加载 ...
一、内核裁剪 内核的裁剪首先就是修改我们的配置文件,即 include/configs/jz2440.h 文件,里面定义的很多宏,我们也许用不上的就要去掉。 编译执行: do_date 对应着宏 DO_CMD_DATE,去掉此宏 再次编译执行 ...
的学习芯片进行分析,首先会结合u-boot的源码以及我以前的arm启动流程一文http://www.cnb ...
一、工具链的制作 1.1 工具 软件工具:crosstool-ng 下载地址:git clone https://github.com/crosstool-ng/crosstool-ng ...
U-boot移植学习内容建议 1.Uboot启动流程 uboot启动流程简析 详解参见: https://www.cnblogs.com/lifexy/p/8136378.html https://www.cnblogs.com/leaven/p/6296160.html ...