linux嵌入式开发中USB Boot起步模式为什么能烧写ARM的uboot

linux嵌入式开发中USB Boot启动模式为什么能烧写ARM的uboot
将板子跳线设置为usb boot模式后,板子上电应该不会加载uboot等其他程序,那为什么能用usb烧写uboot啊??此时应该板子什么都没有, 也没有usb驱动,怎么会烧写uboot呢??
------解决方案--------------------
有的CPU里面有一部分ROM代码,可以枚举USB
比如ATMEL 9260,
手册 http://www.atmel.com/Images/6221s.pdf 上有个Figure 13-1. Boot Program Algorithm Flow Diagram
linux嵌入式开发中USB Boot起步模式为什么能烧写ARM的uboot
------解决方案--------------------
一般是因为芯片内部有启动代码,如nuvoton的nuc900系列的芯片内部就有ibr程序,来控制启动过程,在usb启动时负责加载usb驱动,在pc端就可以识别到usb设备了,然后通过turbowriter工具(运行时会传输xusb.bin到cpu),可以下载程序到flash中去了.