Maison base de données tutoriel mysql 基于树莓派raspberry: 移植 2.4寸TFT显示屏以及源码分析

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

Jun 07, 2016 pm 03:24 PM
basé sur 显示 framboise

有了树莓派,但是没有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
Copier après la connexion
     可以在device driver >> graphics support >> support for frame buffer 下看到ILI9325选项,Y选中它就把它添加进内核.另外的BCM2708 framebuffer support就是原来树莓派自带的HDMI和AV显示.

make 
Copier après la connexion
   .

三  测试

     进入ssh进入树莓派

   

ls /dev/fb*
Copier après la connexion

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

测试:

cat /dev/urandom > /dev/fb1
Copier après la connexion

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

 那要如何树莓派默认显示在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);
Copier après la connexion

  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.
Copier après la connexion

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

   3 ) 在 drivers/video/Makefile 添加:

 

obj-$(CONFIG_FB_ILI9325)		  += ili9325.o
Copier après la connexion

    只有加了这句话,在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;
		}
	}
}
Copier après la connexion

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


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

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

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

     装个mplayer:

   

sudo apt-get install mplayer
Copier après la connexion

    然后用mplayer 播放该摄像头

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

  mplayer tv:// -tv driver=v4l2:width=320:height=240:device=/dev/video0  
Copier après la connexion

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

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

     

就到这里吧,有空再玩.



Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment supprimer le contenu d'actualités et de tendances de la recherche Windows 11 Comment supprimer le contenu d'actualités et de tendances de la recherche Windows 11 Oct 16, 2023 pm 08:13 PM

Lorsque vous cliquez sur le champ de recherche dans Windows 11, l'interface de recherche se développe automatiquement. Il affiche une liste des programmes récents à gauche et du contenu Web à droite. Microsoft y affiche des actualités et du contenu tendance. Le chèque d'aujourd'hui fait la promotion de la nouvelle fonctionnalité de génération d'images DALL-E3 de Bing, de l'offre « Chat Dragons with Bing », de plus d'informations sur les dragons, des principales actualités de la section Web, des recommandations de jeux et de la section Recherche de tendances. La liste complète des éléments est indépendante de votre activité sur votre ordinateur. Bien que certains utilisateurs puissent apprécier la possibilité de consulter les actualités, tout cela est abondamment disponible ailleurs. D'autres peuvent directement ou indirectement le classer comme promotion ou même publicité. Microsoft utilise des interfaces pour promouvoir son propre contenu,

Le mode veille d'iOS 17 transforme un iPhone en chargement en hub domestique Le mode veille d'iOS 17 transforme un iPhone en chargement en hub domestique Jun 06, 2023 am 08:20 AM

Dans iOS 17, Apple introduit le mode veille, une nouvelle expérience d'affichage conçue pour charger les iPhones en orientation horizontale. Dans cette position, l'iPhone est capable d'afficher une série de widgets en plein écran, le transformant en un hub domestique utile. Le mode veille s'active automatiquement sur un iPhone sous iOS 17 placé horizontalement sur le chargeur. Vous pouvez afficher l'heure, la météo, le calendrier, les commandes musicales, les photos et bien plus encore. Vous pouvez faire glisser votre doigt vers la gauche ou la droite parmi les options de veille disponibles, puis appuyer longuement ou glisser vers le haut/bas pour personnaliser. Par exemple, vous pouvez choisir entre une vue analogique, une vue numérique, une police à bulles et une vue lumière du jour, où la couleur d'arrière-plan change en fonction du temps qui passe. Il existe quelques options

Guide de l'utilisateur de Windows 11 : Comment désactiver les fenêtres contextuelles publicitaires Guide de l'utilisateur de Windows 11 : Comment désactiver les fenêtres contextuelles publicitaires Sep 22, 2023 pm 07:21 PM

Le système d'exploitation Windows 11 de Microsoft peut afficher périodiquement des suggestions sous forme de fenêtres contextuelles sur votre ordinateur à l'aide du système de notification. Le système de suggestions, initialement conçu pour fournir aux utilisateurs des conseils et des suggestions pour améliorer leurs flux de travail Windows 11, s'est presque entièrement transformé en un système publicitaire visant à promouvoir les services et produits Microsoft. Les fenêtres contextuelles de suggestion peuvent annoncer un abonnement Microsoft 365 aux utilisateurs, suggérer de lier un téléphone Android à l'appareil ou configurer une solution de sauvegarde. Si ces fenêtres contextuelles vous ennuient, vous pouvez modifier votre système pour les désactiver complètement. Le guide suivant fournit des recommandations sur la désactivation des fenêtres contextuelles sur les appareils exécutant le système d'exploitation Windows 11 de Microsoft.

Raisons et solutions pour le verrouillage de la disposition du bureau Raisons et solutions pour le verrouillage de la disposition du bureau Feb 19, 2024 pm 06:08 PM

