CN / EN
CN / EN

GR5526 内部PSARM使用 GR5526

185***524

2025-06-30 11:16

GR5526 中smart_watch 例程是使用的外部SPARM 怎么修改成内部PSARM


0收藏

0赞成

Seiyou

汇顶员工
2025-06-30 12:38

你好,请问smart_watch例程具体指哪一个呢?GR5526 SDK v1.0.3及之后版本所有的与图形相关的Example均使用的内部PSRAM

0条评论

0赞成

0收藏

您的评论

185***524

2025-06-30 13:16

uint16_t app_graphics_ospi_init(app_graphics_ospi_params_t * p_params)

{

app_graphics_ospi_config_t ospi_config;

uint8_t dev_id = 0x00;


if (NULL == p_params)

{

return APP_DRV_ERR_POINTER_NULL;

}


if(true != g_gpu_is_working) {

OSPI_DBG_PRINTF("Adjust DCore Policy Firstly (call app_graphics_adjust_dcore_policy())! \r\n");

ospi_adjust_dig_core_voltage();

}


ospi_power_on();

ospi_clock_on(p_params->ospi_freq);

ospi_set_io_mode(OSPI_IO_NOPULL);


ospi_config = s_ospi_config[(uint32_t)p_params->ospi_freq];

ospi_config.phy_delay_tap = p_params->phy_delay;

ospi_config.is_read_prefetch = p_params->is_read_prefetch;

ospi_config_init(&ospi_config);

app_graphics_ospi_reset();

delay_us(500);

ospi_set_reg_00h(p_params->rd_lc, p_params->drv_strength);

delay_us(100);

ospi_set_reg_04h(p_params->wr_lc);

delay_us(100);

dev_id = ospi_read_reg_02h() & 0x1F;


if(dev_id != OSPI_PSRAM_DEVICE_ID) {

OSPI_DBG_PRINTF("Invalid O.PSRAM ID: 0x%02x \r\n", dev_id);

return APP_DRV_ERR_INVALID_ID;

}


soc_register_nvic(OSPI_IRQn, (uint32_t)OSPI_IRQHandler);

ospi_set_access_mode(OSPI_ACCESS_MEMORY);

ospi_register_isr(ospi_interrupr_handler);

ll_ospi_x_set_dqs_timeout_interrupt(OSPI0, LL_OSPI_X_INTERRUPT_ENABLE);

NVIC_ClearPendingIRQ(OSPI_IRQn);

NVIC_EnableIRQ(OSPI_IRQn);


s_graphics_ospi_env.p_instance = OSPI0;

hal_pwr_mgmt_extra_device_suspend_register(EXTRA_DEVICE_NUM_OSPI, NULL, NULL);

hal_pwr_mgmt_extra_device_resume_register(EXTRA_DEVICE_NUM_OSPI, ospi_regs_resume, NULL);


memcpy((void*)&s_graphics_ospi_env.init_params, (void*)p_params, sizeof(app_graphics_ospi_params_t));

return APP_DRV_SUCCESS;

}

都是内部PSRAM吗


3条评论

0赞成

0收藏

您的评论

登录后可回答问题,请 注册

我们时刻倾听您的声音
联系销售

扫描关注公众号

打开微信,使用“扫一扫”即可关注