Heim Datenbank MySQL-Tutorial 基于树莓派raspberry: 移植 2.4寸TFT显示屏以及源码分析

基于树莓派raspberry: 移植 2.4寸TFT显示屏以及源码分析

Jun 07, 2016 pm 03:24 PM
bezogen auf 显示 Himbeere

有了树莓派,但是没有hdmi显示器,这是个蛋疼的事,但是树莓派就是树莓派,他的GPIO管脚就是我们发挥想象力的地方.可以通过它的GPIO管脚来驱动一个显示屏.GOOGLE了一下,这个项目有个老外做好了,而且提供了patch文件,很容易就能移植到内核里面去.这里我就在这里记

        有了树莓派,但是没有hdmi显示器,这是个蛋疼的事,但是树莓派就是树莓派,他的GPIO管脚就是我们发挥想象力的地方.可以通过它的GPIO管脚来驱动一个显示屏.GOOGLE了一下,这个项目有个老外做好了,而且提供了patch文件,很容易就能移植到内核里面去.这里我就在这里记录一下移植这个TFT驱动的过程,然后试着分析这个老外提供的PATCH文件,希望能从中提高自己的能力,也能够熟悉一下内核的移植.

        环境: ubuntu 13.10 (交叉编译按前面的文章设置)

        TFT :  2.4寸 12864接口  ILI9325主控 (当时叉宝买来给AVR用的)

        http://blog.csdn.net/embbnux/article/details/17394793

  博主最近自建了博客,以后会更多的用那个了,欢迎关注访问,里面也有很多有用资源:

          http://www.embbnux.com/

参考文章:

         http://spritesmods.com/?art=rpi_arcade&page=2

         http://www.blogjava.net/baicker/archive/2012/12/18/392829.html

首先上张图:

                      基于树莓派raspberry: 移植 2.4寸TFT显示屏以及源码分析

                     基于树莓派raspberry: 移植 2.4寸TFT显示屏以及源码分析

一  首先是接线

      用的是P1口:

      基于树莓派raspberry: 移植 2.4寸TFT显示屏以及源码分析

       TFT与P1连线:

      基于树莓派raspberry: 移植 2.4寸TFT显示屏以及源码分析

    这个上面的VCC接的是3.3v,因为我的屏幕接口是5v,所以我给改成5v了.

二  添加TFT驱动到内核

     编译内核的环境,就按之前的文章设置,这里不再复述.

     用的是spritesmods.com/?art=rpi_arcade&page=2提供的diff文件

     原下载链接:  ili9325_gpio_driver_rpi.diff

     也可以到我的资源下载:

           http://download.csdn.net/detail/canyue102/6735059

      这个补丁是基于3.6内核的,不同版本的内核可能不一样,自己改一下就好了.

      首先把 该diff文件放到内核根目录下,终端进去该目录:

     

patch -p1 <br>
      然后TFT内核源码就被添加到内核去了.  <br>

<p></p>
<pre class="brush:php;toolbar:false">make menuconfig
Nach dem Login kopieren
     可以在device driver >> graphics support >> support for frame buffer 下看到ILI9325选项,Y选中它就把它添加进内核.另外的BCM2708 framebuffer support就是原来树莓派自带的HDMI和AV显示.

make 
Nach dem Login kopieren
   .

三  测试

     进入ssh进入树莓派

   

ls /dev/fb*
Nach dem Login kopieren

     可以看到有fb0 和 fb1,  fb1 就是我的TFT.

测试:

cat /dev/urandom > /dev/fb1
Nach dem Login kopieren

如果屏幕出现花屏那就是成功了.

 那要如何树莓派默认显示在tft上:

    在make menuconfig里面把刚才说到的BCM2708 framebuffer support取消掉就可以了,不过就不支持HDMI了

三  源文件分析

    查看该diff文件可以看出作者对内核做了四处改动

 1 ) 在 arch/arm/mach-bcm2708/bcm2708.c文件中添加了ILI9325 平台定义

   

static struct platform_device bcm2708_ili9325 = {
	.name = "ili9325",
	.id = 0,
};
/*************************/
bcm_register_device(&bcm2708_ili9325);
Nach dem Login kopieren

  2 ) 修改了 drivers/video/Kconfig 文件,添加:

