日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年07月23日(星期三)

2021年07月23日 | LCD驅(qū)動(dòng)移植之開(kāi)機(jī)logo

發(fā)布者:糖三角 來(lái)源: eefocus關(guān)鍵字:LCD  驅(qū)動(dòng)移植  開(kāi)機(jī)logo 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

移植環(huán)境

BootLoader:u-boot-1.1.6

kernel:linux-2.6.30.4

CPU:s3c2440

開(kāi)發(fā)板:TQ2440

LCD:TFT480*272

參考資料:《天嵌Linux移植手冊(cè)》


移植步驟

1、修改LCD時(shí)鐘計(jì)算方法

內(nèi)核源碼的“drivers/video/s3c2410fb.c”文件,就是 LCD 的驅(qū)動(dòng)源碼。修改“drivers/video/s3c2410fb.c”文件


static void s3c2410fb_activate_var(struct fb_info *info)

{

struct s3c2410fb_info *fbi = info->par;

void __iomem *regs = fbi->io;

int type = fbi->regs.lcdcon1 & S3C2410_LCDCON1_TFT;

struct fb_var_screeninfo *var = &info->var;

struct s3c2410fb_mach_info *mach_info = fbi->dev->platform_data;

struct s3c2410fb_display *default_display = mach_info->displays +

mach_info->default_display;

int clkdiv = s3c2410fb_calc_pixclk(fbi, var->pixclock) / 2;

dprintk("%s: var->xres = %dn", __FUNCTION__, var->xres);

dprintk("%s: var->yres = %dn", __FUNCTION__, var->yres);

dprintk("%s: var->bpp = %dn", __FUNCTION__, var->bits_per_pixel);

if (type == S3C2410_LCDCON1_TFT) {

   s3c2410fb_calculate_tft_lcd_regs(info, &fbi->regs);

--clkdiv;

if (clkdiv < 0)

    clkdiv = 0;

} else {

s3c2410fb_calculate_stn_lcd_regs(info, &fbi->regs);

if (clkdiv < 2)

clkdiv = 2;

}

// fbi->regs.lcdcon1 |= S3C2410_LCDCON1_CLKVAL(clkdiv);

fbi->regs.lcdcon1 |= S3C2410_LCDCON1_CLKVAL(default_display->setclkval);

/* write new registers */


完成了這部分修改之后,在 s3c2410fb_display 結(jié)構(gòu)體中添加了一個(gè) setclkval 的變量,那么需要在該結(jié)構(gòu)體的原型中添加上該變量,修改Linux-2.6.30.4 的“arch/arm/mach-s3c2410/include/mach/fb.h”文件,添加如下內(nèi)容:


/* LCD description */

struct s3c2410fb_display {

/* LCD type */

unsigned type;

/* Screen size */

unsigned short width;

unsigned short height;

/* Screen info */

unsigned short xres;

unsigned short yres;

unsigned short bpp;

unsigned pixclock; /* pixclock in picoseconds */

unsigned setclkval; /* clkval */

unsigned short left_margin; /* value in pixels (TFT) or HCLKs (STN) */

unsigned short right_margin; /* value in pixels (TFT) or HCLKs (STN) */

unsigned short hsync_len; /* value in pixels (TFT) or HCLKs (STN) */

unsigned short upper_margin;/* value in lines (TFT) or 0 (STN) */

unsigned short lower_margin;/* value in lines (TFT) or 0 (STN) */

unsigned short vsync_len; /* value in lines (TFT) or 0 (STN) */

/* lcd configuration registers */

unsigned long lcdcon5;

};


2、修改LCD參數(shù)設(shè)置

然后修改 LCD 各個(gè)參數(shù)的配置,該配置參數(shù)在“arch/arm/mach-s3c2440/mach-smdk2440.c”文件中的由 107 行開(kāi)始的結(jié)構(gòu)體中,然后將其改為如下內(nèi)容即可:

(注意:添加上剛剛添加的那個(gè)變量 setclkval 的賦值)


/* LCD driver info */

static struct s3c2410fb_display smdk2440_lcd_cfg __initdata = {

.lcdcon5 = S3C2410_LCDCON5_FRM565 |

S3C2410_LCDCON5_INVVLINE |

S3C2410_LCDCON5_INVVFRAME |

S3C2410_LCDCON5_PWREN |

S3C2410_LCDCON5_HWSWP,

.type = S3C2410_LCDCON1_TFT,

.width = 480,

.height = 272,

.pixclock = 40000, /* HCLK 100 MHz, divisor 1 */

.setclkval = 0x4,

.xres = 480,

.yres = 272,

.bpp = 16,

.left_margin = 19, /* for HFPD*/

.right_margin = 10, /* for HBPD*/

.hsync_len = 30, /* for HSPW*/

.upper_margin = 4, /* for VFPD*/

.lower_margin = 2, /* for VBPD*/

.vsync_len = 8, /* for VSPW*/

}

static struct s3c2410fb_mach_info smdk2440_fb_info __initdata = {

.displays = &smdk2440_lcd_cfg,

.num_displays = 1,

.default_display = 0,

#if 0

/* currently setup by downloader */

.gpccon = 0xaa940659,

.gpccon_mask = 0xffffffff,

.gpcup = 0x0000ffff,

.gpcup_mask = 0xffffffff,

.gpdcon = 0xaa84aaa0,

.gpdcon_mask = 0xffffffff,

.gpdup = 0x0000faff,

.gpdup_mask = 0xffffffff,

#endif

// .lpcsel = ((0xCE6) & ~7) | 1<<4,

};


然后修改“drivers/video/Kconfig”文件


config FB_S3C2410

tristate "S3C2410 LCD framebuffer support"

depends on FB && ARCH_S3C2410

select FB_CFB_FILLRECT

select FB_CFB_COPYAREA

select FB_CFB_IMAGEBLIT

---help---

Frame buffer driver for the built-in LCD controller in the Samsung

S3C2410 processor.

This driver is also available as a module ( = code which can be

inserted and removed from the running kernel whenever you want). The

module will be called s3c2410fb. If you want to compile it as a module,

say M here and read .

If unsure, say N.


config FB_S3C2410_DEBUG

bool "S3C2410 lcd debug messages"

depends on FB_S3C24X0

help

Turn on debugging messages. Note that you can set/unset at run time

through sysfs


然后修改“drivers/video/Makefile”文件,把 109 行的內(nèi)容改成如下所示:


obj-$(CONFIG_FB_S3C2410) += s3c2410fb.o


3、制作開(kāi)機(jī)logo

首先需要在PC端下載GIMP軟件,然后導(dǎo)入一張480*272的bmp圖片.

在這里插入圖片描述

圖像->模式->索引,最大顏色數(shù)量為224

在這里插入圖片描述

保存圖片為ppm格式,數(shù)據(jù)類型為ASCII

在這里插入圖片描述
在這里插入圖片描述

開(kāi)機(jī)logo就制作好了,將其替換“drivers/video/logo/logo_linux_clut224.ppm”文件


4、配置內(nèi)核

Device Drivers —>

Graphics support —>

<* > Support for frame buffer devices —>

[* ] Enable firmware EDID

[* ] Enable Video Mode Handling Helpers

*** Frame buffer hardware drivers ***

< * > S3C2410 LCD framebuffer support

<* > Framebuffer Console support

[ * ] Bootup logo —>

[ * ] Standard 224-color Linux logo


5、開(kāi)機(jī)顯示logo

配置完畢后,編譯出內(nèi)核鏡像,燒寫到 TQ2440 開(kāi)發(fā)板中,啟動(dòng)系統(tǒng)時(shí),就可以看到開(kāi)機(jī)logo 的畫面,這就表明 LCD 驅(qū)動(dòng)完成了。

在這里插入圖片描述

關(guān)鍵字:LCD  驅(qū)動(dòng)移植  開(kāi)機(jī)logo 引用地址:LCD驅(qū)動(dòng)移植之開(kāi)機(jī)logo

上一篇:LCD驅(qū)動(dòng)移植之背光控制
下一篇:嵌入式驅(qū)動(dòng)編寫之簡(jiǎn)單驅(qū)動(dòng)Hello_word

推薦閱讀

? ? 2018 年 7 月 12 日,由中國(guó)信息通信研究院主辦,統(tǒng)一推送聯(lián)盟承辦的中國(guó)安卓開(kāi)發(fā)者大會(huì)在北京國(guó)際會(huì)議中心成功舉辦。本次大會(huì)以‘創(chuàng)新引領(lǐng)、技術(shù)先行,優(yōu)化生態(tài),合作共贏’為主題,再次為國(guó)內(nèi)中國(guó) Android 開(kāi)發(fā)者搭建了一個(gè)溝通交流的平臺(tái)?! ndroid 綠色應(yīng)用公約創(chuàng)始人,中國(guó) Android 開(kāi)發(fā)者代表馮森林先生(Oasis Feng)發(fā)表了...
在首席設(shè)計(jì)管喬尼·艾維(Jony Ive)宣布離職后,蘋果首席運(yùn)營(yíng)官(COO)杰夫·威廉姆斯(Jeff Williams)成為了公司的“二號(hào)人物”,顯然也是現(xiàn)任CEO蒂姆·庫(kù)克(Tim Cook)的接班人選。蘋果前任和現(xiàn)任員工稱,威廉姆斯是公司里最接近庫(kù)克的人。如果你認(rèn)為庫(kù)克做得很好,那將來(lái)由威廉姆斯出任CEO可能是一個(gè)不錯(cuò)的選擇。威廉姆斯晉升為“二號(hào)人物”蘋果上個(gè)月宣...
之前一直有消息稱,蘋果可能推出5.4英寸版本的iPhone 12,而它身影已經(jīng)出現(xiàn)了?! √O果最新iOS 14測(cè)試版中的Display Zoom素材顯示,輔助功能能夠以960x2079像素的分辨率工作,Xcode的iOS Simulator中也已經(jīng)可以顯示一個(gè)完整的UI。該分辨率與iPhone X共享長(zhǎng)寬比,iPhone X的分辨率為1125×-2436像素?! 「鶕?jù)該報(bào)告,新的圖形選項(xiàng)可以構(gòu)成...
博通最近因壟斷指控被聯(lián)邦貿(mào)易委員會(huì)起訴,并同意和解承諾改變其銷售策略。博通究竟做了什么讓 FTC 感到不安?為什么芯片業(yè)巨頭經(jīng)常因某種形式的腐敗或不良做法而受到關(guān)注,而無(wú)晶圓廠公司是否對(duì)其 IP 模式提出了挑戰(zhàn)?博通被聯(lián)邦貿(mào)易委員會(huì)起訴博通是 可以說(shuō)是半導(dǎo)體行業(yè)的大腕之一. 它開(kāi)發(fā)了許多通信解決方案,例如 Wi-Fi 控制器、調(diào)制解調(diào)器和...

