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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]今天終于把s3c2410的lcd在skyeye上搞出來(lái)了??吹骄W(wǎng)上還有朋友在發(fā)貼詢(xún)問(wèn),所以在這里與大家分亨一下。 首先,我的skyeye是1.2.3版的,linux內(nèi)核版本是2.6.16.21-0.8 ,suse 10.0自帶的。u-boot-1.1.6為引導(dǎo)程序。u

今天終于把s3c2410的lcd在skyeye上搞出來(lái)了。看到網(wǎng)上還有朋友在發(fā)貼詢(xún)問(wèn),所以在這里與大家分亨一下。

首先,我的skyeye是1.2.3版的,linux內(nèi)核版本是2.6.16.21-0.8 ,suse 10.0自帶的。u-boot-1.1.6為引導(dǎo)程序。u-boot在skyeye
上的移植網(wǎng)上有,我也是在網(wǎng)上學(xué)來(lái)的,如果你還不清楚,可以到網(wǎng)上google一下。具體的地址我也不記得了。

下面主要說(shuō)下我自己在skyeye上移植s3c2410的經(jīng)歷。

先聲明一下本人也是初學(xué)者,有很多東西都 不是很清楚。在配置內(nèi)核的時(shí)候l看到 linux2.6 自帶了s3c2410的驅(qū)動(dòng),以為只要把它編譯進(jìn)
內(nèi)核就可以了,可是在啟動(dòng)的時(shí)候檢測(cè)不到設(shè)備,后來(lái)到網(wǎng)上找了下lcd的移植過(guò)程,原來(lái)還要在平臺(tái)初始化文件中對(duì)lcd進(jìn)行設(shè)置,初始
化即可。
修改文件為arch/arm/mach-s3c2410/mach-smdk2410.c
添加頭文件:
#inlcude
#include
添加初始化代碼:
static struct s3c2410fb_mach_info s3c2410_lcd_info __initdata = {
.fixed_syncs = 0,
.regs = {
.lcdcon1 = S3C2410_LCDCON1_TFT16BPP |
S3C2410_LCDCON1_TFT |
//S3C2410_LCDCON1_ENVID |
S3C2410_LCDCON1_CLKVAL(6),

.lcdcon2 = S3C2410_LCDCON2_VBPD(0) |
S3C2410_LCDCON2_LINEVAL(239) |
S3C2410_LCDCON2_VFPD(10) |
S3C2410_LCDCON2_VSPW(1),

.lcdcon3 = S3C2410_LCDCON3_HBPD(6) |
S3C2410_LCDCON3_HOZVAL(319) |
S3C2410_LCDCON3_HFPD(15),

.lcdcon4 = S3C2410_LCDCON4_MVAL(13) |
S3C2410_LCDCON4_HSPW(28),

.lcdcon5 = S3C2410_LCDCON5_FRM565 |
S3C2410_LCDCON5_INVVLINE |
// S3C2410_LCDCON5_INVVCLK |
S3C2410_LCDCON5_INVVFRAME |
//S3C2410_LCDCON5_INVLEND|
S3C2410_LCDCON5_PWREN |
S3C2410_LCDCON5_HWSWP,
},

.lpcsel = 0,// ((0xCE6) & ~7) | 1<<4,
.gpccon= 0xaaaaaaaa,
.gpccon_mask= 0xffffffff,
.gpcup= 0xffffffff,
.gpcup_mask= 0xffffffff,
.gpdcon= 0xaaaaaaaa,
.gpdup= 0xFFFFFFFF,
.gpdup_mask= 0xffffffff,
.width = 320,
.height = 240,

.yres = {
.min = 240,
.max = 240,
.defval = 240,
},

.xres = {
.min = 320,
.max = 320,
.defval = 320,
},

.bpp = {
.min = 16,
.max = 16,
.defval = 16,
},
};
static void __init smdk2410_lcd_init(void)
{
s3c24xx_fb_set_platdata(&s3c2410_lcd_info);
}

