打印
[AT32F403/403A]

关于AT32F403A芯片 emwin菜单刷新慢问题

[复制链接]
2047|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenyuanjiyi|  楼主 | 2021-6-4 15:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 chenyuanjiyi 于 2021-6-4 16:07 编辑

这段时间移植项目,将ST的移植到AT上,发现这个问题,AHB=160M,XMC的配置,直接复制的例程中的配置,然后
XMC_NORSRAMTimingInitStruct.XMC_AdrHoldTime = 0;                //地址保持时间
        XMC_NORSRAMTimingInitStruct.XMC_AdrOpTime = 4;                        //地址建立时间
        XMC_NORSRAMTimingInitStruct.XMC_CLKPsc = 0;                        
        XMC_NORSRAMTimingInitStruct.XMC_DataOpTime = 8;                        //数据更新时间
        XMC_NORSRAMTimingInitStruct.XMC_DataStableTime = 0;                //数据保持时间
        XMC_NORSRAMTimingInitStruct.XMC_IntervalBetweenOP = 1;
        XMC_NORSRAMTimingInitStruct.XMC_Mode = XMC_Mode_A;
修改了上面的配置,项目中添加了FReeRTOS 和emwin,刚开始以为是任务导致的,然后查看了下刷新界面的这个任务占CPU80%(总共有4个任务,刷新的任务优先级最低,将其他的任务中的执行代码屏蔽,基本只是定时进入任务),通过这个基本可以排除任务切换的影响,然后XMC这块的上面的配置和之前ST的FSMC是一样的
Timing.AddressSetupTime = 4;
  Timing.AddressHoldTime = 0;
  Timing.DataSetupTime = 8;
  Timing.BusTurnAroundDuration = 1;
  Timing.CLKDivision = 0;
  Timing.DataLatency = 0;
  Timing.AccessMode = FSMC_ACCESS_MODE_A;
然后发现在AT上这个界面刷的比较慢  肉眼可以看到刷新的痕迹
项目配置的是224K RAM,emwin的显存地址取的是224K的后面64K。
现在:ST和AT的AHB都是160M,并且FSMC和XMC的上面这些参数也是一样的,任务中大多数时间都是在刷界面的任务(空闲就会执行),现在就不明白还有什么因素会影响到界面的刷新了?
望指点! 谢谢



使用特权

评论回复
沙发
muyichuan2012| | 2021-6-4 17:54 | 只看该作者
初始化再增加如下函数试试
XMC_ExtTimingConfig(XMC_Bank1_NORSRAM1,0,8);
XMC_Bank1_NORSRAM1  具体根据你的配置调整。

使用特权

评论回复
评论
chenyuanjiyi 2021-6-5 09:38 回复TA
试了下 加这个没啥区别 XMC_NORSRAMInitStruct.XMC_Bank = XMC_Bank1_NORSRAM1; XMC_NORSRAMInitStruct.XMC_BusType = XMC_BusType_16b; XMC_NORSRAMInitStruct.XMC_DataAdrMux = XMC_DataAdrMux_Disable; XMC_NORSRAMInitStruct.XMC_Dev = XMC_Dev_SRAM; XMC_NORSRAMInitStruct.XMC_EnableAsynWait = XMC_AsynWait_Disable; XMC_NORSRAMInitStruct.XMC_EnableBurstMode = XMC_BurstMode_Disable; XMC_NORSRAMInitStruct.XMC_EnableBurstModeSplit = XMC_BurstModeSplit_Disable; XMC_NORSRAMInitStruct.XMC_Enable...  
板凳
chenyuanjiyi|  楼主 | 2021-6-5 09:39 | 只看该作者
试了下  没啥区别  还是刷的比较慢   这是关于XMC的配置 直接复制例程的

