初级会员

- 积分
- 68
- 金钱
- 68
- 注册时间
- 2014-7-11
- 在线时间
- 0 小时
|
实在等不及了,特别想记录一下自己移植的过程,真是曲折,目前还在调试过程,还有很多问题没有解决,不过还是想阶段性的记录一下。不废话了,交代一下自己遇见的一些问题及自己的解决方法,也算自己的笔记了。感谢opendv的各路贴友,这确实个好坛子。
第一,我开始移植的时候下载了ucGUI的源码,不知所云,我就利用源码里的例程在VC上做仿真器,看ucGUI的中文手册,粗略的看了一下,大致有个印象,大致看完手册发现,跟MFC有点像哦!
第二,要移植ucGUI到STM32上,肯定得有低层驱动啊!自己原子哥的mini板坏掉了,自己又找了一块儿板子,着实比较差,开始参考原子哥的写低层驱动,刚开始只是功能实现,并没有想太多,什么优化啊!速度快啊!节省空间啊!当然LCD驱动跟TOUCH驱动都各自实现了,很不顺利!
第三,开始组合了,就是LCD跟触摸组合,太不顺了,整整忙了四五天,各种不顺啊!开始借来同学的mini板,以为很好成功,结果在本坛找了好多例程都不行,两天后才知道,同学的板子是V1.9的,驱动跟后边出的不一样,自己真的没想到是这个问题耗费了两天,这次教训很深,记住了。接着就是移植到自己板子上,加上ucGUI后触摸跟LCD显示死活不成功。开始找各种原因,各种改,最后在坛子上看到说TimerX_Init();Touch_Init();GUI_Init();这三按个函数的位置很重要,对头,问题解决了。
第四,接下来又是四五天的苦恼,刷屏太慢,各种重新改低层驱动啊!那个叫烦啊!一次次的试,都不行。在网上找好多,我认为低层驱动写成那样不至于刷屏那么慢吧!我开始怀疑板子问题。结果还真是找到一个自己忽略的问题,板子LCD驱动芯片的型号。板子的手册上明明写着9320,用JTAG追踪,确不是9320,瞬间就想哭,那以前自己的驱动怎么写的,怎么会显示成功呢!开始调试检查,是8989,开始找资料改驱动。虽然驱动不一样,但还运行了,很诡异。所以,不要被眼前的现象迷惑,一定要了解一下原理,即使不懂,也要知道一点。想起来写驱动时开窗没实现,被自己放过去了,现在想想不应该,是驱动问题。
第五,以为改完后可以了,结果还是不行,苦恼中。开始以为是自己改的驱动问题,接着优化,接着改。各种不行,最后在坛子上找到帖子,WM跟Widget这两个源文件加载到config文件夹前边,结果神一样的好很多,不解中。
调试很重要;修改低层驱动很重要;学会编译器优化编译很重要;发现问题,尽量不要放过,说不定就隐藏着更重要的东西,“出来混,欠下的迟早要还的”;坚持更重要......现在还有很多问题要解决,以后在继续写。
|
|