config FB_ILI9325
	tristate "ILI9325 connected to Raspberry Pi GPIO support"
	depends on FB
	select FB_SYS_FILLRECT
	select FB_SYS_COPYAREA
	select FB_SYS_IMAGEBLIT
	select FB_SYS_FOPS
	select FB_DEFERRED_IO
	help
	  This driver implements a framebuffer on an LCD controlled by a
	  ILI9325 (or compatible) controller connected to the GPIO of the 
	  Raspberry Pi.
Nach dem Login kopieren

只有在Kconfig 中声明定义该模块,在make menuconfig 中才看得到ILI9325选项

   3 ) 在 drivers/video/Makefile 添加:

 

obj-$(CONFIG_FB_ILI9325)		  += ili9325.o
Nach dem Login kopieren

    只有加了这句话,在make menuconfig选中该模块后,make时,该模块才会被编译


   4)  在drivers/video/目录下新建了 ili9325.c文件

     代码比较长,这里只看核心代码:

   

static void ili9325_copy(struct ili9325 *item, unsigned int index)
{
	unsigned short x;
	unsigned short y;
	unsigned short *buffer;
	unsigned short *oldbuffer;
	unsigned int len;
	unsigned int count;
	int sendNewPos=1;
	x = item->pages[index].x;
	y = item->pages[index].y;
	buffer = item->pages[index].buffer;
	oldbuffer = item->pages[index].oldbuffer;
	len = item->pages[index].len;
	dev_dbg(item->dev,
		"%s: page[%u]: x=%3hu y=%3hu buffer=0x%p len=%3hu\n",
		__func__, index, x, y, buffer, len);

	//Only update changed pixels in the page.
	for (count = 0; count =item->info->var.xres) {
			y++;
			x=0;
		}
	}
}
Nach dem Login kopieren

前面还有一系列定义命令和初始化的函数,主要是得符合ILI9325的时序.和单片机上使用该TFT一样,这里的这个函数,主要用来显示,操作TFT上的每一个像素点.


四  有了显示屏那就做个摄像头显示的小项目

     我正好有一个USB接口的UVC驱动的摄像头,树莓派兼容的,其他驱动芯片的驱动只要在make menuconfig里面找到相应选项就可以了.

     插上usb摄像头,可以看到/dev下多了video0文件,这个就是摄像头了.

     装个mplayer:

   

sudo apt-get install mplayer
Nach dem Login kopieren

    然后用mplayer 播放该摄像头

    在tft上用鼠标点击终端图标,输入命令:

  mplayer tv:// -tv driver=v4l2:width=320:height=240:device=/dev/video0  
Nach dem Login kopieren

   然后就在tft上显示摄像头的图像:

       基于树莓派raspberry: 移植 2.4寸TFT显示屏以及源码分析

     

就到这里吧,有空再玩.



Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So entfernen Sie Nachrichten und Trendinhalte aus der Windows 11-Suche So entfernen Sie Nachrichten und Trendinhalte aus der Windows 11-Suche Oct 16, 2023 pm 08:13 PM

Wenn Sie in Windows 11 auf das Suchfeld klicken, wird die Suchoberfläche automatisch erweitert. Es zeigt links eine Liste der zuletzt verwendeten Programme und rechts Webinhalte an. Dort zeigt Microsoft Neuigkeiten und Trendinhalte an. Der heutige Check bewirbt Bings neue Bildgenerierungsfunktion DALL-E3, das Angebot „Chat Dragons with Bing“, weitere Informationen zu Drachen, Top-News aus dem Web-Bereich, Spielempfehlungen und den Trending Search-Bereich. Die gesamte Liste der Elemente ist unabhängig von Ihrer Aktivität auf Ihrem Computer. Während einige Benutzer die Möglichkeit, Nachrichten anzuzeigen, zu schätzen wissen, ist all dies anderswo in Hülle und Fülle verfügbar. Andere können es direkt oder indirekt als Verkaufsförderung oder sogar als Werbung einstufen. Microsoft nutzt Schnittstellen, um eigene Inhalte zu bewerben,

Der Standby-Modus von iOS 17 verwandelt ein ladendes iPhone in einen Home-Hub Der Standby-Modus von iOS 17 verwandelt ein ladendes iPhone in einen Home-Hub Jun 06, 2023 am 08:20 AM

Mit iOS 17 führt Apple den Standby-Modus ein, ein neues Anzeigeerlebnis zum Laden von iPhones in horizontaler Ausrichtung. In dieser Position kann das iPhone eine Reihe von Vollbild-Widgets anzeigen und wird so zu einem nützlichen Home-Hub. Der Standby-Modus wird automatisch aktiviert, wenn ein iPhone mit iOS 17 horizontal auf dem Ladegerät platziert wird. Sie können Uhrzeit, Wetter, Kalender, Musiksteuerung, Fotos und mehr anzeigen. Sie können durch die verfügbaren Standby-Optionen nach links oder rechts wischen und dann zum Anpassen lange drücken oder nach oben/unten wischen. Sie können beispielsweise zwischen analoger Ansicht, digitaler Ansicht, Blasenschrift und Tageslichtansicht wählen, wobei sich die Hintergrundfarbe im Laufe der Zeit je nach Zeit ändert. Es gibt einige Optionen

Windows 11-Benutzerhandbuch: So deaktivieren Sie Werbe-Popups Windows 11-Benutzerhandbuch: So deaktivieren Sie Werbe-Popups Sep 22, 2023 pm 07:21 PM

Das Betriebssystem Windows 11 von Microsoft zeigt mithilfe des Benachrichtigungssystems möglicherweise regelmäßig Vorschläge als Popups auf Ihrem Computer an. Das Vorschlagssystem, das ursprünglich dazu gedacht war, Benutzern Tipps und Vorschläge zur Verbesserung ihrer Windows 11-Workflows zu geben, hat sich fast vollständig in ein Werbesystem zur Bewerbung von Microsoft-Diensten und -Produkten verwandelt. Pop-ups mit Vorschlägen könnten Benutzern ein Microsoft 365-Abonnement anbieten, vorschlagen, ein Android-Telefon mit dem Gerät zu verknüpfen oder eine Backup-Lösung einzurichten. Wenn Sie diese Pop-ups stören, können Sie Ihr System so anpassen, dass sie vollständig deaktiviert werden. Die folgende Anleitung enthält Empfehlungen zum Deaktivieren von Popups auf Geräten mit dem Betriebssystem Windows 11 von Microsoft.

Gründe und Lösungen für die Sperrung des Desktop-Layouts Gründe und Lösungen für die Sperrung des Desktop-Layouts Feb 19, 2024 pm 06:08 PM

Was passiert, wenn das Desktop-Layout gesperrt ist? Bei der Verwendung des Computers kann es manchmal vorkommen, dass das Desktop-Layout gesperrt ist. Dieses Problem bedeutet, dass wir die Position von Desktop-Symbolen nicht frei anpassen oder den Desktop-Hintergrund ändern können. Was genau passiert also, wenn es heißt, dass das Desktop-Layout gesperrt ist? 1. Das Desktop-Layout und die Sperrfunktionen verstehen. Zunächst müssen wir die beiden Konzepte Desktop-Layout und Desktop-Sperre verstehen. Unter Desktop-Layout versteht man die Anordnung verschiedener Elemente auf dem Desktop, darunter Verknüpfungen, Ordner, Widgets usw. wir können frei sein

So aktivieren Sie Live-Untertitel sofort in Windows 11 So aktivieren Sie Live-Untertitel sofort in Windows 11 Jun 27, 2023 am 08:33 AM

So aktivieren Sie Live-Untertitel sofort in Windows 11 1. Drücken Sie Strg+L auf Ihrer Tastatur 2. Klicken Sie auf „Zustimmen“ 3. Es erscheint ein Popup mit der Meldung „Bereit zum Hinzufügen von Untertiteln in Englisch (US)“ (abhängig von Ihrer bevorzugten Sprache) 4. Darüber hinaus Können Sie Obszönitäten filtern, indem Sie auf die Zahnradschaltfläche klicken? Präferenz? Filtern von Swear Verwandte Artikel So beheben Sie den Aktivierungsfehlercode 0xc004f069 in Windows Server Der Aktivierungsprozess unter Windows nimmt manchmal eine plötzliche Wendung und zeigt eine Fehlermeldung mit diesem Fehlercode 0xc004f069 an. Obwohl der Aktivierungsprozess online erfolgt, kann dieses Problem bei einigen älteren Systemen mit Windows Server auftreten. Bestehen Sie diese vorläufigen Prüfungen, wenn diese Prüfungen nicht erfolgreich sind

So stellen Sie eine Remotedesktopverbindung her und zeigen die Taskleiste des anderen Teilnehmers an So stellen Sie eine Remotedesktopverbindung her und zeigen die Taskleiste des anderen Teilnehmers an Jan 03, 2024 pm 12:49 PM

Es gibt viele Benutzer, die die Remotedesktopverbindung verwenden. Bei der Verwendung werden einige kleinere Probleme auftreten, z. B. dass die Taskleiste des anderen Teilnehmers nicht angezeigt wird. Tatsächlich liegt das Problem an den Einstellungen des anderen Teilnehmers Lösungen unten. So zeigen Sie die Taskleiste des anderen Teilnehmers während einer Remotedesktopverbindung an: 1. Klicken Sie zunächst auf „Einstellungen“. 2. Öffnen Sie anschließend „Personalisierung“. 3. Wählen Sie dann links „Taskleiste“ aus. 4. Deaktivieren Sie die Option „Taskleiste ausblenden“ im Bild.

Wie überprüfe ich das aktuelle Verzeichnis unter Linux? Wie überprüfe ich das aktuelle Verzeichnis unter Linux? Feb 23, 2024 pm 05:54 PM

In Linux-Systemen können Sie den Befehl pwd verwenden, um den aktuellen Pfad anzuzeigen. Der Befehl pwd ist die Abkürzung für PrintWorkingDirectory und wird verwendet, um den Pfad des aktuellen Arbeitsverzeichnisses anzuzeigen. Geben Sie im Terminal den folgenden Befehl ein, um den aktuellen Pfad anzuzeigen: pwd Nach der Ausführung dieses Befehls zeigt das Terminal den vollständigen Pfad des aktuellen Arbeitsverzeichnisses an, z. B.: /home/user/Documents. Darüber hinaus können Sie einige andere Optionen verwenden, um die Funktionalität des Befehls pwd zu erweitern. Beispielsweise kann die Option -P angezeigt werden

Wie zeige ich den WLAN-Passwort-QR-Code an? Es wird empfohlen, das WLAN-Passwort in 3 Sekunden auf WeChat zu scannen. Wie zeige ich den WLAN-Passwort-QR-Code an? Es wird empfohlen, das WLAN-Passwort in 3 Sekunden auf WeChat zu scannen. Feb 20, 2024 pm 01:42 PM

Sie müssen das WLAN-Passwort nicht oft eingeben, daher ist es normal, dass Sie es vergessen. Heute zeige ich Ihnen, wie Sie das Passwort Ihres eigenen WLANs in 3 Sekunden finden. Um das WLAN-Passwort zu überprüfen, scannen Sie es mit WeChat. Die Voraussetzung dieser Methode ist: Es muss ein Mobiltelefon vorhanden sein, das eine Verbindung zu WLAN herstellen kann. Okay, beginnen wir mit dem Tutorial: Schritt 1. Wir betreten das Telefon, ziehen es von der Oberseite nach unten, rufen die Statusleiste und das WLAN-Symbol auf. Schritt 2: Drücken Sie lange auf das WLAN-Symbol, um die WLAN-Einstellungen aufzurufen Klicken Sie auf das WLAN-Symbol. Klicken Sie auf „Verbunden“. Geben Sie den WLAN-Namen Ihres Zuhauses ein. Anschließend wird ein QR-Code zum Teilen des WLAN-Passworts angezeigt. Schritt 5: , drücken Sie lange auf das WeChat-Symbol auf dem Desktop und klicken Sie auf Scannen

See all articles