一.IAP修改点:
使用官网EVT例程是无法在CH591上使用的,因为LIB库为192K,CH591系列的芯片FLASH为192K,
如果你只需要从机功能,那么固定库可以使用只包含从机功能的小库(136K)
一.IAP工程修改:
1:LD文件修改起始地址为0,长度为8k,
2:启动文件修改指向地址为库的起始地址48k,即0xC000。
3:ota.h中修改各部分起始地址和大小,
if(EraseAdd < IMAGE_A_START_ADD || (EraseAdd + (EraseBlockNum - 1) * FLASH_BLOCK_SIZE) > IMAGE_C_SIZE)
send_buf[1] = (uint8_t)(IMAGE_C_SIZE & 0xff);
send_buf[2] = (uint8_t)((IMAGE_C_SIZE >> 8) & 0xff);
send_buf[3] = (uint8_t)((IMAGE_C_SIZE >> 16) & 0xff);
send_buf[4] = (uint8_t)((IMAGE_C_SIZE >> 24) & 0xff);
4.预编译宏中添加库起始地址,
5.添加新的mcu.c文件,屏蔽校准函数,目的是节省flash空间,若IAP占用12K也可以接受可以不修改,
二:APP程序修改
1.LD文件
2.启动文件
3.预编译宏
修改以上部分后,即可在烧录时选用从机效率,APP可使用FLASH空间40K。