最后在MACHINE_START與MACHINE_END中添加如下代碼:
.init_machine = smdk2410_lcd_init,
//到此修改完畢
以上s3c2410_lcd_info結(jié)構(gòu)體的初始化在網(wǎng)上找的,著了點(diǎn)修改。
其中主要是寄存器的問(wèn),在skyeye中只使用了其中4個(gè)寄存器
lcdcon1的第1位啟動(dòng)和關(guān)閉lcd功能
lcdcon2中有關(guān)lcd 高度的設(shè)置
lcdcon3中有關(guān)lcd 寬度的設(shè)置
lcdsaddr1 中有關(guān)顯存地址的值
查看skyeye的源代碼發(fā)現(xiàn),在s3c2410的lcd的模擬中將顏色的深度直接設(shè)置成了16,所以,以上代碼中bpp的值也為16,
如果你感興趣,可以查看s3c2410的手冊(cè)中有關(guān)lcd寄存器的說(shuō)明,對(duì)skyeye修改一下。
skyeye的lcd模擬中沒(méi)有用到兩個(gè)寄存器,所以在lcd的初始化過(guò)程中會(huì)有以下兩個(gè)錯(cuò)誤:
ERROR: s3c2410x_io_write_word(0x4d000060) = 0x00000000
ERROR: s3c2410x_io_write_word(0x4d000050) = 0x00000000
這對(duì)skyeye的模擬和以驅(qū)動(dòng)程序不會(huì)有影響。
基本上就這些了。

順便提下,不知各位在skyeye下模擬的s3c2410的主頻是多少?
我一開(kāi)始用u-boot引導(dǎo)的時(shí)候有有3個(gè)s3c2410x_io_write_word錯(cuò)誤,s3c2410的主頻也只有62MZ多。
后來(lái)看了下s3c2410x_io_write_word的代碼,發(fā)現(xiàn)有三個(gè)寄存器LOCKTIME,MPLLCON, UPLLCON在頭文件中定義了
,但在skyeye的
switch語(yǔ)句中并沒(méi)有相關(guān)的寫(xiě)操作。具體的寄存器作用我并不清楚,也沒(méi)有查手冊(cè),但應(yīng)該與時(shí)鐘用關(guān)。所以就在switch
語(yǔ)句里添加了以下代碼:
case LOCKTIME:
io.clkpower.locktime = data;
break;
case MPLLCON:
io.clkpower.mpllcon = data;
break;
case UPLLCON:
io.clkpower.upllcon = data;
break;
現(xiàn)在我的skyeye模擬出來(lái)s3c2410的主頻是202.800MZ了。
下一步打算把觸摸屏的驅(qū)動(dòng)也移植上來(lái),還有網(wǎng)絡(luò)。
如果你還有什么問(wèn)題可以跟我聯(lián)系。liren0@126.com
也可直接在此回復(fù)。
以下是skyeye上s3c2410的截圖

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

  引言   汽車(chē)的普及為人們的生活帶來(lái)了方便,同時(shí)也給人們提出了一大難題——汽車(chē)防盜。本設(shè)計(jì)是為了解決以往汽車(chē)防盜產(chǎn)品的缺點(diǎn)和不足而開(kāi)發(fā)的集成傳感、報(bào)警和遠(yuǎn)程圖

關(guān)鍵字: 數(shù)據(jù)采集 操作系統(tǒng) s3c2410 汽車(chē)防盜系統(tǒng)

  引言   巡航控制系統(tǒng)(CCS)是20世紀(jì)60年代發(fā)展起來(lái)的,又稱(chēng)為恒速行駛系統(tǒng)。巡航控制系統(tǒng)工作時(shí),ECU根據(jù)各種傳感器輸送來(lái)的信號(hào)判斷汽車(chē)的運(yùn)行狀況,通過(guò)執(zhí)行元件自動(dòng)調(diào)節(jié)節(jié)氣門(mén)的

