经过一个晚上的驱动修改以及对静态库的少许改动成功的将新唐的emwin移植到了F1C200S的硬件上了,
而且是运行在linux下的,测试了几个小时的GUIDemo应用,没有出现任何死机问题,先上两张照片。
轻松驱动一块1024*600@RGB565的屏幕,刷色块分数达到1亿分,
可以和STM的H7系列有得一拼了;
由于新唐的库里面jpeg用了硬解,导致在f1c200s的硬件上无法运行,
所以替换了一个软解的JPEG到新唐的库里面,并删除了芯片检测机制,
可以正常运行在f1c200s上。
先上一波github的地址: xiaofengvskuye/f1c200s_linux_emwin
有空再上传到国内的gitee上,由于是在tf卡上测试的,没有打包镜像。
linux上运行的emwin依赖于framebuffer,可以直接从fb上获取到分辨率参数,
无需再在配置文件里配置,代码写的匆忙,没有对驱动进行有优化,
大家可以帮忙优化一下GUIDRV_FB里的驱动。
代码里触摸部分用到tslib,由于我的屏幕是裸屏没有触摸,
所以关掉了触摸部分的驱动,但是代码还是保留了,没有进行调试。
以下由 @哇酷小二 2020-06-16 添加:
------------------------------------
不方便上github.com本站下载: f1c200s_linux_emwin_1cceec8cdc7c51da1f1a17255e761cf6.7z
离线
github的地址是這個嗎?
https://github.com/xiaofengvskuye/f1c200s_emwin
是这个了,忘记改链接了,帖子发表后好像就不能编辑了...
离线
不需要破解的,只要自定义一个GUI_DEVICE_API,然后传递给GUI_DEVICE_CreateAndLink()即可。
别用nuvoton内置的GUIDRV_LIN_16、GUIDRV_LIN_24、GUIDRV_LIN_32这类驱动就行。
现在就是用的这种方法,但是内部初始化的时候校验了新唐的芯片参数,只是跳过了这个校验过程,还有库里面的jpeg解码也调用到了新唐的硬件解码器,所以替换了jpeg解码部分。
离线