顾名思义:就是把调试用的串口换成用来传输数据的串口,SPL阶段,uboot阶段,内核加载阶段,设备树阶段,根文件系统启动阶段,都不能有调试信息打印出来,也不能输入数据。
1,在SPL阶段主要配置ARM core, 主要包括对中断向量表,cache,MMU等的配置;配置时钟,uart,定时器,还有DDR,这个时候想要去掉SPL阶段调试串口,就需要参考uboot/board/ti/am335x/board.c文件的s_init()(很典型的初始化函数)函数,直接屏蔽掉preloader_console_init()函数,UBOOT就是在这个函数初始化console(控制台)之后串口开始输出调试信息,所以只要不去初始化控制台,串口就还是普通串口。
将源码压缩包 u-boot-nand.tar.gz 拷贝到/home/AM335X 目录下解压
#tar -zxvf u-boot-nand.tar.gz
进入 u-boot-2013.01.01-psp06.00.00.00 目录
#cd u-boot-2013.01.01-psp06.00.00.00
2,在uboot阶段,也要去初始化各个外设模块,包括SPL阶段除DDR以为的外设,所以就算在SPL阶段不去初始化console,在uboot阶段还是会去做这个事情。直接看到uboot/arch/arm/lib/board.c的init_fnc_t *init_sequence[]结构体,在这个结构体里面的函数都会被加载初始化,所以在这里找到有关console的函数,把他屏蔽掉:serial_init,console_init_f,onsole_init_r。
AM335 已存在配置文件,执行 build.sh 脚本,会生成一个 am335 文件夹的,