博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
u-boot命令解析
阅读量:4286 次
发布时间:2019-05-27

本文共 1387 字,大约阅读时间需要 4 分钟。

前言
1/ 命令的创建在uboot 中添加一条命令只需添加一个 对 U_BOOT_CMD 的调用 //此时创建在了 .u_boot_cmd 段,具体地址根据链接顺序而定,段起始地址和结束地址分别是 __u_boot_cmd_start 和 __u_boot_cmd_end //命令的结构体类型为 cmd_tbl_t2/命令的遍历在 __u_boot_cmd_start 和 __u_boot_cmd_end  中间,根据 cmd_tbl_t 类型中的 name (例如 "tftp") 成员,找到一个变量.然后就找到 变量中的成员 cmd(函数指针)然后调用 cmd ,就开始 执行 对应 这个 "tftp" 的 函数 do_tftp

CMD sf

  • 使用方法
 
  • 命令定义
//cmd_sf.cU_BOOT_CMD(    sf,   	5,    	1,    	do_spi_flash,    "SPI flash sub-system",        "probe [bus:]cs [hz] [mode] - init flash device on given SPI bus\n"    "                 and chip select\n"    "sf read addr offset len    - read `len' bytes starting at\n"    "                 `offset' to memory at `addr'\n"    "sf write addr offset len   - write `len' bytes from memory\n"    "                 at `addr' to flash at `offset'\n"    "sf erase offset len        - erase `len' bytes from `offset'");
do_spi_flash 的实现,待填坑

CMD tftp

  • 使用方法
tftp 0x30008000 uImage
  • 命令定义
U_BOOT_CMD(	tftp,	4,	1,	do_tftp,	"tftp\t- download or upload image via network using TFTP protocol",	"[loadAddress] [bootfilename] 
");
int do_tftp (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]){	return netboot_common (TFTP, cmdtp, argc, argv);}// 具体没解析,待看网络的时候填坑do_tftpb    netboot_common        netloop (net.c)            TftpStart (tftp.c)                NetSetHandler()指定了全局量packetHandler为TftpHandler                    eth_rx()->net_receive()->packetHandler()

转载地址:http://zxigi.baihongyu.com/

你可能感兴趣的文章
java8 新特性 拼接字符串
查看>>
springboot中mybaits自动返回新增数据的主键
查看>>
shiro的使用freemark实现前端控制权限
查看>>
权限管理系统中功能权限&数据权限以及权限模块的实现
查看>>
shiro中LoginUrl与UnauthorizedUrl的作用
查看>>
权限管理系统之数据权限表RBAC
查看>>
shiro权限执行逻辑流程
查看>>
使用Aop实现日志记录
查看>>
shiro中数据字典管理
查看>>
shiro中考勤部门的管理
查看>>
基于idea+session组件+wagon实现打包部署
查看>>
shiro的总结篇
查看>>
在linux服务器上使用软连接进行启动jar包
查看>>
linux中查看磁盘是否使用沾满
查看>>
linux同一台机器安装两台nginx
查看>>
让es进行后端进程的方式启动
查看>>
es2.4.5 离线安装head插件
查看>>
实战项目经验得到的常用linux命令(-)
查看>>
Mysql的设计规范和结构优化(-)
查看>>
查看是否安装mysql以及是否正在运行的mysql
查看>>