GD32固件开发+固件升级+I2C Bootloader源代码(含上位机源码、含USB转I2C通信板源码)

上传者: renyinquan | 上传时间: 2025-09-26 16:21:01 | 文件大小: 16.71MB | 文件类型: 7Z
# I2C BootLoader V0.1 IAP开发流程 须知bootloader和app是两个独立的固件,只是烧写到了FLASH的不同地址处。
- step1: 首先划分好main flash空间, 以本项目为例,将main flash划分成bootloader(addr: 0x08000000 - 0x0800DBFF)和app(addr: 0x0800DC00 - 0x0800FFFF)两部分;
- step2: 准备一份app固件,要求在该app固件中的.ld链接文件中将MEMORY中的FLASH按此处样式修改FLASH (rx) : ORIGIN = 0x0800DC00, LENGTH = 9K, 即ORIGIN修改为step1中app存储起始地址,LENGTH修改为step1中的存储需要的FLASH空间大小, 重新编译固件,生成.bin文件(此处为gd32e23x.bin);
- step3: 要实现i2c烧写固件,同时需要上位机软件和下位机硬件的支持,本项目中上位机软件为host.py,主要实现Serial串口发送接收读写指令,此处因下位机MCU板支持USB通信,所以此处Serial串口即是实现USB串口收发命令功能。本项目中下位机硬件是一块STM32F103C8T6核心板,USB2I2C文件夹下即是该核心板的驱动源码文件,主要实现USB串口驱动和I2C读写,即可认为此时的STM32F103C8T6核心板是一个USB转I2C设备。
- step4: 要实现i2c批量烧写固件,待烧写设备须提前烧写支持i2c烧写功能的bootloader固件,本项目中BootLoader文件夹下即是bootloader固件工程。即该bootloader支持I2C烧写固件到GD32E232K8Q7待编程设备中,项目中的GD32E23

文件下载

资源详情

