[u-boot: v2013.04]
[Author: Bo Shen voice.shen@gmail.com]
1. 使用 (帮助信息)
1.1usb start / usb reset
1.2 usb tree
U-Boot> usb tree
1.3 usb info (usb info 1 / usb info 2)
2. 源代码分析
<common/cmd_usb.c>
2.1 usb start / usb reset 命令代码执行
[ strncmp(argv[1], "start", 5) == 0 ] / [ strncmp(argv[1], "reset", 5) == 0 ] --> usb_stop() --> usb_init() --> usb_stor_scan(1) (CONFIG_USB_STORAGE) --> usb_host_eth_scan(1) (CONFIG_USB_HOST_ETHER) --> drv_usb_kbd_init() (CONFIG_USB_KEYBOARD) --> return 0;
2.2 usb stop 命令代码执行
[ strncmp(argv[1], "stop", 4) == 0 ] --> (CONFIG_USB_KEYBOARD) [ argc == 2 ] --> usb_kbd_deregister() --> usb_stop --> return 0;
[ strncmp(argv[1], "stop", 4) == 0 ] --> (CONFIG_USB_KEYBOARD) [ argc != 2 ] --> console_assign(stdin, "serial") --> usb_kbd_deregister() --> usb_stop --> return 0;