完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我只想在开发板上写入/读取外部闪存,非常感谢提示如何制作最简单的方法。
我只为 M7 配置了 QUADSPI 接口: QUADSPI 模式:带 qaurd 线的双组 Chip Select for Dual Bank:为两个 bank 启用 Chip Select 1。 并使用 STM32H7h7-EVAL 板的示例应用程序。 现在闪存擦除命令失败:
|
|
相关推荐
1个回答
|
|
失败怎么办?
尝试使用 BSP 代码,不要中断。 确保芯片不处于 4 位地址模式。 确保 sCommand 结构是干净的。 MT25TL01G_BlockErase(&hqspi, QSPI_Ctx[Instance].InterfaceMode, BlockAddress, BlockSize) STM32Cube_FW_H7_V1.7.0DriversBSPSTM32H747I-DISCOstm32h747i_discovery_qspi.c STM32Cube_FW_H7_V1.7.0DriversBSPComponentsmt25tl01gmt25tl01g.c /** * @brief 擦除 QSPI 内存的指定块。 * MT25TL01G 支持 4K、32K、64K 大小的块擦除命令。 * SPI/QPI; 1-1-0/4-4-0 * @param Ctx 组件对象指针 * @param Mode 接口模式 * @param BlockAddress 要擦除的块地址 * @retval QSPI 内存状态 */ int32_t MT25TL01G_BlockErase(QSPI_HandleTypeDef *Ctx, MT25TL01G_Interface_t Mode,uint32_t BlockAddress, MT25TL01G_Erase_t BlockSize) { QSPI_CommandTypeDef s_command; 开关(块大小) { 默认 : 案例 MT25TL01G_ERASE_4K: s_command.Instruction = MT25TL01G_SUBSECTOR_ERASE_4_BYTE_ADDR_CMD_4K; 休息; 案例 MT25TL01G_ERASE_32K: s_command.Instruction = MT25TL01G_SUBSECTOR_ERASE_CMD_32K; 休息; 案例 MT25TL01G_ERASE_64K: s_command.Instruction = MT25TL01G_SECTOR_ERASE_4_BYTE_ADDR_CMD; 休息; 案例 MT25TL01G_ERASE_CHIP: 返回 MT25TL01G_ChipErase(Ctx,模式); } /* 初始化擦除命令 */ s_command.InstructionMode = (模式 == MT25TL01G_QPI_MODE) ? QSPI_INSTRUCTION_4_LINES:QSPI_INSTRUCTION_1_LINE; s_command.AddressMode = QSPI_ADDRESS_4_LINES; s_command.AddressSize = QSPI_ADDRESS_32_BITS; s_command.Address = BlockAddress; s_command.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; s_command.DataMode = QSPI_DATA_NONE; s_command.DummyCycles = 0; s_command.DdrMode = QSPI_DDR_MODE_DISABLE; s_command.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; s_command.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; /* 发送命令 */ MT25TL01G_WriteEnable(Ctx,Mode); 如果 (HAL_QSPI_Command(Ctx, &s_command, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK) { 返回 MT25TL01G_ERROR_COMMAND; } MT25TL01G_AutoPollingMemReady(Ctx,Mode); 返回 MT25TL01G_OK; } |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2725 浏览 1 评论
3237 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1807 浏览 1 评论
3646 浏览 6 评论
6034 浏览 21 评论
1336浏览 4评论
197浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
442浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
270浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 14:23 , Processed in 1.063715 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号