OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4615|回复: 3

RT1052 emWin播放视频/连续播放多张图片刷新速度很慢

[复制链接]

6

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2019-4-2
在线时间
21 小时
发表于 2019-5-6 18:54:04 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 fancyop 于 2019-5-6 18:54 编辑

我把图片数据放在0x80000000-0x81000000段,emwin内存放在0x81000000-0x82000000段,内存大小是0x600000(6M)绝对是够了把,图片数据也差不多6M左右,我就裸机跑的emwin效果如下:
上面的MPU是没有进行配置,然后我在main开头添加对MPU如下配置
[mw_shl_code=c,true]        SCB_DisableICache();                                                //关闭I Cache
        SCB_DisableDCache();                                                //关闭D Cache
        ARM_MPU_Disable();                                                        //关闭MPU

        //区域0~8配置,RBAR寄存器设置region基地址,BASR设置region的属性和大小
        MPU->RBAR=ARM_MPU_RBAR(0,0XC0000000);                                                                                        //region 0,起始地址0XC000 0000
        MPU->RASR=ARM_MPU_RASR(0,ARM_MPU_AP_FULL,2,0,0,0,0,ARM_MPU_REGION_SIZE_512MB);        //可执行,全访问,设备,禁止共享,禁止cache,禁止缓存,禁止子region,512MB大小

        MPU->RBAR=ARM_MPU_RBAR(1,0X80000000);                                                                                        //region 1,起始地址0X8000 0000,SDRAM首地址
        MPU->RASR=ARM_MPU_RASR(0,ARM_MPU_AP_FULL,2,0,0,0,0,ARM_MPU_REGION_SIZE_1GB);        //可执行,全访问,设备,禁止共享,禁止cache,禁止缓存,禁止子region,1GB大小
   
        MPU->RBAR=ARM_MPU_RBAR(2,0X60000000);                                                                                        //region 2,起始地址0X6000 0000,FlexSPI首地址       
        MPU->RASR=ARM_MPU_RASR(0,ARM_MPU_AP_FULL,0,0,0,0,0,ARM_MPU_REGION_SIZE_512MB);        //可执行,全访问,写回,禁止共享,允许cache,允许缓存,禁止子region,512MB大小

        MPU->RBAR=ARM_MPU_RBAR(3,0X00000000);                                                                                        //region 3,起始地址0X0000 0000,ITCM首地址(包含ROMCP,DTCM,OCRAM)
        MPU->RASR=ARM_MPU_RASR(0,ARM_MPU_AP_FULL,2,0,0,0,0,ARM_MPU_REGION_SIZE_1GB);        //可执行,全访问,设备,禁止共享,禁止cache,禁止缓存,禁止子region,1GB大小

        MPU->RBAR=ARM_MPU_RBAR(4,0X00000000);                                                                                        //region 4,起始地址0X0000 0000,ITCM首地址,相同地址段设置,region大的覆盖小的
        MPU->RASR=ARM_MPU_RASR(0,ARM_MPU_AP_FULL,0,0,1,1,0,ARM_MPU_REGION_SIZE_128KB);        //可执行,全访问,写回,禁止共享,允许cache,允许缓存,禁止子region,128KB大小

        MPU->RBAR=ARM_MPU_RBAR(5,0X20000000);                                                                                        //region 5,起始地址0X2000 0000,DTCM首地址,相同地址段设置,region大的覆盖小的
        MPU->RASR=ARM_MPU_RASR(0,ARM_MPU_AP_FULL,0,0,1,1,0,ARM_MPU_REGION_SIZE_128KB);        //可执行,全访问,写回,禁止共享,允许cache,允许缓存,禁止子region,128KB大小

        MPU->RBAR=ARM_MPU_RBAR(6,0X20200000);                                                                                        //region 6,起始地址0X2020 0000,OCRAM首地址,相同地址段设置,region大的覆盖小的
        MPU->RASR=ARM_MPU_RASR(0,ARM_MPU_AP_FULL,0,0,1,1,0,ARM_MPU_REGION_SIZE_256KB);        //可执行,全访问,写回,允许共享,允许cache,禁止缓存,禁止子region,256KB大小

        MPU->RBAR=ARM_MPU_RBAR(7,0X80000000);                                                                                        //region 7,起始地址0X8000 0000,SDRAM首地址,相同地址段设置,region大的覆盖小的
        MPU->RASR=ARM_MPU_RASR(0,ARM_MPU_AP_FULL,0,0,1,1,0,ARM_MPU_REGION_SIZE_16MB);        //可执行,全访问,写回,禁止共享,允许cache,允许缓存,禁止子region,16MB大小
       
        ARM_MPU_Enable(MPU_CTRL_PRIVDEFENA_Msk);        //使能MPU,开启背景region
        SCB_EnableDCache();                                                        //使能D Cache
        SCB_EnableICache();                                                        //使能I Cache  [/mw_shl_code]


然后运行结果如下,图片刷新就更慢了这是为什么?


这是什么原因,怎么才能够加快刷新速度呢?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-5-8 02:34:59 | 显示全部楼层
emwin视频解码性能极差,建议用我们提供的视频解码代码。
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2019-5-7
在线时间
19 小时
发表于 2019-5-9 16:01:52 | 显示全部楼层
正点原子 发表于 2019-5-8 02:34
emwin视频解码性能极差,建议用我们提供的视频解码代码。

原子哥,是用你们提供的libjpeg解码嘛?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2019-5-10 02:27:20 | 显示全部楼层
Smas1226 发表于 2019-5-9 16:01
原子哥,是用你们提供的libjpeg解码嘛?

是的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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