基于树莓派raspberry: 移植 2.4寸TFT显示屏以及源码分析
有了树莓派,但是没有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
首先上张图:
一 首先是接线
用的是P1口:
TFT与P1连线:
这个上面的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
make
三 测试
进入ssh进入树莓派
ls /dev/fb*
可以看到有fb0 和 fb1, fb1 就是我的TFT.
测试:
cat /dev/urandom > /dev/fb1
如果屏幕出现花屏那就是成功了.
那要如何树莓派默认显示在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);
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.
只有在Kconfig 中声明定义该模块,在make menuconfig 中才看得到ILI9325选项
3 ) 在 drivers/video/Makefile 添加:
obj-$(CONFIG_FB_ILI9325) += ili9325.o
只有加了这句话,在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; } } }
前面还有一系列定义命令和初始化的函数,主要是得符合ILI9325的时序.和单片机上使用该TFT一样,这里的这个函数,主要用来显示,操作TFT上的每一个像素点.
四 有了显示屏那就做个摄像头显示的小项目
我正好有一个USB接口的UVC驱动的摄像头,树莓派兼容的,其他驱动芯片的驱动只要在make menuconfig里面找到相应选项就可以了.
插上usb摄像头,可以看到/dev下多了video0文件,这个就是摄像头了.
装个mplayer:
sudo apt-get install mplayer
然后用mplayer 播放该摄像头
在tft上用鼠标点击终端图标,输入命令:
mplayer tv:// -tv driver=v4l2:width=320:height=240:device=/dev/video0
然后就在tft上显示摄像头的图像:
就到这里吧,有空再玩.

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Apabila anda mengklik medan carian dalam Windows 11, antara muka carian secara automatik mengembang. Ia memaparkan senarai program terbaru di sebelah kiri dan kandungan web di sebelah kanan. Microsoft memaparkan berita dan kandungan trend di sana. Semakan hari ini mempromosikan ciri penjanaan imej DALL-E3 baharu Bing, tawaran "Naga Sembang dengan Bing", maklumat lanjut tentang naga, berita popular daripada bahagian Web, cadangan permainan dan bahagian Carian Arah Aliran. Keseluruhan senarai item adalah bebas daripada aktiviti anda pada komputer anda. Walaupun sesetengah pengguna mungkin menghargai keupayaan untuk melihat berita, semua ini tersedia dengan banyaknya di tempat lain. Orang lain boleh secara langsung atau tidak langsung mengklasifikasikannya sebagai promosi atau pengiklanan. Microsoft menggunakan antara muka untuk mempromosikan kandungannya sendiri,

Dalam iOS 17 Apple memperkenalkan Mod Siap Sedia, pengalaman paparan baharu yang direka untuk mengecas iPhone dalam orientasi mendatar. Dalam kedudukan ini, iPhone dapat memaparkan satu siri widget skrin penuh, mengubahnya menjadi hab rumah yang berguna. Mod siap sedia diaktifkan secara automatik pada iPhone yang menjalankan iOS 17 yang diletakkan secara mendatar pada pengecas. Anda boleh melihat maklumat seperti masa, cuaca, kalendar, kawalan muzik, foto dan banyak lagi. Anda boleh leret ke kiri atau kanan melalui pilihan siap sedia yang tersedia dan kemudian tekan lama atau leret ke atas/bawah untuk menyesuaikan. Sebagai contoh, anda boleh memilih daripada paparan analog, paparan digital, fon gelembung dan paparan siang, di mana warna latar belakang berubah berdasarkan masa seiring dengan berlalunya masa. Terdapat beberapa pilihan

Sistem pengendalian Windows 11 Microsoft mungkin memaparkan cadangan secara berkala sebagai pop timbul pada komputer anda menggunakan sistem pemberitahuan. Sistem cadangan, yang pada asalnya direka bentuk untuk menyediakan petua dan cadangan kepada pengguna untuk menambah baik aliran kerja Windows 11 mereka, hampir sepenuhnya berubah menjadi sistem pengiklanan untuk mempromosikan perkhidmatan dan produk Microsoft. Pop timbul cadangan mungkin mengiklankan langganan Microsoft 365 kepada pengguna, mencadangkan memautkan telefon Android ke peranti atau menyediakan penyelesaian sandaran. Jika pop timbul ini mengganggu anda, anda boleh mengubahsuai sistem anda untuk melumpuhkannya sepenuhnya. Panduan berikut menyediakan cadangan untuk melumpuhkan pop timbul pada peranti yang menjalankan sistem pengendalian Windows 11 Microsoft.

