uboot学习之一《s_init哪里去了?》

本人特别懒,本来打算等韦老师的uboot系列,但是他现在没有时间,正忙着录制驱动大全,没有办法自己动手,丰衣足食 我不想从makefile开始分析,我们就根据问题走 问题一:每款板子的初始化都...

本人特别懒,本来打算等韦老师的uboot系列,但是他现在没有时间,正忙着录制驱动大全,没有办法自己动手,丰衣足食

我不想从makefile开始分析,我们就根据问题走

问题一:每款板子的初始化都不同(比如ddr初始化,PLL,时钟等),那么板子是怎么兼容的?如果移植,那么我们怎么添加代码?

答:根据调试代码得出流程会走入s_init 这个函数里面,这个函数就是我们定制的代码

问题二:怎么让uboot编译我添加s_init 函数的文件?

答:如果我们适配的是imx6,在arch/arm/cpu/armv7/makefile 里添加obj-$(CONFIG_MX6) += mx6/,那么uboot会自动到编译mx6里面的makefile

问题三:CONFIG_MX6的定义在哪里?

答:就在我们在运行make xxx_defconfig 的那个配置里面 CONFIG_ARCH_MX6=y

问题四 cpu那么多款,为啥就知道是armv7?

答:在arch/arm/Kconfig 里面

config ARCH_MX6

bool "Freescale MX6"

select CPU_V7

config SYS_CPU

        default "arm720t" if CPU_ARM720T

        default "arm920t" if CPU_ARM920T

        default "arm926ejs" if CPU_ARM926EJS

        default "arm946es" if CPU_ARM946ES

        default "arm1136" if CPU_ARM1136

        default "arm1176" if CPU_ARM1176

        default "armv7" if CPU_V7

        default "armv7m" if CPU_V7M

        default "pxa" if CPU_PXA

        default "sa1100" if CPU_SA1100

default "armv8" if ARM64

所以我们能得到SYS_CPU 为armv7

另外我在学习uboot,如果有一起研究的,可以让老师建立一个群,咱们专门研究imx6的uboot,大家共同学习

0 条评论&回复

请先 登录 后评论
DebugArm
DebugArm

5 篇文章

作家榜 »

  1. 百问网-周老师 18 文章
  2. st_ashang 14 文章
  3. 渐进 12 文章
  4. zxq 11 文章
  5. helloworld 8 文章
  6. 谢工 5 文章
  7. Litchi_Zheng 5 文章
  8. DebugArm 5 文章