|
以太网和串口bootloader更新可以用,但碰到一个棘手的问题,在串口boot_series中,是通过判断pulApp = (unsigned long *)APP_START_ADDRESS;
if((pulApp[0] == 0xffffffff) || ((pulApp[0]& 0xfff00000) != 0x20000000) ||
(pulApp[1] == 0xffffffff) || ((pulApp[1]& 0xfff00001) != 0x00000001))
{
return(1);
}
应用程序开始的8个字节的数据是否是符合10 01 00 20 f1 00 00 00,来判断是否更新应用程序,但是一旦你已经更新过应用程序之后,就会使这个失效,继而跳到应用程序入口地址执行应用程序,如果还想更新就不可能了,例程中还谈到用按键的方法来更新,但是在实际应用中都不太方便,不知道大家在使用bootloader时是通过什么来判断是否要更新应用程序,而且也不影响其应用程序的运行。
|
|