资深版主
 
- 积分
- 14980
- 金钱
- 14980
- 注册时间
- 2013-11-13
- 在线时间
- 1823 小时
|
ST送的STM32F746 EVAL板到了好久了,一直在忙其他的,也就没玩,最近1,2周每天晚上挤一点时间玩了一下STM32F7。一直对STM32F429/439的LTDC和SDRAM,DMA2D很感兴趣,但是没玩过,这次有了F7的板子肯定要玩一下这3个NB的外设。首先是板子上的SDRAM,SRAM的驱动,搞好以后就是LTDC驱动,花了两个晚上把LTDC驱动 搞好,可以在运行中进行横竖屏切换 。接下来就是内存管理,结果在内存管理这里出了问题,LCD使用SDRAM做缓存,这时如果读写外部SRAM的话SDRAM就会受到严重的影响,表现就是LCD会花屏,搞了1晚上没有解决,以为STM32的SDRAM和SRAM不能一起用,偶然间在看ST官方的STemWin移植的时候发现使用到了MPU来对内存做保护,忽然恍然大悟,我也可以对外部SRAM和SDRAM做保护啊,说不定就能解决影响的问题,又是一个晚上 的实验,完美解决了SDRAM和SRAM一起使用的问题,通过这个问题隐约感到了MPU的重要性!结果不出所料,在移植STemWin的时候大量的时间花费在了调试MPU上。通过几个晚上的调试 ,终于搞定了STemWin,STemWin可以使用内部RAM,也可以使用外部SRAM,和外部SDRAM,分配方式通过我们的内存管理函数:mymalloc()函数即可,非常方便!
平台:STM32F746 EVAL板
内存:内部256KB SRAM,64K的DTCM,外置2M的SRAM,和32M的SDRAM
主频:216M(所有外设均在216M的主频下运行,其中SDRAM为HCLK/2=108M)
STemWin内存:STemWin使用5M的SDRAM
屏幕:5.7寸,分辨率为640*480
开发环境:MDK5.15
调试工具:JTAG
STemWin版本:5.28版本的STemWin
通过这一次的移植经历我想告诉坛友们的是,如果想要用好F7或者F429/439,那么SDRAM,SRAM,DTCM(F7独有),MPU这几个有必要好好的研究一下!!!
话说F7确实厉害,在F407板子上我最多也只能优化到打点在1200W,但是F7的板子直接到了7700多万,性能可见一斑!由于有给STemWin分配了5M的RAM,因此DEMO中的需要大RAM的应用就可以跑起来了,下面附上视频,视屏上的闪烁是手机的原因,不是移植的问题。
顺便附上几张图,
|
|