|
|
@@ -18,6 +18,7 @@ void process_iap_message(can_frame_t *frame, int len){
|
|
|
switch(frame->key) {
|
|
|
case CAN_KEY_IAP_ENTER:
|
|
|
if (gd32_flash_size() < 128 * 1024){
|
|
|
+ wdog_reload();
|
|
|
fmc_iap_write_magic(0xFFFFFFFF);
|
|
|
NVIC_SystemReset();
|
|
|
while(1);
|
|
|
@@ -25,6 +26,10 @@ void process_iap_message(can_frame_t *frame, int len){
|
|
|
protocol_send_ack(frame->head.can_addr, frame->key, 0);
|
|
|
break;
|
|
|
case CAN_KEY_IAP_BEGIN:
|
|
|
+ if (gd32_flash_size() < 128 * 1024){
|
|
|
+ protocol_send_ack(frame->head.can_addr, frame->key, 1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
fmc_erase_image();
|
|
|
_write_position = 0;
|
|
|
_write_success = 0;
|