1 前言 关于framebuffer的移植,这是我第一次接触稍微高端点的驱动。以前都是学习使用spi和i2c驱动,这些驱动的整体框架已经很熟悉了,且网上资料都烂大街了,所以遇到问题基本都能轻松解决。到了这个驱动,就遇到了很多新问题;首先这个框架甚至都是我第一次听说,因此官方高度优化的代码读起来很费力!且不得不吐槽的一点是官方…
1. 前言 这两天做项目用到中断,发现以前学的那点东西都忘光了,索性写个笔记回忆加强一下记忆! 首先,中断分为硬中断和软中断。而软中断又细分为软中断、tasklet、工作队列;每种中断都有其优缺点,以及适用场景,具体情况看如下分析。 2. 中断的概念 2.1 中断的上半部和下半部 &ems…
1 前言 最近终于打通了从应用层到驱动再到硬件得整个流程,把触摸屏点亮了。回头看发现拖了好久得时间,之所以拖这么久也是强迫症犯了,想精益求精导致地。 分析官方例程可以看出,项目的优点是触摸模块和lcd模块共用同一个简单的spi驱动程序,除此之外整个就很普通。想要优化项目首先把lcd的驱动替换成fram…
1 前言 下面的画线和画圆算法了解其思想就行,我保证就算你现在看会了,以后想写算法还是要回来再看一遍资料。所以算法这种东西会用就可以了! 2 Bresenham直线算法(任意斜率) 2.1 算法产生原因 在一张白纸上绘制一个线段只需要2个点连接即可得到。但在oled屏幕上却很难,因为oled屏幕是由一…
1 前言 应用层的程序比较简单,不像底层驱动包含的知识太多,会C语言就能看懂。官方的程序为了兼容设备分了很多层,有很多用不上的代码,所以我删除了一些代码,又重写了一部分代码的逻辑。 简化后的代码只需要搞清楚spi传递参数的流程、oled屏幕点亮的逻辑、显示线段和圆的逻辑、显示中文的逻辑就行了。 2 应…
1 前言 硬件连接完成后,就要搞定驱动层了,这也是Linux的魅力之一,通过驱动的匹配实现硬件高度的兼容性。 因为oled屏幕与官方的不一样,所以设备树要做对应的修改。要改设备树就要先大体明白整个程序的逻辑和配置情况,才能做到有的放矢的改动代码配置设备树。 读完整个程序后我有两…
1 前言 前两天在网上看到能跑linux系统同时又这么小巧的开发板,我见猎心喜直接就剁手买了回来。但买回来就尴尬了,除了能跑自己写的几个小程序后,不知道干嘛了。想到自己之前写过一个基于QT的电子网络词典,把它移植到开发板上倒是一个不错的练手项目。只移植就太单调了,针对这个项目想做一下优化,使用LCD电阻触控屏进行显示及操作。…