關(guān)鍵字: ARM 三星 Linux ecu s3c2410 電子控制系統(tǒng)

  在過(guò)去一百年里(l906-2005),全球地表平均溫度升高了0.74攝氏度,未來(lái)20年,每十年全球溫度將會(huì)升高0.2攝氏度。氣候變暖已成為不容忽視的、直接影響全球生產(chǎn)和生活問(wèn)題。  

關(guān)鍵字: can總線(xiàn) s3c2410

  在此設(shè)計(jì)的基于 GPRS 的遠(yuǎn)程安防監(jiān)控系統(tǒng),是采用的是攝像機(jī)傳送視頻信號(hào)經(jīng)壓縮編碼后,通過(guò)內(nèi)部總線(xiàn)傳送到內(nèi)置的 Web 服務(wù)器。用戶(hù)在監(jiān)控端可以直接通過(guò)瀏覽器觀看 Web服務(wù)器上的攝像機(jī)視

關(guān)鍵字: GPRS s3c2410 安防監(jiān)控

網(wǎng)上介紹LINUX下的一般驅(qū)動(dòng)程序開(kāi)發(fā)示例浩如煙海,或是因?yàn)楹?jiǎn)單,關(guān)于DMA驅(qū)動(dòng)的介紹卻寥寥無(wú)幾;近期zhaoyang因工作需要,花了幾日時(shí)間開(kāi)發(fā)了某設(shè)備在S3C2410處理器Linux下DMA通信的驅(qū)動(dòng)程序,有感于剛接...

關(guān)鍵字: Linux s3c2410 dma驅(qū)動(dòng)

1引言目前 , 在嵌入式系統(tǒng)里基于ARM核的嵌入式處理器已經(jīng)成為市場(chǎng)主流。隨著ARM技術(shù)的廣泛應(yīng)用 , 建立面向ARM構(gòu)架的嵌入式操作系統(tǒng)也就成為當(dāng)前研究的熱點(diǎn)。S3C2410是SAMSUNG公司基于ARM920T處理器...

關(guān)鍵字: s3c2410 移植 標(biāo)準(zhǔn)linux

一、S3C2410支持4種供電模式(1)NORMAL MODE耗電最大、可以通過(guò)關(guān)閉具體控制器的時(shí)鐘來(lái)節(jié)電(2)SLOW MODE在此模式下可以沒(méi)有內(nèi)部PLL,耗電情況依賴(lài)于外部時(shí)鐘的頻率(3)IDLE MODEFCLK...

關(guān)鍵字: s3c2410 電源管理

snailszzy的s3c2410_gpio_setpin()與s3c2410_gpio_cfgpin()函數(shù)定義s3c2410_gpio_setpin()在gpio.c中作用:設(shè)置相應(yīng)GPIO口的值,如pin=S3C2...

關(guān)鍵字: s3c2410 函數(shù)定義

通過(guò)數(shù)據(jù)手冊(cè)的INTERRUPT SOURCES即可看出所有中斷源,其中Descriptions列有講述,帶多個(gè)中斷源的用括弧表述出來(lái)了。以下中斷源寄存器通過(guò)各自MAST連接到INTPND(只能一個(gè)位置一)SRCPND(...

關(guān)鍵字: s3c2410 中斷源數(shù)量

反反復(fù)復(fù)弄了一個(gè)多星期,參考了不少資料,終于讓UCOS在自己的板子上跑起來(lái)了。期間遇到了不少問(wèn)題,還好堅(jiān)持下來(lái),挺 了過(guò)去.....復(fù)習(xí)一下,記錄下來(lái),以當(dāng)后用: 1.在ADS中建產(chǎn)工程,進(jìn)入工程界面后,先建立兩個(gè)組,一...

關(guān)鍵字: s3c2410 ucos 移植
關(guān)閉