史海拾趣

問(wèn)答坊 | AI 解惑

Modesim中使用code coverage步驟

步驟: 1.compile選項(xiàng) => compile options Covrage setting  (或者可以點(diǎn)擊選中文件,編輯properties,在coverage中選擇要實(shí)現(xiàn)的覆蓋選項(xiàng))2.對(duì)所設(shè)計(jì)文件進(jìn)行編譯3.最關(guān)鍵的一步,仿真,選擇simulate,選中文件,一定要在others選項(xiàng)中 ...…

查看全部問(wèn)答∨

DMO使用問(wèn)題

在windows ce6.0的環(huán)境下使用一個(gè)第三方的DMO中有下列疑惑(該dmo是一個(gè)dll文件在windows目錄下): 1. 打開(kāi)注冊(cè)表找到了HKEY_CLASSES_ROOT\\CLSID\\下對(duì)應(yīng)的該dmo的信息,這個(gè)注冊(cè)項(xiàng)是否代表該dmo被使用了,還是只是注冊(cè)沒(méi)有被使用? 2. 我已經(jīng) ...…

查看全部問(wèn)答∨

請(qǐng)教:非模態(tài)對(duì)話框重復(fù)創(chuàng)建的問(wèn)題

mfc創(chuàng)建了一個(gè)主界面,上面由一個(gè)按鈕A,點(diǎn)擊按鈕彈出一個(gè)非模態(tài)對(duì)話框B,我要實(shí)現(xiàn)的功能是點(diǎn)擊主界面,非模態(tài)對(duì)話框B隱藏,點(diǎn)擊按鈕A,如果非模態(tài)對(duì)話框B隱藏,則顯示,如果非模態(tài)對(duì)話框關(guān)閉,則重新創(chuàng)建非模態(tài)對(duì)話框。     目前我的 ...…

