uboot和spl有什么区别

简介: uboot和spl有什么区别

使用的是通用的同一份代码 前面的arch的初始化都是一样的


最主要的区别就是spl代码部分会用CONFIG_SPL_BUILD来选择编译

以am335x而言,前期arch的初始化流程基本上是一致的,出现本质区别的是在board_init_f开始的。


spl中board_init_f是自己实现的 使用CONFIG_SPL_BUILD选择编译的 主要是做ddr pinmx之类的初始化


d:\tronlongfile\tl335x\tronlong-uboot-am335\arch\arm\cpu\armv7\am33xx\Board.c

然后调用的board_init_f也是使用的自己的


调用的board_init_r的路径是d:\tronlongfile\tl335x\tronlong-uboot-am335\common\spl\Spl.c


这里做的是将uboot拷贝到sdram中执行


而uboot部分的board_init_f调用的是 d:\tronlongfile\tl335x\tronlong-uboot-am335\common\Board_f.c 这里的函数 这里主要是执行init_sequence_f 上面有各种初始化 比如fdt 下面会分析


board_init_r调用的是 d:\tronlongfile\tl335x\tronlong-uboot-am335\common\Board_r.c


这里会进入main_loop进行命令行的处理

相关文章
|
6月前
|
C语言 数据安全/隐私保护 C++
嵌入式中如何把C++代码改写成C语言代码
嵌入式中如何把C++代码改写成C语言代码
66 0
|
6月前
|
存储 缓存 安全
U-BOOT小全(五):BootLoader源码(SPL-UBoot 2)
U-BOOT小全(五):BootLoader源码(SPL-UBoot 2)
200 0
|
6月前
|
Linux 编译器 C语言
U-BOOT小全(四):BootLoader源码(SPL-UBoot 1)
U-BOOT小全(四):BootLoader源码(SPL-UBoot 1)
186 0
|
NoSQL 数据安全/隐私保护 Android开发
Jlink使用技巧之读取STM32内部的程序
Jlink使用技巧之读取STM32内部的程序
1918 1
Jlink使用技巧之读取STM32内部的程序
|
6月前
|
Linux C语言 Android开发
uboot介绍:介绍uboot的基本概念、用法和实现方式
uboot介绍:介绍uboot的基本概念、用法和实现方式
348 0
|
NoSQL Shell C语言
用GCC开发STM32,正点原子开发板的一个库函数版本例程示例
用GCC开发STM32,正点原子开发板的一个库函数版本例程示例
用GCC开发STM32,正点原子开发板的一个库函数版本例程示例
嵌入式开发学习之--初识stm32函数库
嵌入式开发学习之--初识stm32函数库
嵌入式开发学习之--初识stm32函数库
驱动开发:内核LDE64引擎计算汇编长度
本章开始`LyShark`将介绍如何在内核中实现`InlineHook`挂钩这门技术,内核挂钩的第一步需要实现一个动态计算汇编指令长度的功能,该功能可以使用`LDE64`这个反汇编引擎,该引擎小巧简单可以直接在驱动中使用,LDE引擎是`BeaEngine`引擎的一部分,后来让`BeatriX`打包成了一个`ShellCode`代码,并可以通过`typedef`动态指针的方式直接调用功能,本章内容作为后期`Hook`挂钩的铺垫部分,独立出来也是因为代码太多太占空间一篇文章写下来或很长影响阅读。
241 0
驱动开发:内核LDE64引擎计算汇编长度
MIPS指令集确实够精简,编译文件明显小
MIPS指令集确实够精简,编译文件明显小
79 0
|
存储
ARM64特有一些的汇编指令
ARM64特有的汇编指令
1928 0
ARM64特有一些的汇编指令