硬汉嵌入式论坛

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

[ThreadX全家桶] stm32HA3不外扩SDRAM能驱动GUIX+4.3寸屏么

[复制链接]

17

主题

84

回帖

135

积分

初级会员

积分
135
QQ
发表于 2022-5-13 11:41:00 | 显示全部楼层 |阅读模式
希望不用外扩SDARM,只用RAM来做为显示的存储。我看显示似乎需要三块区域:显存、画布和动态内存,不知道这三块分别需要多大,屏幕是480*272 RGB565
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115863
QQ
发表于 2022-5-14 10:20:02 | 显示全部楼层
完全没问题,800*480都可以,它有一块差不多1MB的连续空间。

#define CD_AXISRAM1_BASE          (0x24000000UL) /*!< Base address of : (up to 256KB) system data RAM1 accessible over over AXI                */
#define CD_AXISRAM2_BASE          (0x24040000UL) /*!< Base address of : (up to 384KB) system data RAM2 accessible over over AXI                */
#define CD_AXISRAM3_BASE          (0x240A0000UL) /*!< Base address of : (up to 384KB) system data RAM3 accessible over over AXI                */
#define CD_AHBSRAM1_BASE          (0x30000000UL) /*!< Base address of : (up to 64KB) system data RAM1 accessible over over AXI->AHB Bridge     */
#define CD_AHBSRAM2_BASE          (0x30010000UL) /*!< Base address of : (up to 64KB) system data RAM2 accessible over over AXI->AHB Bridge     */
回复

使用道具 举报

17

主题

84

回帖

135

积分

初级会员

积分
135
QQ
 楼主| 发表于 2022-5-16 09:55:19 | 显示全部楼层
eric2013 发表于 2022-5-14 10:20
完全没问题,800*480都可以,它有一块差不多1MB的连续空间。

#define CD_AXISRAM1_BASE          (0x240 ...

那请问显存、画布、GUIX动态内存这三个需求的空间大小需要怎么计算
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115863
QQ
发表于 2022-5-17 00:25:13 | 显示全部楼层
linminghui 发表于 2022-5-16 09:55
那请问显存、画布、GUIX动态内存这三个需求的空间大小需要怎么计算

足够,你的显存和画布总共需要522,240字节,还有很多可以用于动态内存。
回复

使用道具 举报

17

主题

84

回帖

135

积分

初级会员

积分
135
QQ
 楼主| 发表于 2022-5-17 14:15:50 | 显示全部楼层
eric2013 发表于 2022-5-17 00:25
足够,你的显存和画布总共需要522,240字节,还有很多可以用于动态内存。

代码好像还要占用将近200,000个字节
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115863
QQ
发表于 2022-5-18 00:42:47 | 显示全部楼层
linminghui 发表于 2022-5-17 14:15
代码好像还要占用将近200,000个字节

嗯,足够了。
回复

使用道具 举报

17

主题

84

回帖

135

积分

初级会员

积分
135
QQ
 楼主| 发表于 2022-5-18 09:34:29 | 显示全部楼层

我试着把部分代码分配到0x30000000 AHBSRAM1后面的地址,发现程序跑到IO初始化的时候进了硬件错误。我看手册里面说时要使能sram的时钟,但是在H7似乎没有使能语句
回复

使用道具 举报

17

主题

84

回帖

135

积分

初级会员

积分
135
QQ
 楼主| 发表于 2022-5-18 09:57:52 | 显示全部楼层
似乎不是sram时钟的问题,因为我开启时钟使能后还是不行
[C] 纯文本查看 复制代码
    __HAL_RCC_AHBSRAM1_CLK_ENABLE();
    __HAL_RCC_AHBSRAM2_CLK_ENABLE();
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115863
QQ
发表于 2022-5-19 06:33:56 | 显示全部楼层
linminghui 发表于 2022-5-18 09:57
似乎不是sram时钟的问题,因为我开启时钟使能后还是不行
[mw_shl_code=c,true]    __HAL_RCC_AHBSRAM1_CLK ...

应该是这个帖子的问题吧

STM32H7使用MDK或IAR将D2域SRAM1做主RAM空间会在分散加载启动阶段硬件异常(已经解决,8楼附C方案,13楼附汇编方案)
https://www.armbbs.cn/forum.php? ... 2154&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

17

主题

84

回帖

135

积分

初级会员

积分
135
QQ
 楼主| 发表于 2022-5-23 17:32:17 | 显示全部楼层
使用RGB565空间是够的,不过我有一个问题,就是画布和动态内存分别是什么作用
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115863
QQ
发表于 2022-5-24 02:03:19 | 显示全部楼层
linminghui 发表于 2022-5-23 17:32
使用RGB565空间是够的,不过我有一个问题,就是画布和动态内存分别是什么作用

画布相当于整屏的缓冲。

动态内存是GUIX各种组件需要的动态内存。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-23 13:06 , Processed in 0.399042 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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