[{"title":"( 1153 个子文件 16.71MB ) GD32固件开发+固件升级+I2C Bootloader源代码(含上位机源码、含USB转I2C通信板源码)","children":[{"title":"INFO_20241210-111521.21404 <span style='color:#111;'> 2.34KB </span>","children":null,"spread":false},{"title":"libgtest.a <span style='color:#111;'> 2.62MB </span>","children":null,"spread":false},{"title":"libgmock.a <span style='color:#111;'> 1.06MB </span>","children":null,"spread":false},{"title":"libglog.a <span style='color:#111;'> 525.59KB </span>","children":null,"spread":false},{"title":"libGD32E23X_SDK.a <span style='color:#111;'> 154.18KB </span>","children":null,"spread":false},{"title":"libGD32E23X_SDK.a <span style='color:#111;'> 154.18KB </span>","children":null,"spread":false},{"title":"objects.a <span style='color:#111;'> 110.10KB </span>","children":null,"spread":false},{"title":"libgmock_main.a <span style='color:#111;'> 3.68KB </span>","children":null,"spread":false},{"title":"libgtest_main.a <span style='color:#111;'> 3.28KB </span>","children":null,"spread":false},{"title":"configure.ac <span style='color:#111;'> 6.11KB </span>","children":null,"spread":false},{"title":"configure.ac <span style='color:#111;'> 2.51KB </span>","children":null,"spread":false},{"title":"configure.ac <span style='color:#111;'> 461B </span>","children":null,"spread":false},{"title":"Makefile.am <span style='color:#111;'> 11.41KB </span>","children":null,"spread":false},{"title":"Makefile.am <span style='color:#111;'> 7.45KB </span>","children":null,"spread":false},{"title":"Makefile.am <span style='color:#111;'> 315B </span>","children":null,"spread":false},{"title":"load.bat <span style='color:#111;'> 529B </span>","children":null,"spread":false},{"title":"load.bat <span style='color:#111;'> 529B </span>","children":null,"spread":false},{"title":"load.bat <span style='color:#111;'> 489B </span>","children":null,"spread":false},{"title":"build.bat <span style='color:#111;'> 195B </span>","children":null,"spread":false},{"title":"build.bat <span style='color:#111;'> 93B </span>","children":null,"spread":false},{"title":"build.bat <span style='color:#111;'> 93B </span>","children":null,"spread":false},{"title":"BUILD.bazel <span style='color:#111;'> 13.07KB </span>","children":null,"spread":false},{"title":"BUILD.bazel <span style='color:#111;'> 5.15KB </span>","children":null,"spread":false},{"title":"BUILD.bazel <span style='color:#111;'> 3.08KB </span>","children":null,"spread":false},{"title":"CMakeDetermineCompilerABI_CXX.bin <span style='color:#111;'> 52.75KB </span>","children":null,"spread":false},{"title":"CMakeDetermineCompilerABI_C.bin <span style='color:#111;'> 52.73KB </span>","children":null,"spread":false},{"title":"CMakeDetermineCompilerABI_CXX.bin <span style='color:#111;'> 35.86KB </span>","children":null,"spread":false},{"title":"CMakeDetermineCompilerABI_CXX.bin <span style='color:#111;'> 35.86KB </span>","children":null,"spread":false},{"title":"CMakeDetermineCompilerABI_C.bin <span style='color:#111;'> 35.82KB </span>","children":null,"spread":false},{"title":"CMakeDetermineCompilerABI_C.bin <span style='color:#111;'> 35.82KB </span>","children":null,"spread":false},{"title":"Mi2c.bin <span style='color:#111;'> 28.44KB </span>","children":null,"spread":false},{"title":"gd32e23x_qsfp28lr4_V0.0.1_2025-07-07.bin <span style='color:#111;'> 27.49KB </span>","children":null,"spread":false},{"title":"gd32e23x - 副本.bin <span style='color:#111;'> 5.60KB </span>","children":null,"spread":false},{"title":"gd32e23x.bin <span style='color:#111;'> 5.60KB </span>","children":null,"spread":false},{"title":"gd32e23x_qsfp28lr4_V0.0.1_2025-07-07.bin <span style='color:#111;'> 5.60KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_i2c.c <span style='color:#111;'> 247.15KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_tim.c <span style='color:#111;'> 238.24KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_uart.c <span style='color:#111;'> 132.35KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_spi.c <span style='color:#111;'> 124.71KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_adc.c <span style='color:#111;'> 89.46KB </span>","children":null,"spread":false},{"title":"gd32e23x_timer.c <span style='color:#111;'> 87.30KB </span>","children":null,"spread":false},{"title":"gd32e23x_timer.c <span style='color:#111;'> 87.30KB </span>","children":null,"spread":false},{"title":"stm32f1xx_ll_usb.c <span style='color:#111;'> 77.47KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_tim_ex.c <span style='color:#111;'> 77.11KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_pcd.c <span style='color:#111;'> 70.33KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_adc_ex.c <span style='color:#111;'> 50.47KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_rcc.c <span style='color:#111;'> 47.61KB </span>","children":null,"spread":false},{"title":"gd32e23x_usart.c <span style='color:#111;'> 41.97KB </span>","children":null,"spread":false},{"title":"gd32e23x_usart.c <span style='color:#111;'> 41.97KB </span>","children":null,"spread":false},{"title":"gd32e23x_rcu.c <span style='color:#111;'> 37.08KB </span>","children":null,"spread":false},{"title":"gd32e23x_rcu.c <span style='color:#111;'> 37.08KB </span>","children":null,"spread":false},{"title":"gd32e23x_rtc.c <span style='color:#111;'> 35.82KB </span>","children":null,"spread":false},{"title":"gd32e23x_rtc.c <span style='color:#111;'> 35.82KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_flash_ex.c <span style='color:#111;'> 34.92KB </span>","children":null,"spread":false},{"title":"gd32e23x_spi.c <span style='color:#111;'> 32.59KB </span>","children":null,"spread":false},{"title":"gd32e23x_spi.c <span style='color:#111;'> 32.59KB </span>","children":null,"spread":false},{"title":"gd32e23x_adc.c <span style='color:#111;'> 29.26KB </span>","children":null,"spread":false},{"title":"gd32e23x_adc.c <span style='color:#111;'> 29.26KB </span>","children":null,"spread":false},{"title":"usbd_cdc.c <span style='color:#111;'> 29.18KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_rcc_ex.c <span style='color:#111;'> 29.17KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_flash.c <span style='color:#111;'> 28.33KB </span>","children":null,"spread":false},{"title":"gd32e23x_i2c.c <span style='color:#111;'> 28.12KB </span>","children":null,"spread":false},{"title":"gd32e23x_i2c.c <span style='color:#111;'> 28.12KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_dma.c <span style='color:#111;'> 26.78KB </span>","children":null,"spread":false},{"title":"at24cxx.c <span style='color:#111;'> 26.44KB </span>","children":null,"spread":false},{"title":"qsfp28lr4.c <span style='color:#111;'> 26.31KB </span>","children":null,"spread":false},{"title":"CMakeCCompilerId.c <span style='color:#111;'> 25.90KB </span>","children":null,"spread":false},{"title":"CMakeCCompilerId.c <span style='color:#111;'> 25.90KB </span>","children":null,"spread":false},{"title":"CMakeCCompilerId.c <span style='color:#111;'> 25.90KB </span>","children":null,"spread":false},{"title":"gd32e23x_fmc.c <span style='color:#111;'> 25.68KB </span>","children":null,"spread":false},{"title":"gd32e23x_fmc.c <span style='color:#111;'> 25.68KB </span>","children":null,"spread":false},{"title":"usbd_ctlreq.c <span style='color:#111;'> 21.13KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_gpio.c <span style='color:#111;'> 20.98KB </span>","children":null,"spread":false},{"title":"gd32e23x_dma.c <span style='color:#111;'> 20.54KB </span>","children":null,"spread":false},{"title":"gd32e23x_dma.c <span style='color:#111;'> 20.54KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_pwr.c <span style='color:#111;'> 20.26KB </span>","children":null,"spread":false},{"title":"i2c.c <span style='color:#111;'> 19.95KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal.c <span style='color:#111;'> 19.78KB </span>","children":null,"spread":false},{"title":"usbd_conf.c <span style='color:#111;'> 18.85KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_cortex.c <span style='color:#111;'> 18.81KB </span>","children":null,"spread":false},{"title":"i2c.c <span style='color:#111;'> 17.40KB </span>","children":null,"spread":false},{"title":"stm32f1xx_hal_exti.c <span style='color:#111;'> 14.70KB </span>","children":null,"spread":false},{"title":"system_stm32f1xx.c <span style='color:#111;'> 14.23KB </span>","children":null,"spread":false},{"title":"gd32e23x_gpio.c <span style='color:#111;'> 13.62KB </span>","children":null,"spread":false},{"title":"gd32e23x_gpio.c <span style='color:#111;'> 13.62KB </span>","children":null,"spread":false},{"title":"usbd_core.c <span style='color:#111;'> 13.01KB </span>","children":null,"spread":false},{"title":"system_gd32e23x.c <span style='color:#111;'> 12.43KB </span>","children":null,"spread":false},{"title":"system_gd32e23x.c <span style='color:#111;'> 12.43KB </span>","children":null,"spread":false},{"title":"main.c <span style='color:#111;'> 11.72KB </span>","children":null,"spread":false},{"title":"usbd_desc.c <span style='color:#111;'> 10.36KB </span>","children":null,"spread":false},{"title":"usbd_cdc_if.c <span style='color:#111;'> 9.20KB </span>","children":null,"spread":false},{"title":"gd32e23x_pmu.c <span style='color:#111;'> 8.63KB </span>","children":null,"spread":false},{"title":"gd32e23x_pmu.c <span style='color:#111;'> 8.63KB </span>","children":null,"spread":false},{"title":"gd32e23x_exti.c <span style='color:#111;'> 8.36KB </span>","children":null,"spread":false},{"title":"gd32e23x_exti.c <span style='color:#111;'> 8.36KB </span>","children":null,"spread":false},{"title":"gd32e23x_fwdgt.c <span style='color:#111;'> 7.78KB </span>","children":null,"spread":false},{"title":"gd32e23x_fwdgt.c <span style='color:#111;'> 7.78KB </span>","children":null,"spread":false},{"title":"gd32e23x_syscfg.c <span style='color:#111;'> 7.40KB </span>","children":null,"spread":false},{"title":"gd32e23x_syscfg.c <span style='color:#111;'> 7.40KB </span>","children":null,"spread":false},{"title":"gd32e23x_crc.c <span style='color:#111;'> 7.40KB </span>","children":null,"spread":false},{"title":"......","children":null,"spread":false},{"title":"<span style='color:steelblue;'>文件过多,未全部展示</span>","children":null,"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明