CH573 CH582 CH579 固定LIB OTA


OTA升級,以ble_uart為例(該工程是在ble_uart上修改的)

1、找到例程中的這三個工程,分別將這三個工程中的.hex取出;

 

 

 

1、打開ble_uart工程,將Ld中link.Ld替換成OnlyUpdateApp_Peripheral工程Ld中link.ld.

1、修改ble_uart工程

添加跳轉函數Jump_OTA( void )

/* OTA 升級標志 */
#define IMAGE_OTA_FLAG                  0x03
/* 存放在DataFlash地址,不能占用藍牙的位置 */
#define OTA_DATAFLASH_ADD               0x00077000-FLASH_ROM_MAX_SIZE
/* flash的數據臨時存儲 */
__attribute__((aligned(8))) uint8 block_buf[16];
/*******************************************************************************
* Function Name  : Jump_OTA
* Description    : 跳轉OTA升級
* Input          :
* Output         : none
* Return         : none
*******************************************************************************/
void Jump_OTA( void )
{
  UINT16 i;
  UINT32  ver_flag;

  /* 讀取第一塊 */
  EEPROM_READ( OTA_DATAFLASH_ADD, (PUINT32) &block_buf[0], 4 );
  /* 擦除第一塊 */
  EEPROM_ERASE(OTA_DATAFLASH_ADD,EEPROM_PAGE_SIZE);
  /* 更新Image信息 */
  block_buf[0] = IMAGE_OTA_FLAG;
  /* 編程DataFlash */
  EEPROM_WRITE(OTA_DATAFLASH_ADD, (PUINT32) &block_buf[0], 4);
  /* 軟復位 */
  SYS_ResetExecute();
}

比如自定義CHAR3接收任意字節進行跳轉(條件可以自定義)

修改配置:刪除LIB路徑,添加全局宏定義CH57xBLE_ROM

 

替換ble-uart的.S文件(可以用OnlyUpdateApp_IAP 的S文件替換),差別如下

 

 

重新編譯工程ble_uart,並將.hex文件取出。

 

5、打開合並工具

6、將這個.hex文件放進合並工具的四個file中(可以不按順序),點擊合並文件。

 7、打開wchISPTool工具,將合並生成的.bin文件下載。

手機端安裝ch573升級工具;

 9、將要升級的ble_uart工程的.hex文件存儲到手\Android\data\cn.wch.ch573update\files\CH573OTA\imageA

 

10、打開BLE調試助手,連接對應的藍牙;服務2的通道1發送數據(任意),藍牙顯示斷開;

 

 11、手機打開ch573升級工具,連接OTAOTAO_OTAOTA_OTA;

 12、點擊GETINFO,再點擊IMAGEA,選擇.hex文件

 13、點擊START開始升級,直到升級完成。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM