背景:之前是用SCI boot mode进行boot程序烧写的。现有的28075板子上GPIO72与GPIO84默认接高电平,当要进行SCI boot时将GPIO72拉低即可,正常跑flash时不对GPIO72进行操作。
现在想要通过USB boot mode进行boot程序烧写。
已知USB-boot模式的选择是在Get-mode下即GPIO72/84均为高电平,key=0x5A ,EMU_BMODE=0x0C。
问题与猜测:
1.key与EMU_BMODE的赋值需要软件操作,则在进入USB boot mode 前是否需要一次程序编译
2.由于现有28075板子上GPIO72/84默认为高电平,Get-mode设置完成后,是否每次对芯片上电都会进入USB boot mode,而无法进入flash跑程序
2.1在2成立的情况下,为避免每次上电后不进入flash,现有思路为:通过USB boot mode烧写的程序内加入对key与EMU_BMODE的修改,使下次上电后可进入flash
2.2在2.1成立的情况下,若需要第二次通过USB boot mode进行程序烧写,是否需要再次进行步骤1、2、2.1
3.已知通过将GPIO72/84均置低电平并上电后可进入Parallel boot mode,在无Valid KeyValue(0x08AA)时“Return Flash EntryPoint”,是否可理解为Parallel boot mode下不进行其他操作的话,可自动进入Flash。如此可行的话,便可通过硬件控制芯片进入USB boot mode或Parallel boot mode(即进入flash)
4.或其他解决USB boot 程序烧录与二次烧录的方法,望各位指点;有描述不清或理解错误的地方,还请指出。
谢谢
user5173361:
回复 Eric Ma:
您解答的很详细,十分感谢!
“Eric:另外的一个思路就是写在线升级bootloader,把USB初始化成串口类,然后自己做一个USB串口类的bootloader",
但这部分不是很理解,”把USB初始化成串口类“是指软件程序编译吗?比如例程中的USB虚拟串口功能?
或者是硬件的USB转串口模块?
背景:之前是用SCI boot mode进行boot程序烧写的。现有的28075板子上GPIO72与GPIO84默认接高电平,当要进行SCI boot时将GPIO72拉低即可,正常跑flash时不对GPIO72进行操作。
现在想要通过USB boot mode进行boot程序烧写。
已知USB-boot模式的选择是在Get-mode下即GPIO72/84均为高电平,key=0x5A ,EMU_BMODE=0x0C。
问题与猜测:
1.key与EMU_BMODE的赋值需要软件操作,则在进入USB boot mode 前是否需要一次程序编译
2.由于现有28075板子上GPIO72/84默认为高电平,Get-mode设置完成后,是否每次对芯片上电都会进入USB boot mode,而无法进入flash跑程序
2.1在2成立的情况下,为避免每次上电后不进入flash,现有思路为:通过USB boot mode烧写的程序内加入对key与EMU_BMODE的修改,使下次上电后可进入flash
2.2在2.1成立的情况下,若需要第二次通过USB boot mode进行程序烧写,是否需要再次进行步骤1、2、2.1
3.已知通过将GPIO72/84均置低电平并上电后可进入Parallel boot mode,在无Valid KeyValue(0x08AA)时“Return Flash EntryPoint”,是否可理解为Parallel boot mode下不进行其他操作的话,可自动进入Flash。如此可行的话,便可通过硬件控制芯片进入USB boot mode或Parallel boot mode(即进入flash)
4.或其他解决USB boot 程序烧录与二次烧录的方法,望各位指点;有描述不清或理解错误的地方,还请指出。
谢谢
user5173361:
回复 Eric Ma:
好的,再次感谢!