uboot移植——修改行提示符和开发板名称

Posted 正在起飞的蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uboot移植——修改行提示符和开发板名称相关的知识,希望对你有一定的参考价值。

1、uboot的启动打印

//uboot的版本信息、编译时间、开发板名称
U-Boot 1.3.4 (Feb  7 2022 - 16:39:50) for SMDKV210

//CPU型号、时钟配置信息
CPU:  S5PV210@1000MHz(OK)
        APLL = 1000MHz, HclkMsys = 200MHz, PclkMsys = 100MHz
        MPLL = 667MHz, EPLL = 80MHz
                       HclkDsys = 166MHz, PclkDsys = 83MHz
                       HclkPsys = 133MHz, PclkPsys = 66MHz
                       SCLKA2M  = 200MHz
Serial = CLKUART 
Board:   SMDKV210
DRAM:     1 GB
Flash:   8 MB
SD/MMC:  unrecognised EXT_CSD structure version 7
unrecognised EXT_CSD structure version 7
Card init fail!
0 MB
NAND:    0 MB 
The input address don't need a virtual-to-physical translation : 23e9c008
*** Warning - using default environment

In:      serial
Out:     serial
Err:     serial
checking mode for fastboot ...
Hit any key to stop autoboot:  0 
SMDKV210 #  

2、行提示符和开发板名称

(1)行提示符:就是在uboot的bootdelay时间内按下*键进入uboot命令行,前面打印出来的提示符。在上面的打印中就是SMDKV210
(2)开发板名称:在开发板的第一行打印信息中就有开发板名称。在上面的打印中就是"for SMDKV210",表示此uboot是专门用于SMDKV210开发板。

3、修改行提示符

//配置文件
#define CFG_PROMPT   "SMDKV210 # "  

//main.c
main_loop()

	......
	for(;;)
	
		len = readline (CFG_PROMPT);
	
	......

修改配置文件中的CFG_PROMPT宏定义即可,CFG_PROMPT宏是在uboot的main_loop函数的for循环中使用,每次在uboot的命令行输入命令前都会在串口输出CFG_PROMPT宏的字符串。

4、修改开发板名称

//配置文件
#define CONFIG_IDENT_STRING	" for SMDKV210"

//uboot的主Makefile
VERSION = 1
PATCHLEVEL = 3
SUBLEVEL = 4
EXTRAVERSION =
U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)

//board.c
const char version_string[] =
	U_BOOT_VERSION" (" __DATE__ " - " __TIME__ ")"CONFIG_IDENT_STRING;

static int display_banner (void)

	printf ("\\n\\n%s\\n\\n", version_string);
	debug ("U-Boot code: %08lX -> %08lX  BSS: -> %08lX\\n",
	       _armboot_start, _bss_start, _bss_end);
#ifdef CONFIG_MEMORY_UPPER_CODE /* by scsuh */
	debug("\\t\\bMalloc and Stack is above the U-Boot Code.\\n");
#else
	debug("\\t\\bMalloc and Stack is below the U-Boot Code.\\n");
#endif
#ifdef CONFIG_MODEM_SUPPORT
	debug ("Modem Support enabled\\n");
#endif
#ifdef CONFIG_USE_IRQ
	debug ("IRQ Stack: %08lx\\n", IRQ_STACK_START);
	debug ("FIQ Stack: %08lx\\n", FIQ_STACK_START);
#endif

	return (0);

开发板名称由CONFIG_IDENT_STRING来表示,CONFIG_IDENT_STRING会用来构成记录uboot版本信息的version_string字符数组,version_string字符数组会在uboot启动过程中的display_banner ()函数输出到串口。

以上是关于uboot移植——修改行提示符和开发板名称的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统移植:官板 uboot 修改(上)

移植最新uboot之新建板—时钟—SDRAM—UART

嵌入式linux开发uboot移植——三星官方uboot的移植

uboot移植:移植前的准备工作

Linux系统移植:官板 uboot 修改(下)

Linux系统移植:官板 uboot 修改(下)