-
GD32F103VET6替换同型号STM32,并口写入数据有问题
如题,原先使用STM32VET6使用FSMC接口写入/读写外部的SRAM芯片,正常,使用8位数据位读写(外部SRAM芯片仅支持8位数据位),地址总线和数据总线复用。地址线使用到a0-a11;都是使用的是STM32的HAL库。STM32写入时,先写入地址,在写入数据,但在写入数据期间,因为是复用的,AD0-AD7由地址数值切换为数据数值,而AD8-AD11仍保持高地址数值;数据可以正常写入到外部的SRAM芯片中;但是替换为GD32后,写入数据时,在写入数据期间,AD8-AD11会直接输出低电平,就会导致数据不会写入到AD8-AD11为一的地址上;(写入地址的时候,AD8-AD11会输出对应的高低电平,但是到写入具体数据时,AD8-AD11会直接输出低电平)举一个例子,例如我向0x60000303写入数据0x11;STM32可以在0x60000303写入数据0x11;而GD32由于上面说的在写入数据的时候,AD8-AD11总是输出0,所以就会向0x60000003的地址上写入了0x11,无法正常向0x60000100-0x600007FF写入数据。GD32可以正常向低地址上写入数据,读数据均正常(低地址/高地址均可读出正确数据);目前的问题就是GD32无法在写入具体数据的周期中,无法保证AD8-AD11的状态导致的问题。请问是否有办法通过修改gd32的寄存器的方式或者设置,直接实现正常向高地址写入数据。
2026-03-23 4 -
程序>flash size 但是< (flash size + data size)-如何烧录?
本帖最后由xmcxsta于2024-4-308:53编辑新片子,使用J-FLASHJ烧录程序大于flashsize但是<(flashsize+datasize),发现烧录不了,必须先设置config区,把dataflash也改为flash,然后断电重启,才能烧录目前做法是使用J-LINK脚本连续烧录2次,第一次烧录,主要设置config区,第二次烧录才是烧录需要的程序手头没有NULINK,nulink好像可以直接改把,但是也很麻烦,有没有什么脚本工具批量改的?
2024-04-03 13

问答