在使用CH583芯片的藍牙OTA升級時,用安卓BLEOTA工具通過手機端進行APP更新,HEX文件是可以的,但是如果是BIN文件則不能運行,請教一下這個是哪方面的問題?
使用方式二升級的話:使用bin文件燒錄的話注意LD文件中的地址,在再次升級的時候使用OTA工具的軟件的擦除地址要和LD文件中的一致。
要用app和jumplap的兩個文件合并成bin文件,不能用單個app生成的bin文件,問題已經解決了!
使用方式一? ?backup放方式,升級時候,選擇bin文件,彈出的擦除地址如何填寫,填寫0x1000,升級后程序就死機,如果選擇HEX文件升級,升級后正常運行? ? ? hex文件和bin文件,是用戶程序編譯后的文件
填寫0x1000,上位機會擦除前4K的數據。
由于hex固件包含了地址信息,在升級的時候,上位機識別到該hex的地址信息,擦除前4K的數據,對hex本身的數據不會產生影響。
bin文件不包含地址信息,在升級的時候,bin文件的數據會默認往前存放,因此上位機會將前4K的應用代碼給擦除,進而出現問題。
針對該問題,可以直接使用編譯器生成hex固件,不使用bin文件。
或者使用bin時,將該APP的bin文件與jumpiap的bin文件(正好占用前4K)合并,這樣升級時上位機擦除會將jumpiap的內容擦除,不會影響到APP。