STM32: ChibiOS/RT v16.1.x系统下USB接口的传输速率

使用基于ChibiOS/RT的实时系统已经有一段时间的,一直都好奇在STM32F1及STM32F4平台上USB接口的最大传输速率能达到多少。 测试相关的代码 -device端使用的测试的代码参考的是ChibiOS/RT v16.1.x:testhal/STM32/STM32F7xx/USB_RAW,End Point会配置成bulk类型: /** * @brief IN EP1 state. */ static USBInEndpointState ep1instate; /** * @brief EP1 initialization structure (IN only) */ static … 继续阅读STM32: ChibiOS/RT v16.1.x系统下USB接口的传输速率

STM32: 做一个与ST-LINK/V2-1调试器兼容的bootloader

ST官方提供了ST-LINK/V2-1调试器的原理图,PCB图及相关的固件更新工具(Stlink Utility或者ST-LINK firmware upgrade)当然也可以通过第三方的工具对调试器进行固件的升级操作(STLinkReflash)。但如果你在使用ST-LINK/V2-1的过程中不慎将原有的固件破环或者是MCU烧毁,使得ST-LINK/V2-1无法正常使用,这时候你就需要一个可用的bootloader进行修复。 -实现一个简单的bootloader, 能够实现固件的下载及加载 经过进一个月的分析,不断尝试,自己写一个bootloader实现固件下载更新及加载也是可能的。 完整的 … 继续阅读STM32: 做一个与ST-LINK/V2-1调试器兼容的bootloader

STM32: 使用arm-none-eabi-gdb在线调试固件

在没有源代码,没有symbol文件下,使用arm-none-eabi-gdb进行在线调试,分析固件的程序架构与流程是一件非常痛苦的事情。即使是一个只有15KiB的文件,也需要奋斗好几天。 一个好用,顺手的工具在调试过程中是多么的重要! 使用OpenOCD + ST-LINK/V2-1 + arm-none-eabi-gdb进行在线调试 这里,ST-LINK/V2-1使用的固件为ST原厂固件。 喜欢使用ST-LINK/V2-1工具主要是因为: - 通过OpenOCD写入固件非常方便,只需执行一条命令就可以进行固件的写入与完整性验证,OpenOCD对ST-LINK/V2-1支持非常好 - ST-L … 继续阅读STM32: 使用arm-none-eabi-gdb在线调试固件

Under the hood