本帖最后由 STM32F103 于 2015-8-23 20:55 编辑
经验分享还谈不上,平台只是平台,具体看是拿来做什么的了。
其实这个程序最初来源于我自己画的一个103的一个板子上,跑起来很流畅,然后后面把小板上的芯片换成了407的,把底层的参数和硬件驱动更改后无非就是速度快了点,其实跑这个任务还是依然流畅,再到后面遇到了429的板子,看了下以后硬件的底层基本不怎么改,更改的比较多的是关于TFT屏的。然后以前板子用的字库文件是放到了外部的SPI存储器中,看了下F429支持SDRAM,又专门把SDRAM开辟一段空间,专门来放字库文件,接着就是发现了一个问题,字库的源文件在硬件上是放到某个地方,针对这个板子要么放到SD卡,要么放到NAND里面,为了能够方面我使用,果断放到了NAND里面,那么问题来了,在调试NAND的时候发现这板子的NAND底层驱动和ST官方的驱动不一样,官方的是用的128MByte的NAND(SLC),这个板子用的是512MByte的NAND(SLC),so看了下原理图里面的NAND型号,baidu了下所对应的DataSheet,果断发现是表示NAND空间里面地址所用的字节数不一样,更改后把字库驱动这样写:字库的底层——用于基本的NAND读写,字库的更新——用于从SD卡里面读取字库并更新(用了FATFS,此处不再细讲),以及字库的应用层——用于获取汉字对应的点阵编码(含有不同大小的汉字,做了12*12和16*16)。
最后世界终于清静了,板子上电初始化外部的SDRAM,然后字库初始化NAND,再立马把NAND文件读取到SDRAM对应的开辟区域里面,emWin的汉字更新也已经链接好了字库文件,终于把汉字刷新速度到了历史最高,拖动窗口毫无卡顿感,这在以前的系统上是无法媲美的。(其实这完全是像我这样的电子工程设计屌丝闲着蛋疼,没事干,瞎折腾,然而并没有什么卵用,找工作人家不看这个。说得有点多了,就当我是找个地方发发牢骚,还请莫怪 ) |