FireBrain 发表于 2020-5-4 13:32:03

go语言开发f1c100s之oled驱动mmap升级优化版

本帖最后由 FireBrain 于 2020-5-4 16:25 编辑

这次优化后,oled刷新和裸奔应该没区别了。可以在用户层做一些驱动的工作。
https://github.com/kekemuyu/f1c100s
视频1s变化一次字符

刷新率很不错了,1000次的整屏刷新只用了12s或者13秒,fps达到了70~80的样子,cpu是默认的408m。
裸机没有做实验,理论上估计mmap方式操作gpio速度基本没有损失,因为这个是内存直接映射的寄存器。
请看视频:
刷新率测试

更进一步的思考是:mmap是否可以控制其他外设,如果可以的话,驱动层完全可以在用户层实现,对于不会做linux的驱动的提供了另一种添加外设的思路,这种方式的好处是初学者可以不理会linux的驱动模式的做法,完全用裸机的思维就可以添加需要的外设了。下一步是用mmap方式驱动spi,如果可以的话,证明这种思路是可行的。

qwe2231695 发表于 2020-5-4 14:39:55

支持,什么时候出一个视频教程呢?

了无 发表于 2020-5-4 21:48:26

貌似可以。论坛里面v3s开发板的外设驱动就是用虚拟地址去驱动的,而不是用文件去驱动。你可以看看

FireBrain 发表于 2020-5-5 08:03:58

了无 发表于 2020-5-4 21:48
貌似可以。论坛里面v3s开发板的外设驱动就是用虚拟地址去驱动的,而不是用文件去驱动。你可以看看 ...

有链接吗

了无 发表于 2020-5-5 11:43:32

FireBrain 发表于 2020-5-5 08:03
有链接吗

看12节,GPIO驱动这块。https://www.bilibili.com/video/BV1eE411u7Qo?p=12

了无 发表于 2020-5-7 13:44:00

FireBrain 发表于 2020-5-5 08:03
有链接吗

怎么样,是你说的那种吗

KunShan_a_dai 发表于 2020-5-7 14:01:24

go语言搞这个是不是有点跑偏了?

FireBrain 发表于 2020-5-7 19:28:30

了无 发表于 2020-5-7 13:44
怎么样,是你说的那种吗

也是只讲了gpio,其他外设没有

FireBrain 发表于 2020-5-7 19:29:59

KunShan_a_dai 发表于 2020-5-7 14:01
go语言搞这个是不是有点跑偏了?

go可以开发嵌入式,开发速度快

KunShan_a_dai 发表于 2020-5-8 09:15:01

FireBrain 发表于 2020-5-7 19:29
go可以开发嵌入式,开发速度快

先了解了解,受教!
页: [1]
查看完整版本: go语言开发f1c100s之oled驱动mmap升级优化版