# electron_bot_iap **Repository Path**: liunix61/electron_bot_iap ## Basic Information - **Project Name**: electron_bot_iap - **Description**: 稚晖君电子iap更新程序 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-23 - **Last Updated**: 2023-11-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ElectronBot IAP更新程序使用说明 1. IAP系统采用电子自带的CP2102串口进行通信 - 串口参数115200 8 无 1 - 电子连接电脑使用串口连接,电子会自动发送一次菜单选项到上位机,上位机收到后按照相应的选项进行回复即可完成对应操作。如果没有收到菜单可通过串口发送数字0,电子将再次发送菜单。 - 串口发送数字1系统将执行升级程序,等待上位机发送程序文件,此时电子会不断进行握手协议发送字符c(Ymodem协议) - 选择文件后将采用Ymodem-1K协议进行传输,传输完成即升级完成,电子会发送(Programming Completed Successfully!)字符,以便上位机确认 - 再次通过串口发送数字2将执行升级后的程序。 2. 本IAP程序使用空间为24K,因此原电子主板程序需要修改两处 - main.c文件的的void main()函数第一行增加SCB->VTOR = FLASH_BASE | 0x6000; - STM32F425RGTx_FLASH.ld文件位置修改,将FLASH(rx) 原来的0x8000000,LENGTH =1024K改为如下代码,再次编译即可通过IAP进行写入和运行了 ```/* Specify the memory areas */ MEMORY { RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K FLASH (rx) : ORIGIN = 0x8006000, LENGTH = 1000K } ``` 3. 关于上位机集成 - 上位机启动后检测到电子连接需要首先打开串口并发送数字2电子方可直接运行主程序,否则电子将一直等待。