10 STM32F4裸机移植SFUD

发布于 2020-11-12 17:49:17

想在STM32F407上实现裸机Bootloader,所以移植了SFUD,使用SPI2,能读到W25Q128JV的ID,就是在reset这一步失败,不知道问题出在哪里,flash芯片在RT-thread有验证过支持SFUD,只是裸机移植的时候不知道哪个环节出了问题,以下是错误信息

[SFUD](..\SFUD\src\sfud.c:116) Start initialize Serial Flash Universal Driver(SFUD) V1.1.0.
[SFUD](..\SFUD\src\sfud.c:117) You can get the latest version on https://github.com/armink/SFUD .
[SFUD](..\SFUD\src\sfud.c:861) The flash device manufacturer ID is 0xEF, memory type ID is 0x40, capacity ID is 0x18.
[SFUD](..\SFUD\src\sfud_sfdp.c:131) Check SFDP header is OK. The reversion is V1.5, NPN is 0.
[SFUD](..\SFUD\src\sfud_sfdp.c:173) Check JEDEC basic flash parameter header is OK. The table id is 0, reversion is V1.5, length is 16, parameter table pointer is 0x000080.
[SFUD](..\SFUD\src\sfud_sfdp.c:203) JEDEC basic flash parameter table info:
[SFUD](..\SFUD\src\sfud_sfdp.c:204) MSB-LSB  3    2    1    0
[SFUD](..\SFUD\src\sfud_sfdp.c:206) [0001] 0xFF 0xF9 0x20 0xE5
[SFUD](..\SFUD\src\sfud_sfdp.c:206) [0002] 0x07 0xFF 0xFF 0xFF
[SFUD](..\SFUD\src\sfud_sfdp.c:206) [0003] 0x6B 0x08 0xEB 0x44
[SFUD](..\SFUD\src\sfud_sfdp.c:206) [0004] 0xBB 0x42 0x3B 0x08
[SFUD](..\SFUD\src\sfud_sfdp.c:206) [0005] 0xFF 0xFF 0xFF 0xFE
[SFUD](..\SFUD\src\sfud_sfdp.c:206) [0006] 0x00 0x00 0xFF 0xFF
[SFUD](..\SFUD\src\sfud_sfdp.c:206) [0007] 0xEB 0x40 0xFF 0xFF
[SFUD](..\SFUD\src\sfud_sfdp.c:206) [0008] 0x52 0x0F 0x20 0x0C
[SFUD](..\SFUD\src\sfud_sfdp.c:206) [0009] 0x00 0x00 0xD8 0x10
[SFUD](..\SFUD\src\sfud_sfdp.c:215) 4 KB Erase is supported throughout the device. Command is 0x20.
[SFUD](..\SFUD\src\sfud_sfdp.c:234) Write granularity is 64 bytes or larger.
[SFUD](..\SFUD\src\sfud_sfdp.c:245) Target flash status register is non-volatile.
[SFUD](..\SFUD\src\sfud_sfdp.c:271) 3-Byte only addressing.
[SFUD](..\SFUD\src\sfud_sfdp.c:305) Capacity is 16777216 Bytes.
[SFUD](..\SFUD\src\sfud_sfdp.c:311) Flash device supports 4KB block erase. Command is 0x20.
[SFUD](..\SFUD\src\sfud_sfdp.c:311) Flash device supports 32KB block erase. Command is 0x52.
[SFUD](..\SFUD\src\sfud_sfdp.c:311) Flash device supports 64KB block erase. Command is 0xD8.
[SFUD]Find a Winbond flash chip. Size is 16777216 bytes.
[SFUD]Error: Flash device reset failed.
[SFUD]Error: W25Q128BV flash device is initialize fail.

查看更多

关注者
0
被浏览
332
1 个回答
ching
ching 2020-11-13

drv_spi.c的函数spixfer仿真看看,哪里出问题了

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览