Que se passe-t-il lorsque la disposition du bureau est verrouillée ? Lors de l'utilisation de l'ordinateur, nous pouvons parfois rencontrer une situation dans laquelle la disposition du bureau est verrouillée. Ce problème signifie que nous ne pouvons pas ajuster librement la position des icônes du bureau ou modifier l'arrière-plan du bureau. Alors, que se passe-t-il exactement lorsqu'il est indiqué que la disposition du bureau est verrouillée ? 1. Comprendre la disposition du bureau et les fonctions de verrouillage. Tout d’abord, nous devons comprendre les deux concepts de disposition du bureau et de verrouillage du bureau. La disposition du bureau fait référence à la disposition de divers éléments sur le bureau, notamment les raccourcis, les dossiers, les widgets, etc. nous pouvons être libres

Comment activer instantanément les sous-titres en direct dans Windows 11 Comment activer instantanément les sous-titres en direct dans Windows 11 Jun 27, 2023 am 08:33 AM

Comment activer instantanément les sous-titres en direct dans Windows 11 1. Appuyez sur Ctrl+L sur votre clavier 2. Cliquez sur Accepter 3. Une fenêtre contextuelle apparaîtra indiquant Prêt à ajouter des sous-titres en anglais (États-Unis) (selon votre langue préférée) 4. De plus, pouvez-vous filtrer les grossièretés en cliquant sur le bouton d'engrenage ? Préférence? Filtrage des articles connexes Comment réparer le code d'erreur d'activation 0xc004f069 dans Windows Server Le processus d'activation sous Windows prend parfois une tournure soudaine pour afficher un message d'erreur contenant ce code d'erreur 0xc004f069. Bien que le processus d'activation soit en ligne, certains anciens systèmes exécutant Windows Server peuvent rencontrer ce problème. Réussir ces contrôles préalables, si ces contrôles échouent

Comment faire en sorte qu'une connexion de bureau à distance affiche la barre des tâches de l'autre partie Comment faire en sorte qu'une connexion de bureau à distance affiche la barre des tâches de l'autre partie Jan 03, 2024 pm 12:49 PM

De nombreux utilisateurs utilisent la connexion Bureau à distance. De nombreux utilisateurs rencontreront des problèmes mineurs lors de son utilisation, tels que le fait que la barre des tâches de l'autre partie ne s'affiche pas. En fait, il s'agit probablement d'un problème avec les paramètres de l'autre partie. solutions ci-dessous. Comment afficher la barre des tâches de l'autre partie lors d'une connexion Bureau à distance : 1. Tout d'abord, cliquez sur "Paramètres". 2. Ouvrez ensuite « Personnalisation ». 3. Sélectionnez ensuite « Barre des tâches » sur la gauche. 4. Désactivez l'option Masquer la barre des tâches dans l'image.

Comment vérifier le répertoire actuel sous Linux ? Comment vérifier le répertoire actuel sous Linux ? Feb 23, 2024 pm 05:54 PM

Sur les systèmes Linux, vous pouvez utiliser la commande pwd pour afficher le chemin actuel. La commande pwd est l'abréviation de PrintWorkingDirectory et est utilisée pour afficher le chemin du répertoire de travail actuel. Entrez la commande suivante dans le terminal pour afficher le chemin actuel : pwd Après avoir exécuté cette commande, le terminal affichera le chemin complet du répertoire de travail actuel, tel que : /home/user/Documents. De plus, vous pouvez utiliser d'autres options pour améliorer les fonctionnalités de la commande pwd. Par exemple, l'option -P peut afficher.

Comment afficher le code QR du mot de passe wifi ? Il est recommandé de scanner le mot de passe wifi sur WeChat en 3 secondes. Comment afficher le code QR du mot de passe wifi ? Il est recommandé de scanner le mot de passe wifi sur WeChat en 3 secondes. Feb 20, 2024 pm 01:42 PM

Vous n'avez pas besoin de saisir souvent le mot de passe WIFI, il est donc normal de l'oublier. Aujourd'hui, je vais vous apprendre la manière la plus simple de trouver le mot de passe de votre propre WIFI. Cela peut être fait en 3 secondes. Pour vérifier le mot de passe WIFI, utilisez WeChat pour le scanner. Le principe de cette méthode est le suivant : il doit y avoir un téléphone mobile pouvant se connecter au WIFI. Bon, commençons le didacticiel : Étape 1. Nous entrons dans le téléphone, descendons du haut du téléphone, faisons apparaître la barre d'état et l'icône WIFI. Étape 2. Appuyez longuement sur l'icône WIFI pour accéder aux paramètres WLAN ; appuyez sur l'icône WIFI. Étape 3. Cliquez sur Connecté. Entrez le nom WIFI de votre maison, cliquez sur Partager le mot de passe et un code QR apparaîtra ; Étape 4 du partage du mot de passe WIFI, nous prenons une capture d'écran et enregistrons ce code QR ; , appuyez longuement sur l'icône WeChat sur le bureau et cliquez sur Scan

See all articles