06-U-Boot2017.01讀取uEnv.txt過程

U-Boot2017.01的啓動過程比較複雜,本文分爲6部分講述,筆者將主要過程和函數調用關係整理成一個文檔方便查看,文檔鏈接爲
U-Boot2017.01啓動過程分析pdf
U-Boot2017.01源碼分析及啓動命令解析

啓動過程6部分內容如下
01-U-Boot2017.01 啓動過程概述
02-U-Boot2017.01 SPL階段分析
03-U-Boot2017.01 U-Boot階段分析
04-U-Boot2017.01 加載內核過程
05-U-Boot2017.01 bootz加載過程
06-U-Boot2017.01 讀取uEnv.txt過程

 uboot讀取uEnv.txt的過程如下:

/***********************************************
	加載uEnv.txt
***********************************************/			
s ====	fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
	/* mmcdev=0  			include/environment/ti/mmc.h 		line_10*/
	/* loadaddr=0x82000000  include/configs/ti_armv7_common.h	line_49 */
	/* bootenvfile=uEnv.txt include/environment/ti/mmc.h 		line_20 */
s ====	fatload mmc 0 0x82000000 uEnv.txt

	cmd is fatload
	/*U_BOOT_CMD(
		fatload, 7, 0, do_fat_fsload,
		"load binary file from a dos filesystem","... ..."
	);*/
	do_fat_fsload(cmd/fat.c)
		|--> do_load(fs/fs.c)
			|--> fs_read(fs/fs.c)
				|--> fs_get_info(fs/fs.c)
			|--> fat_read_file(fs/fat/fat.c)
				|--> file_fat_read_at(fs/fat/fat.c)
					|--> printf("reading %s\n", filename);
					 reading uEnv.txt
					|--> do_fat_read_at(fs/fat/fat.c)
				|--> ret = file_fat_read_at(fs/fat/fat.c)
					|--> if(ret) 
							printf("** Unable to read file %s **\n",filename);			** Unable to read file uEnv.txt **	
發佈了57 篇原創文章 · 獲贊 65 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章