ST-LINK Utility外部spi flash写报错
本帖最后由 ychf0000 于 2018-2-10 06:53 编辑参照官方提供的模板进行移植,单独对int Write (uint32_t Address, uint32_t Size, uint8_t* buffer)进行测试正常,ST-LINK Utility擦除外部flash,读正常均正常,写的时候报错。22:36:48 : Device ID:0x414
22:36:48 : Device flash Size : 512KBytes
22:36:48 : Device family :STM32F10xx High-density
22:38:02 : Erasing external memory success.
22:39:47 : External memory sector 0 erased.
22:40:05 : opened successfully.
22:40:12 : Programming error @ 0x00006A00!
哪位大侠有过类似经验,Programming error @ 0x00006A00!代表什么意思?给指导指导,谢谢!
问题已解决
原因:最初代码在ST-LINK Utility自带例程M25P64_STM3210E-EVAL基础上移植,和keil的例程对比后,发现两个flash配置方式不同,按keil的修改了一下,可以正确写入,不知道是ST的bug还是我没有移植好。SPIflash配置代码如下:
struct StorageInfo const StorageInfo={
#endif
"W25Q128_STM32F1xx", // Device Name + version number
SPI_FLASH, // Device Type
0x00000000, // Device Start Address
0x01000000, // Device Size in Bytes (16MBytes/128Mbits)
256, // Programming Page Size 256Bytes
0xFF, // Initial Content of Erased Memory
// Specify Size and Address of Sectors (view example below)
4096, 0, // Sector Size: 4KBytes//ST例程和MDK有区别,需更改
SECTOR_END // SECTOR_END//ST例程和MDK有区别,需更改
};
22:07:54 : opened successfully.
22:08:54 : Erasing external memory success.
22:09:48 : Memory programmed in 43s and 259ms.
22:09:48 : Verification...OK
写入1.1M的字库,43s 和SPIflash配置信息有关,目前可以写入数据了,但是有数据丢失,继续查找原因 本帖最后由 toofree 于 2018-2-9 09:56 编辑
虽然我也没这么玩过。但是从你的描述来看,能“擦”,能“读”,说明SPI的总线是通的,那么接下来就是“写”可能存在逻辑或时序问题。
我觉得,你可以在keil下,打开几个工程看看算法。
非常感谢您的指点,我再仔细查一下,有进展再更新 toofree 发表于 2018-2-9 01:15
虽然我也没这么玩过。但是从你的描述来看,能擦,能读,说明SPI的总线是通的,那么接下来就是写可以存在逻 ...
非常感谢您的指点,我再仔细查一下,有进展再更新:handshake 本帖最后由 toofree 于 2018-2-9 09:56 编辑
ychf0000 发表于 2018-2-9 06:14
非常感谢您的指点,我再仔细查一下,有进展再更新
是的,有进展说一声。虽然我目前项目没用到。但是这个功能还是蛮实用的,比如在外部SPI Flash中存放字库或图片等比较大的文件的时候,直接用仿真器往里烧是最好的。
要不然就得开USB或UART IAP了,占用本身资源不说,还提高了应用工程的复杂度,同时也会带来潜在的风险隐患。
toofree 发表于 2018-2-9 09:16
是的,有进展说一声。虽然我目前项目没用到。但是这个功能还是蛮实用的,比如在外部SPI Flash中存放字库或 ...
白天一直没时间,又仔细查了一下,现在可以实现了,我再制作一个稍微大点的字库试试能不能写成功。
我是在ST-LINK Utility自带例程M25P64_STM3210E-EVAL基础上移植,和keil的例程对比后,发现两个flash配置方式不同,按keil的修改了一下,可以正确写入,不知道是ST的bug还是我没有移植好。
再测试一下上传源码。 ychf0000 发表于 2018-2-9 22:11
22:07:54 : opened successfully.
22:08:54 : Erasing external memory success.
22:09: ...
成功了就好,:) 问下这个spi flash是怎么和stlink接线的?
页:
[1]
2