要实现程序的正常启动,硬件上需要完成两个部分的工作: a、通过电阻的上下拉,来给定BOOT_MODE一个值,Uboot在启动的时候,会先去读取这个寄存器的值,并且根据这个值决定程序跳转到哪里去执行。 这里的三种启动模式,其实对应板卡生产的不同阶段,第一种是熔丝模式,这种模式适用于板卡已经量产的时候,烧写完成后程序不能再被改写,也不能被读取,可以起到保密的效果;第二种是串口下载模式(此处叫做烧写更加合适一些),他可以使用USB OTG或者SD卡来烧写程序;第三种是内部模式,用于板卡的调试阶段使用,因为要反复烧写程序进行调试。 b、通过GPIO引脚的方式来选择何种程序从哪里开始加载运行,不同的程序加载方式对应不同的GPIO引脚的配置。具体可以参考你使用的该芯片的数据手册来确定,当然,前提是你在板卡上设计了对应的硬件,否则即便是你的GPIO配置对了,程序也是没法进行执行的。