硬汉嵌入式论坛

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

[GUI] STM32H7使用emWin的存储设备方式操作图片注意事项

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2019-9-11 12:28:48 | 显示全部楼层 |阅读模式
1、SDRAM作为emWin的显存和动态内存,要配置为WT模式


  1.         MPU_InitStruct.Enable           = MPU_REGION_ENABLE;
  2.         MPU_InitStruct.BaseAddress      = 0xC0000000;
  3.         MPU_InitStruct.Size             = MPU_REGION_SIZE_32MB;
  4.         MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
  5.         MPU_InitStruct.IsBufferable     = MPU_ACCESS_NOT_BUFFERABLE;
  6.         MPU_InitStruct.IsCacheable      = MPU_ACCESS_CACHEABLE;
  7.         MPU_InitStruct.IsShareable      = MPU_ACCESS_NOT_SHAREABLE;
  8.         MPU_InitStruct.Number           = MPU_REGION_NUMBER2;
  9.         MPU_InitStruct.TypeExtField     = MPU_TEX_LEVEL0;
  10.         MPU_InitStruct.SubRegionDisable = 0x00;
  11.         MPU_InitStruct.DisableExec      = MPU_INSTRUCTION_ACCESS_ENABLE;
  12.         HAL_MPU_ConfigRegion(&MPU_InitStruct);
复制代码


2、对于WT模式,读Cache是开启着的,所以这里最好设置为NOTRANSE。
注,下面这么操作,主要是为了方便验证问题。


  hMem = GUI_ALLOC_AllocZero(685496UL + 1);

  /* 将申请到内存的句柄转换成指针类型 */
  _acBuffer = GUI_ALLOC_h2p(hMem);

  memcpy(_acBuffer, _acbmp1, 685496+1);
  
  hMemBMP1 = GUI_MEMDEV_CreateEx(0, 0, 476, 480, GUI_MEMDEV_NOTRANS);
  GUI_MEMDEV_Select(hMemBMP1);
  
  GUI_BMP_Draw(_acBuffer, 0, 0);  // 从NANDFLASH 读取得图片数据
  
  GUI_MEMDEV_Select(0);

  GUI_MEMDEV_WriteAt(hMemBMP, 0, 0);

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2019-9-11 12:32:32 | 显示全部楼层
进一步确认,是此贴的问题造成的

石锤内存访问不支持非对齐是否STM32H7的硬件bug
http://www.armbbs.cn/forum.php?m ... id=94562&fromuid=58
(出处: 硬汉嵌入式论坛)


QQ截图20190911123228.jpg

回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2019-9-11 16:19:21 | 显示全部楼层
对齐问题在H7上要注意的地方有点多
代码不规范,亲人两行泪!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
 楼主| 发表于 2019-9-11 17:19:16 | 显示全部楼层
missfox 发表于 2019-9-11 16:19
对齐问题在H7上要注意的地方有点多

对,这个问题尤其要注意。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 06:11 , Processed in 0.167133 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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