查看全部問(wèn)答∨

M8市場(chǎng)上多錢

M8市場(chǎng)上多錢 不知道行情怎么樣…

查看全部問(wèn)答∨

STM32F103ADC+DMA和UART2中斷沖突問(wèn)題求助

程序中使用了TIM2,UART1,UART2和ADC+DMA1中斷,不加上UART2時(shí)都正常,加上UART2中斷后,運(yùn)行幾分鐘后ADC+DMA1的中斷就不能進(jìn)去了,更改了幾種中斷優(yōu)先級(jí)方式后都沒(méi)有解決。請(qǐng)大家看看是什么原因? void NVIC_Configuration(void) {   ...…

查看全部問(wèn)答∨

lm3s101 jtag鎖住啦,求助啊

jtag口的問(wèn)題,不小心把jtag口的pc0上的上拉電阻連接到pc3上面了,會(huì)不會(huì)造成芯片死鎖,或者損壞,這個(gè)問(wèn)題怎么解決啊,現(xiàn)在把這兩個(gè)口都接上上拉電阻都不行了?!?

查看全部問(wèn)答∨

2011儀器儀表必備模塊

本帖最后由 paulhyde 于 2014-9-15 09:03 編輯 2011儀器儀表必備模塊  …

查看全部問(wèn)答∨

ADC設(shè)計(jì)實(shí)例

本人剛接觸ADC,求pipeline高速ADC的設(shè)計(jì)實(shí)例,謝謝!…

查看全部問(wèn)答∨

9b96版本問(wèn)題?

請(qǐng)問(wèn)一下9b96中的C1和C3版本有什么區(qū)別?芯片上的IQC80C3XD $A-14P038H是什么意思?…

查看全部問(wèn)答∨

濾波電容

我的電源輸入是4節(jié)干電池共6v,給ams1117-3.3穩(wěn)壓到3.3v,以前是穩(wěn)壓器輸入端輸出端都接的濾波電容,現(xiàn)在想減少原件去掉輸入端的濾波電容可以嗎?因?yàn)槲蚁氲母呻姵禺吘菇涣鞒煞钟邢薜亩椅冶WC輸出ok就行了,去掉合理嗎。謝謝大家…

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved