| 配置了psram后, 可以通过qpi的接口往里写入, 并在配置ahb总线后可以通过映射地址读出。但是无法通过映射地址写入。 /* 片选选项 */ static const int cs = 0; static HS_SF_Type *sf = HS_SF3; static const psram_main_config_t sf_cfg = { .freq_hz = 64000000, .width = PSRAM_WIDTH_4LINE, .delay = 2 }; int psram_init(void) {     for (int i = 0; i < sizeof(psram_pins) / sizeof(psram_pins[0]); i++)         pinmux_config(psram_pins[i].pin_index, psram_pins[i].pin_function);     // open     psram_open(sf);     // config     psram_config(sf, cs, &sf_cfg);     co_delay_ms(5); // 上电后延时一会再读写     /* 读id */     uint32_t id = psram_read_id(sf, cs);     /* 进入qpi模式 */     psram_quad_enter(sf, cs); #if 1     /* 测试 */     CO_ALIGN(4) static uint8_t sf_write_buf1[100] ;     for (int i = 0; i < sizeof(sf_write_buf1); ++i)         sf_write_buf1[i] = i; #define SF_TEST_ADDRESS 0 //这个qspi写入经证实是没问题的     psram_write_quad_qpi(sf, cs, SF_TEST_ADDRESS,                  (uint8_t *)sf_write_buf1, sizeof(sf_write_buf1)); //配置成映射地址模式     psram_config_t config;     config.cmd_p0_bit_cnt = 8;     config.cmd_p0_width = WIDTH_4BITS;     config.cmd_p1_width = WIDTH_4BITS;     config.cmd_p1_bit_cnt = 24;     config.sw_dummy_cycle_cnt = 6;     config.sdata_width = WIDTH_4BITS;     config.sw_cfg_en = 1;     psram_sw_config(sf, 0, &config, 0); #define AHB_TEST_ADDRESS (0x60000000 + SF_TEST_ADDRESS) 
     volatile char *p = (char *)AHB_TEST_ADDRESS;     for (int i = 0; i < sizeof(sf_write_buf1); i++) {         log_info("0x%02X ", *p++);     }     log_info("\n\n"); volatile char *p_w = (char *)AHB_TEST_ADDRESS; //这一句写入会让系统卡死,触发看门狗     *p_w++ = 0x01; #endif     return 0; } | 

