硬汉嵌入式论坛

 找回密码
 立即注册
查看: 7059|回复: 1
收起左侧

[ThreadX全家桶] 请教下,guix 资源文件放在外部 spi flash 里面,开机后读出放在 sdram 运行,程序运行到 gx_system_start(); 出现错误 ?

[复制链接]

681

主题

3487

回帖

5555

积分

论坛元老

积分
5555
发表于 2021-4-16 09:38:46 | 显示全部楼层 |阅读模式
请教下,guix 资源文件放在外部 spi flash 里面,开机后读出放在 sdram 运行,程序运行到 gx_system_start(); 出现错误 ?

void MainTask(void)
{

    GX_THEME *theme = GX_NULL;
    INT theme_id = 0;
   GX_STRING **language_table = GX_NULL;
    uint8_t *buf;
GX_UBYTE *root_address;
       
        .... ..

        PWM_BackLightInit();
       
        /* 避免上电后瞬间的撕裂感 */
        LCD_SetBackLight(0);
       
        /* 初始化配置 */
        gx_initconfig();


        {
                // guix 资源文件 从 qspi flash 读出来放在 外部 sdram 里面运行
    /* 加载SPI Flash中的数据到SDRAM */
    buf = (uint8_t *)SDRAM_LTDC_USER_ADDR_1;  这个地方直接给出固定的 sdram 地址
                QSPI_ReadBuff(buf, 0, 10447676UL);
                buf[10447676UL+1] = 0;
    root_address = (GX_UBYTE *)buf;

    /* 加载主题 */
    gx_binres_theme_load(root_address, theme_id, &theme);
    //gx_display_theme_install(&display_1_control_block, theme);
    stm32H7x_guix_chinese_main_display_table[0].theme_table = (const GX_THEME **)&theme;

                /*
                  加载字体
                        加载 外部 spi flash 到 外部 sdram 2021.04.12 add
                       
                        这 里 特 别 注 意 language_table_size = DISPLAY_1_LANGUAGE_TABLE_SIZE 和 string_table_size = DISPLAY_1_STRING_TABLE_SIZE 从 那
                   里 来 的 ?  这 个 是 由 guiapp_resources.h 文件中如下的两个定义决定的:
                        #define DISPLAY_1_STRING_TABLE_SIZE   4  这个值得看具体的定义即可,系统定义的值不可随意修改
                        #define DISPLAY_1_LANGUAGE_TABLE_SIZE 1
                */
                gx_binres_language_table_load_ext(root_address, (GX_STRING ***)&language_table);
                stm32H7x_guix_chinese_main_display_table[0].language_table = (GX_CONST GX_STRING **)language_table;
                stm32H7x_guix_chinese_main_display_table[0].language_table_size = DISPLAY_1_LANGUAGE_TABLE_SIZE;
                stm32H7x_guix_chinese_main_display_table[0].string_table_size = DISPLAY_1_STRING_TABLE_SIZE;
        }


... ....

gx_system_start();   程序运行到这一步就会出现硬件错误 ???

}




回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115812
QQ
发表于 2021-4-16 11:52:33 | 显示全部楼层
使用我发布的那个程序里面的GUIX版本替换你当前的测试,如果还是有问题,说明程序有点问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-20 13:26 , Processed in 0.850031 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表