日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀] 目的: 在LCD上顯示一個英文字母和一個中文。 原理:在內(nèi)存中劃出一塊空間(FrameBuffer或顯存),工作的時候LCD控制器會從FrameBuffer中取出若干字節(jié)的數(shù)據(jù)(若干字節(jié)

目的: 在LCD上顯示一個英文字母和一個中文。<從字母和漢字的點陣里面取出它的數(shù)據(jù),然后搬到LCD上面去>

原理:在內(nèi)存中劃出一塊空間(FrameBuffer或顯存),工作的時候LCD控制器會從FrameBuffer中取出若干字節(jié)的數(shù)據(jù)(若干字節(jié)的數(shù)據(jù)代表一個像素),發(fā)到LCD顯示屏上

回顧:以前我們在LCD驅(qū)動中測試,顯示hello字符:echo hello > /dev/tty1 (對于/dev/tty說明點我跳轉(zhuǎn)), 顯然在lcd上顯示一個字符,肯定有它的點陣。echo hello只輸入了hello的ascii碼,那么怎么根據(jù)這個ascii碼怎么得到它的點陣。->推測在內(nèi)核中肯定含有英文字母的點陣。

①顯示英文字符’A’ Linux3.4.2: SI -> 8x16 (選這個和16*16的中文點陣高度匹配)

描繪一下字母’A’:16字節(jié)((8 x 16bit / 8))每一個英文字母用16字節(jié)表示;對于英文字符非常簡單,直接給出一個數(shù)組,搜索一下A的點陣0x41:

②顯示中文字符 中文字符點陣在HZK里面,每個占據(jù)((16 x 16bit / 8)) = 32字節(jié);存儲詳情點我跳轉(zhuǎn) 以’中’為例:D6(區(qū)碼) D0(位碼)

區(qū):表示哪一塊
位:一塊里面的哪一個
D6 - A1 就可以得到哪一塊;D0 - A1 表示這一塊里面的哪一個

為了兼容英文字符,并不是從0開始而是從A1開始



③根據(jù)上面原理來寫代碼: 本次將用到的所有代碼和文件點我跳轉(zhuǎn) show_font.c:里面注釋已經(jīng)很詳細 了 注釋:編寫show_font.c時候遇到的一個小問題,標注一下 error: invalid use of undefined type ‘struct fb_var_screeninfo’

這個結構體我們需要包含一個頭文件fb.h,看一下我們的交叉編譯工具鏈有沒有fb.h

有的,那么證明linux3.4.2下肯定有fb.h,如圖:

那我們直接包含進show_font.c中就可以解決。

- 編譯show_font.c:arm-linux-gcc -o show_font show_font.c ④ 在開發(fā)板中的文件系統(tǒng)上掛載ubnubtu的文件夾。 mount -t nfs -o nolock 192.168.2.3:/work/nfs_root/smxk /mnt 詳細掛載方法點我跳轉(zhuǎn) ⑤把程序拷貝到我們的網(wǎng)絡文件系統(tǒng)中: cp HZK16 show_font /work/nfs_root/smxk

—————>

⑥ 測試: Ⅰ、配置內(nèi)核:我們內(nèi)核里面沒有加入LCD的支持,配置、修改內(nèi)核支持把lcd.c編譯進去(代碼在上面)。<關于lcd.c驅(qū)動編寫點我跳轉(zhuǎn)> cp /mnt/hgfs/czg/smxk/002*/lcd.c drivers/video/
Ⅱ、使用新內(nèi)核啟動

vim drivers/video/Makefile

/2410 把原來的lcd驅(qū)動給注釋掉 -> lcd.o

make menuconfig : 配置內(nèi)核把LCD給包含進去

Device Drivers -> Graphics support ->Support for frame buffer devices
–>Y> s3c2410 LCD framebuffer support (以前是作為模塊,現(xiàn)在輸入Y編譯進內(nèi)核里面去)
EXIT保存

make uImage

編譯完成后 把內(nèi)核拷貝到網(wǎng)絡文件系統(tǒng)中去:cp arch/arm/boot/uImage /work/nfs_root/smxk

使用新內(nèi)核來啟動:nfs 32000000 192.168.2.3:/work/nfs_root/smxk/uImage; bootm 32000000

注釋: 啟動過程后發(fā)現(xiàn)根文件系統(tǒng)的DM9000網(wǎng)卡沒有:

詳情見:畢業(yè)班視屏https://edu.csdn.net/course/play/2597/40770

解決:換成畢業(yè)班視頻的uboot:u-boot_new.bin

然后set set machid 7CF
進而nfs 32000000 192.168.2.3:/work/nfs_root/smxk/uImage; bootm 32000000

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