一,韦东山Linux嵌入式教程—— uboot学习

1.uboot的目的:启动内核

2.main_loop();死循环

3.start_armboot to flashinit to nandinit to mainloop

4.bootdelay   getenv(); 

5.s=getenv("bootcmd");启动命令

6.run_command(s,0);

7.bootcmd是什么?

   nand read .jffs 0x30007w bootm  从FLASH上read kernel 

8.按下空格就会jump to menucmd

9.死循环: for(;;);

10.readline read uart命令

11.uboot的核心是:runcommand

12.启动内核:s=getenv(); run_command();

13.uboot界面readline:read uart的数据,回车之后被读到。then,run_command。so,核心是run_command.

14.内核的启动方式分析

15.uboot的命令如何实现:

  • UART输入字符串,then act(对应某些函数),命令的结构体对应name,fun,run_command(),匹配这些结构体
  • ;隔开两个命令,逐个执行命令
  • 重复:直接输入回车会自动再次执行
  • lds:链接脚本

16.增加一个hello命令。

17.uboot内核启动

1,从kernel内核分区读取,linux没有flash分区表,只能在源码里面写死,关注分区的地址:在配置文件的宏

nand read.jffs2  设置从参数  入口

 

你可能感兴趣的:(嵌入式编程)