uboot给内核传参的具体分析:
注:接着uboot启动内核的过程,具体分析uboot给内核传参:
首先是一些传参相关的宏:
#if defined (CONFIG_SETUP_MEMORY_TAGS) || \
defined (CONFIG_CMDLINE_TAG) || \
defined (CONFIG_INITRD_TAG) || \
defined (CONFIG_SERIAL_TAG) || \
defined (CONFIG_REVISION_TAG) || \
defined (CONFIG_LCD) || \
defined (CONFIG_VFD) || \
defined (CONFIG_MTDPARTITION)
1.CONFIG_SETUP_MEMORY_TAGS:对应着tag_mem结构体变量,传参内容是内存的配置信息;
在BL2阶段将内存DDR/SDRAM进行初始化之后读取了内存的大小、个数等信息到gd结构体中,然后又赋值给这个宏相关的结构体中,通过传参传递给kernel。
2.CONFIG_CMDLINE_TAG:对应着tag_cmdline,传参内容是启动命令行参数,告诉内核怎么启动。也就是uboot环境变量的bootargs,这个Uboot必须传给内核。 而bootargs被赋值为 CONFIG_BOOTARGS, CONFIG_BOOTARGS在X210_sd.h中被宏定义为"console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3"
3.