硬汉嵌入式论坛

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

[emWin] 使用 appWizard 初始化卡死在 APPW_CreatePersistentScreens 貌似是需要开启 cache ?

[复制链接]

684

主题

3511

回帖

5588

积分

论坛元老

积分
5588
发表于 2025-3-8 11:56:45 | 显示全部楼层 |阅读模式




使用 appWizard 初始化卡死在 APPW_CreatePersistentScreens 貌似是需要开启 cache 配置才行,

如果不是使用 appWizard 则是否开启 cache 则没有影响 , 大家伙 有遇到过吗 ???

MPU_InitStruct.Enable           = MPU_REGION_ENABLE;
MPU_InitStruct.BaseAddress      = 0x20000000;
MPU_InitStruct.Size             = MPU_REGION_SIZE_128KB;
MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
MPU_InitStruct.IsBufferable     = MPU_ACCESS_NOT_BUFFERABLE;
MPU_InitStruct.IsCacheable      = MPU_ACCESS_CACHEABLE;
MPU_InitStruct.IsShareable      = MPU_ACCESS_NOT_SHAREABLE;
MPU_InitStruct.Number           = MPU_REGION_NUMBER0;
MPU_InitStruct.TypeExtField     = MPU_TEX_LEVEL0;
MPU_InitStruct.SubRegionDisable = 0x00;
MPU_InitStruct.DisableExec      = MPU_INSTRUCTION_ACCESS_ENABLE;
HAL_MPU_ConfigRegion(&MPU_InitStruct);







        MPU_InitStruct.Enable           = MPU_REGION_ENABLE;
        MPU_InitStruct.BaseAddress      = 0x24000000;
        MPU_InitStruct.Size             = MPU_REGION_SIZE_512KB;
        MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
        MPU_InitStruct.IsBufferable     = MPU_ACCESS_NOT_BUFFERABLE;
        MPU_InitStruct.IsCacheable      = MPU_ACCESS_CACHEABLE;
        MPU_InitStruct.IsShareable      = MPU_ACCESS_NOT_SHAREABLE;
        MPU_InitStruct.Number           = MPU_REGION_NUMBER1;
        MPU_InitStruct.TypeExtField     = MPU_TEX_LEVEL0;
        MPU_InitStruct.SubRegionDisable = 0x00;
        MPU_InitStruct.DisableExec      = MPU_INSTRUCTION_ACCESS_ENABLE;
        HAL_MPU_ConfigRegion(&MPU_InitStruct);






        MPU_InitStruct.Enable           = MPU_REGION_ENABLE;
        MPU_InitStruct.BaseAddress      = 0xC0000000;
        MPU_InitStruct.Size             = MPU_REGION_SIZE_128MB;
        MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
        MPU_InitStruct.IsBufferable     = MPU_ACCESS_NOT_BUFFERABLE;
        MPU_InitStruct.IsCacheable      = MPU_ACCESS_CACHEABLE;
        MPU_InitStruct.IsShareable      = MPU_ACCESS_NOT_SHAREABLE;
        MPU_InitStruct.Number           = MPU_REGION_NUMBER2;
        MPU_InitStruct.TypeExtField     = MPU_TEX_LEVEL0;
        MPU_InitStruct.SubRegionDisable = 0x00;
        MPU_InitStruct.DisableExec      = MPU_INSTRUCTION_ACCESS_ENABLE;
        HAL_MPU_ConfigRegion(&MPU_InitStruct);





回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2025-3-8 14:49:59 | 显示全部楼层
不合理,如果这个成立,那不带Cache的F4等系列还没法使用这个功能了,说明问题在其它地方。
回复

使用道具 举报

684

主题

3511

回帖

5588

积分

论坛元老

积分
5588
 楼主| 发表于 2025-3-8 16:32:36 | 显示全部楼层
eric2013 发表于 2025-3-8 14:49
不合理,如果这个成立,那不带Cache的F4等系列还没法使用这个功能了,说明问题在其它地方。




按照以下配置后,很多时候启动都成问题呀,大部分都会进入到 Enter HardFault_Handler, System Halt. 这个错误里面, 但偶尔启动也会成功

我是在 RTX5 All In One(2024-10-30 V3.0) 这个模板上进行修改的, 删除了 RL_xx 的所有组件, 只保留 了 lcd, i2c, 等基本驱动

优化等级  00 - -Os balanced 都试过了的, 结果都差不多

01.png


02.png


03.png





回复

使用道具 举报

684

主题

3511

回帖

5588

积分

论坛元老

积分
5588
 楼主| 发表于 2025-3-8 17:00:26 | 显示全部楼层
eric2013 发表于 2025-3-8 14:49
不合理,如果这个成立,那不带Cache的F4等系列还没法使用这个功能了,说明问题在其它地方。




貌似不管是否开启 cache ,工作一会就会出现卡死的现象, 操作与不操作 基本都差不多, 这是不是说明是我的 硬件工作不稳造成的呀 ?

但是我单独测试 sdram 读写都是没有问题的, 之前使用 lvgl 工作都是很稳定 的没有出现卡死的情况

我使用的 分辨率: 1024*600  rgb565
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2025-3-9 09:39:48 | 显示全部楼层
hpdell 发表于 2025-3-8 17:00
貌似不管是否开启 cache ,工作一会就会出现卡死的现象, 操作与不操作 基本都差不多, 这是不是说 ...

改天我试试这个。
回复

使用道具 举报

684

主题

3511

回帖

5588

积分

论坛元老

积分
5588
 楼主| 发表于 2025-3-10 09:30:57 | 显示全部楼层
eric2013 发表于 2025-3-9 09:39
改天我试试这个。

好的,先感谢感谢大佬了呀
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-10 00:19 , Processed in 0.257226 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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