Apakah yang berlaku apabila susun atur desktop dikunci apabila menggunakan komputer, kadangkala kita mungkin menghadapi situasi di mana reka letak desktop dikunci. Masalah ini bermakna kita tidak boleh bebas melaraskan kedudukan ikon desktop atau menukar latar belakang desktop. Jadi, apa sebenarnya yang berlaku apabila ia mengatakan bahawa susun atur desktop dikunci? 1. Fahami reka letak desktop dan fungsi penguncian Pertama, kita perlu memahami dua konsep susun atur desktop dan penguncian desktop. Reka letak desktop merujuk kepada susunan pelbagai elemen pada desktop, termasuk pintasan, folder, widget, dsb. kita boleh bebas

Cara menghidupkan sari kata langsung dalam Windows 11 1. Tekan Ctrl+L pada papan kekunci anda 2. Klik Setuju 3. Pop timbul akan muncul yang menyatakan Sedia untuk menambah sari kata dalam bahasa Inggeris (AS) (bergantung pada bahasa pilihan anda) 4. Selain itu, anda boleh menapis kata-kata kotor dengan mengklik butang gear? Keutamaan? Menapis Artikel Berkaitan Sumpah Cara Membetulkan Kod Ralat Pengaktifan 0xc004f069 dalam Pelayan Windows Proses pengaktifan pada Windows kadangkala mengambil giliran secara tiba-tiba untuk memaparkan mesej ralat yang mengandungi kod ralat 0xc004f069 ini. Walaupun proses pengaktifan adalah dalam talian, beberapa sistem lama yang menjalankan Windows Server mungkin mengalami masalah ini. Lulus semakan awal ini dan jika semakan ini tidak

Terdapat ramai pengguna yang menggunakan Sambungan Desktop Jauh Ramai pengguna akan menghadapi beberapa masalah kecil apabila menggunakannya, seperti bar tugas pihak lain yang tidak dipaparkan penyelesaian di bawah. Cara untuk memaparkan bar tugas pihak lain semasa Sambungan Desktop Jauh: 1. Pertama, klik "Tetapan". 2. Kemudian buka "Peribadikan". 3. Kemudian pilih "Taskbar" di sebelah kiri 4. Matikan pilihan Hide Taskbar dalam gambar.

Dalam sistem Linux, anda boleh menggunakan perintah pwd untuk memaparkan laluan semasa. Perintah pwd ialah singkatan dari PrintWorkingDirectory dan digunakan untuk memaparkan laluan direktori kerja semasa. Masukkan arahan berikut dalam terminal untuk memaparkan laluan semasa: pwd Selepas melaksanakan arahan ini, terminal akan memaparkan laluan penuh direktori kerja semasa, seperti: /home/user/Documents. Selain itu, anda juga boleh menggunakan beberapa pilihan lain untuk meningkatkan kefungsian perintah pwd Contohnya, pilihan -P boleh dipaparkan

Anda tidak perlu memasukkan kata laluan WIFI dengan kerap, jadi adalah perkara biasa untuk melupakannya Hari ini saya akan mengajar anda cara paling mudah untuk mencari kata laluan WIFI anda sendiri. Ia boleh dilakukan dalam masa 3 saat. Untuk menyemak kata laluan WIFI, gunakan WeChat untuk mengimbasnya Premis kaedah ini ialah: mesti ada telefon bimbit yang boleh menyambung ke WIFI. Okay, mari mulakan tutorial: Langkah 1. Kami masukkan telefon, tarik ke bawah dari bahagian atas telefon, bawa ke atas bar status, dan ikon WIFI Langkah 2. Tekan lama ikon WIFI untuk memasukkan tetapan WLAN tekan ikon WIFI Langkah 3. Klik Bersambung Masukkan nama WIFI rumah anda, klik Kongsi Kata Laluan, dan kod QR akan muncul di Langkah 4 untuk berkongsi kata laluan WIFI, kami mengambil tangkapan skrin dan menyimpan kod QR ini; , tekan lama ikon WeChat pada desktop dan klik Imbas
