群青247 2025-07-01 21:39 采纳率: 0%
浏览 55

stm32h750外部flash配置

问一下stm32h750vbt6关于外部flash可以烧录但debug就是访问不到外部地址 不知道为什么 也没有配置mpu

img

  • 写回答

7条回答 默认 最新

  • 阿里嘎多学长 2025-07-01 21:39
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    stm32h750外部flash配置

    你遇到的问题是,stm32h750vbt6可以烧录外部flash,但是在调试模式下无法访问外部flash地址。下面是一些可能的解决方案:

    1. 检查外部flash的连接是否正确。确保外部flash的CS、CLK、DQ线连接正确。
    2. 检查外部flash的配置是否正确。确保外部flash的地址、数据宽度、读写模式等配置正确。
    3. 检查stm32的flash接口是否正确配置。确保stm32的flash接口的地址、数据宽度、读写模式等配置正确。
    4. 检查stm32的MPU是否正确配置。如果stm32的MPU没有正确配置,可能会导致外部flash无法访问。
    5. 检查stm32的flash接口是否被占用。如果stm32的flash接口被占用,可能会导致外部flash无法访问。

    以下是一个简单的示例代码,用于配置stm32的flash接口:

    #include "stm32h7xx_hal.h"
    
    int main(void)
    {
        // 配置flash接口
        HAL_FLASH_Init();
        HAL_FLASH_SetLatency(FLASH_LATENCY_2);
        HAL_FLASH_SetWaitState(FLASH_WAIT_STATE_2);
    
        // 配置外部flash的地址和数据宽度
        HAL_FLASH_SetAddress(FLASH_ADDRESS_EXTERNAL_FLASH);
        HAL_FLASH_SetDataWidth(FLASH_DATA_WIDTH_32);
    
        // 读取外部flash的数据
        uint32_t data;
        HAL_FLASH_ReadData(&data, FLASH_ADDRESS_EXTERNAL_FLASH);
    
        return 0;
    }
    

    这个示例代码中,我们首先初始化flash接口,然后设置flash接口的延迟和等待状态。然后,我们设置外部flash的地址和数据宽度。最后,我们读取外部flash的数据。

    需要注意的是,这只是一个简单的示例代码,实际情况中可能需要根据具体的硬件和软件配置进行修改。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月1日