翻阅应用笔记AN4286与AN2606,得知STM32H750自带的Bootloader支持spi烧录。可在实际尝试中,通过spi向stm32发送同步帧,无法收到从机应答。 H750的内部flash只有一个扇区,对扇区擦写时,内部flash用于IAP的自定义Bootloader也会被擦写掉。 产品中没有外接的QSPI或其他存储介质,因此自己写BootLoader不太现实。 想知道系统自带的bootloader SPI方式烧录有没有成功用过的, 若能得到答疑,万分感谢! 确认了SPI本身的时序没有问题, 符合手册上的Polarity: CPOL Low, CPHA Low, (时钟空闲时为低电平,上升沿采样) NSS hardware(确认spi与stm32H750的连线没有错,STM32上的SPI3的NSS硬件下拉接地)。 用了一个外接的spi flash发送指令读取ID,逻辑分析仪能读到MISO有数据返回。 同样的接线方式,接到stm32H750的SPI3引脚上,发送同步指令帧,MISO上没有数据返回。 依次发送0x5A,0x00,0x00,0x79 时序按照AN2606-P410-74.5 SPI connection timing 设置 |
STM32H7A3系列最大频率外部晶振无法使用
STM32H7ZGT6使用SPI+DMA方式驱动屏幕时候,使用阻塞式发送不会花屏幕,但是使用DMA方式会花屏。
STM32H750内部flash读写
STM32H743采用flash swap 进行IAP升级,reset后启动不了
STM32双核H7核间通信的方法
STM32H743IIC,HAL库驱动硬件I2C,hi2c2.state一直是busy. 为什么?
H747 DSI 模块的官方例程跑不通
MAC回环或以太网PHY芯片回环怎么实现?
STM32745/747芯片固件升级问题
H743 DAC通道缓冲器的校准问题
结合AN2606确认下管脚及硬件连接线路,比方CLK线上加个下拉。参考UM2237手册再确认STM32CubeProgrammer
工具下的SPI配置。
用stlink-V3配合cube program进行验证是个好思路,感谢!
购买了stlink-V3,
项目所使用的单片机型号为STM32H750VBT6
AN2606 50 STM32H74xxx/75xxx devices bootloader中
注明SPI1、SPI2、SPI3与SPI4均支持ISP烧录
使用STM32CubeProgrammer只能连接识别SPI1,
想请教下是我对手册的理解哪里出了问题呢,
万分感谢!!!
问题已解决,SPI1 MOSI与MISO有上拉,SPI3无
增加上拉电阻后均可识别
确定是由于接触不良导致的,MOSI与MISO无需上下拉电阻
你好,我遇到相似问题了,,
1,我发送了0x5A 00 00 然后等待应答0x79 ,有应答了,必须发送0x79吗?
2,我在完成同步后,我发送0x5A 00 FF 00 等待应答,却再也没有收到应答了。
你能帮我看看不,手册的时序不是太详细,我想先实现GAT指令
从手册上,命令似乎多发了一个字节。
另外按照其他小伙伴的建议,用ST-LINKV3去连接,这样可以测试出具体命令波形来对照了。
最后的00是提供时钟,目的是接收应答的。
这个是同步数据的波形。能收到应答,在主机端发送0x79后,返回的数据是0X72。然后我发送 0x5a 0x00 0xff 0x00 0x00 0x00 0x00 0x00 。收到的数据都不正常了
是的,是应该发一个空数据提供时钟,是我看漏了.
同步的数据看起来和协议对的上,关键是后面的GET command 的信号没看到。
而且GET command 发出后,按照协议描述最终会有十几个字节回复出来(列出所有命令)。
这是我完整的指令,从get指令开始就不正常了
烧录时序
分析用的软件 https://www.saleae.com/zh/downloads/
Saleae logic
这是烧录时序,层主可以参考下