项目笔记: GD32F3x0 与STM32Fxx ISP总结

1. 前言

近段时间在做的一个产品, 共用到3个MCU: GD32F3x0, GD32E2x0, STM32F3xx.
其中GD32F3x0,作为主MCU, 通过UART与另外两个MCU通信.
同时,主MCU可通过USB与PC连接。

产品需要实现三颗MCU的升级功能,根据电路设计,各个MCU升级实现方式如下。
(1) 通过USB接收上位机的升级程序。
(2) 通过IAP实现主MCU主程序升级。
(3) 通过ISP实现另外两个MCU (GD/ST) 的升级。
 

2. ISP知识总结

(1)关于同步

在同步发送0x7F后,在接收到0x18(NACK)也可以认为同步成功。

(2)关于读/写保护

Get Version命令获得的状态并不能正确反映目标MCU的保护状态。

可通过尝试读取指定地址(如0x8000000)的FLash内容来判断读保护状态,
如果能读成功则表明没有保护。

 可以读取Option Byte中相关字节来判定是否写保护了。
注意写保护字节一共才16位, 因此对于FLASH超过16页的MCU,
写保护字节一个bit对应是若干个Page的写保护状态。


当读保护使能后,ISP仅支持几条有限的查询指令,没法执行擦除和读写等操作。

(3)关于Erase 与  EraseExtend指令

两条指令是独占的, 一个器件只可能支持其中一条指令,可通过Get命令可判断芯片支持那一条指令。


(4)其它

可通过Read Memory命令读取指定地址内容来获取目的MCU的DID, UUID以及Flash density(Flash容量大小)。

3.  总结

现在这种升级方式快捷可靠,已经应用到实际产品。

缺点是从MCU采用ISP方式,加密性并不强,仅适用于从MCU程序加密要求不高的情况。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: STM32FXX固件库是一款由ST公司提供的针对STM32系列微控制器的软件开发工具。它包含了许多底层驱动程序和中间件,可以帮助开发者快速地完成STM32芯片的应用开发。 STM32FXX固件库的主要特点包括: 1. 完整的支持STM32系列微控制器,包括STM32F0、STM32F1、STM32F2、STM32F3、STM32F4、STM32F7等系列。 2. 提供了丰富的驱动程序和中间件,如定时器、UART、SPI、I2C、USB、CAN等,可以大大简化开发流程。 3. 具有较高的可移植性,可以在不同的编译器和开发环境中使用。 4. 支持多种工作模式,包括正常模式、低功耗模式和睡眠模式。 5. 提供了完整的应用示例和开发文档,方便开发者学习和使用。 除此之外,STM32FXX固件库还有一些其他的特点,如易于升级、稳定可靠等。总之,STM32FXX固件库是一款强大的STM32芯片的开发工具,可以帮助开发者快速、高效地完成硬件应用的开发。 ### 回答2: STM32Fxx固件库是STMicroelectronics针对其基于ARM Cortex-M系列核心的32位微控制器(包括STM32F1、STM32F2、STM32F3、STM32F4和STM32F7系列)提供的一套软件库,用于支持用户对该系列微控制器进行快速开发。 该库提供丰富的功能,包括时钟控制、GPIO、中断、DMA、定时器、串口、SPI、I2C、CAN、USB、SDIO、CRC、加/解密、ADC和DAC等模块的驱动,以及一套完整的实时操作系统(RTOS)支持。 在使用该库进行开发时,用户无需了解底层芯片的细节,只需调用库函数即可,简化了开发过程,提高了开发效率。同时,该库的源代码也是开源的,用户可根据需要进行修改或扩展。 总之,STM32Fxx固件库是STMicroelectronics提供的一套开发工具,为用户提供了许多便利,使得开发者能够更加轻松地开发出符合自己需求的应用程序。 ### 回答3: STM32Fxx固件库是STMicroelectronics公司为其STM32系列微控制器提供的一套标准固件库,用于简化嵌入式软件开发过程。该固件库提供了一系列的API函数和驱动程序,包括时钟、GPIO、USART、SPI、I2C、ADC、定时器等,以便开发人员可更快速高效地编写代码,快速实现特定的功能。 STM32Fxx固件库运用了面向对象的编程思想,以及模块化编程风格,开发人员能够根据自身需要进行模块的引用、修改和删除。同时,该固件库对中断响应进行了优化,能够最大限度地减少中断延迟,从而提高系统的实时性和稳定性。 此外,STM32Fxx固件库还兼容其他第三方的软件库,如FreeRTOS,可以为嵌入式系统提供更全面、更强大的支持,适用于各种嵌入式应用开发。 总之,STM32Fxx固件库为开发人员提供了一套完整的嵌入式软件开发框架,让他们能够更加高效地实现各类功能,也为STMicroelectronics公司的STM32系列微控制器提供了更高的性能和可靠性。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值