XMC_NORSRAMInitStruct.XMC_Bank = XMC_Bank1_NORSRAM1;
        XMC_NORSRAMInitStruct.XMC_BusType = XMC_BusType_16b;
        XMC_NORSRAMInitStruct.XMC_DataAdrMux = XMC_DataAdrMux_Disable;
        XMC_NORSRAMInitStruct.XMC_Dev = XMC_Dev_SRAM;
        XMC_NORSRAMInitStruct.XMC_EnableAsynWait = XMC_AsynWait_Disable;
        XMC_NORSRAMInitStruct.XMC_EnableBurstMode = XMC_BurstMode_Disable;
        XMC_NORSRAMInitStruct.XMC_EnableBurstModeSplit = XMC_BurstModeSplit_Disable;
        XMC_NORSRAMInitStruct.XMC_EnableWaitSignal = XMC_WaitSignal_Disable;
        XMC_NORSRAMInitStruct.XMC_EnableWrite = XMC_WriteOperation_Enable;
        XMC_NORSRAMInitStruct.XMC_EnableWriteTiming = XMC_WriteTiming_Enable;
        XMC_NORSRAMInitStruct.XMC_WaitSignalConfig = XMC_WaitSignalConfig_BeforeWaitState;
        XMC_NORSRAMInitStruct.XMC_WaitSignalLv = XMC_WaitSignalLv_Low;
        XMC_NORSRAMInitStruct.XMC_WriteBurstSyn = XMC_WriteBurstSyn_Disable;
        XMC_NORSRAMInitStruct.XMC_WTimingStruct = &XMC_NORSRAMTimingInitStruct;
        XMC_NORSRAMInitStruct.XMC_RWTimingStruct = &XMC_NORSRAMTimingInitStruct;
        XMC_NORSRAMInit(&XMC_NORSRAMInitStruct);
  
  XMC_ExtTimingConfig(XMC_Bank1_NORSRAM1,0,8);
  //*(uint32_t*)0xa0000220 &= 0xff00;
  
        /*!< Enable FSMC Bank1_SRAM Bank */
        XMC_NORSRAMCmd(XMC_Bank1_NORSRAM1, ENABLE);


使用特权

评论回复
地板
muyichuan2012| | 2021-6-7 09:02 | 只看该作者
那估计是emwin哪里配置有所区别,毕竟你跑的是STF4xx,这个型号和AT32F4还有有区别的。
另外,可否留个邮箱,我把移植好的emwin demo发给你。

使用特权

评论回复
评论
HKL123 2022-11-10 12:14 回复TA
可否发一个emwin 例程给我呢 谢谢 
5
chenyuanjiyi|  楼主 | 2021-6-7 09:20 | 只看该作者
本帖最后由 chenyuanjiyi 于 2021-6-7 09:22 编辑
muyichuan2012 发表于 2021-6-7 09:02
那估计是emwin哪里配置有所区别,毕竟你跑的是STF4xx,这个型号和AT32F4还有有区别的。
另外,可否留个邮箱 ...

1364465583@qq.com

[图片发不出来了..还想截个图发下个emwin例程的信息的]
emwin的例程吗?  那个emwinV1.0.0,我看了那个手册(AT32emwin指导手册)的移植过程,没看到和我们之前的有啥区别

使用特权

评论回复
评论
chenyuanjiyi 2022-6-28 09:14 回复TA
@756572527 :这太久了 我也找不到相关资料了,建议去官方相应渠道找找 
756572527 2022-6-27 14:19 回复TA
@muyichuan2012 :版主你好,能否发份移植好的emwin我看看 
chenyuanjiyi 2021-6-7 10:15 回复TA
@muyichuan2012 :好的 谢谢啦 
muyichuan2012 2021-6-7 10:12 回复TA
看过emwin手册啊,那加入雅特力qq群呢,里面有emwin高手,或许可以解决你的问题。 雅特力官方qq群:1121757020 
6
redone| | 2022-7-3 10:22 | 只看该作者
160m应该还可以吧

使用特权

评论回复
7
chenjun89| | 2022-7-3 11:10 | 只看该作者
XMC特性有什么不同?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

134

帖子

3

粉丝