1。編譯緣由 使用斯道的zImage文件,我自己編譯的Mplayer不能使用,必須加--nosound選項(xiàng)才能播放視頻。后來(lái)見一篇文章說(shuō)是Linux內(nèi)核音頻驅(qū)動(dòng)的問(wèn)題,所以決定重新編譯內(nèi)核。2。編譯工具及資料2。1內(nèi)核版本:斯道S3
在介紹該函數(shù)之前,我們需要看一看幾個(gè)數(shù)據(jù)結(jié)構(gòu),這些是u-boot中幾個(gè)重要的數(shù)據(jù)結(jié)構(gòu):1)、gd_t該數(shù)據(jù)結(jié)構(gòu)保存了u-boot需要的配置信息(我暫時(shí)稱它為全局信息表),typedef struct global_data { bd_t *bd;//與板子
注意:由于編譯器(ads1.2或2.2)對(duì)全局變量初始化為0的不完全支持,有時(shí)必須手動(dòng)初始化為0,切記!?。?一、ucos II移植到ARM9 s3c2410 可從官網(wǎng)下載移植代碼,基本無(wú)需改動(dòng)。 在os_cpu_a.s中的函數(shù)UCOS_IRQHand
在我的一個(gè)中斷處理例程中有一下一段: save_flags(flags); cli(); set_gpio_mode_user(k->gpio_port, GPIO_MODE_IN); up = read_gpio_bit(k->gpio_port); set_external_irq(k->irq_no, EXT_BOTH_EDGES, GPIO_PULLUP
s3c2410 有三個(gè)時(shí)鐘FLCK 、HCLK 和PCLK (這3個(gè)時(shí)針都是核心時(shí)針)s3c2410 芯片有這么一段話:FCLK is used by ARM920T ,內(nèi)核時(shí)鐘,主頻。HCLK is used for AHB bus, which is used by the ARM920T, the memory con
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* i2c controller state *///i2c控制器狀態(tài)enum s
BootLoader指系統(tǒng)啟動(dòng)后,在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過(guò)BootLoader,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好
設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)內(nèi)核和機(jī)器硬件之間的接口,它為應(yīng)用程序屏蔽硬件的細(xì)節(jié),一般來(lái)說(shuō),Linux的設(shè)備驅(qū)動(dòng)程序需要完成如下功能: ·設(shè)備初始化、釋放; ·提供各類設(shè)備服務(wù); ·負(fù)責(zé)內(nèi)核和設(shè)備之間的數(shù)據(jù)
1、系統(tǒng)結(jié)構(gòu)框圖2、LCD控制器由REGBANK、LCDCDMA、VIDPRCS、TIMEGEN和LPC3600組成。REGBANK有17個(gè)可編程寄存器和256×16的調(diào)色板存儲(chǔ)器,用來(lái)設(shè)定LCD控制器。LCDCDMA是一個(gè)專用DMA,自動(dòng)從幀存儲(chǔ)器傳輸視頻數(shù)據(jù)到LCD控
直接開始說(shuō)明ucos創(chuàng)建任務(wù)時(shí)的步驟:1, 初始化任務(wù)堆棧2, 初始化任務(wù)控制塊3, 把剛創(chuàng)建的任務(wù)設(shè)置為就緒態(tài)(即置位就緒表)上面提到的任務(wù)堆棧,控制塊,就緒表我們前面已經(jīng)說(shuō)過(guò)了,下面就直接看代碼。INT8U OSTa
寫在前面:這篇文章已經(jīng)寫的很詳細(xì)了。主要參考的就是正果過(guò)程,如果要是移植bootloader的話應(yīng)該找一套現(xiàn)成的源碼,至少我是這么認(rèn)為的,雖然我還沒(méi)有移植過(guò)。網(wǎng)上關(guān)于Linux的BOOTLOADER文章不少了,但是大都是vivi,b
1 引言 嵌入式系統(tǒng)在各種領(lǐng)域應(yīng)用極為廣泛,其中一種很常見的應(yīng)用是嵌入式Linux智能終端設(shè)備,針對(duì)工控領(lǐng)域的應(yīng)用特點(diǎn),這種類型的設(shè)備往往集控制單元、顯示鍵盤單元、數(shù)據(jù)采集單元、GPIO單元以及通訊單元(以
以u(píng)cos為例,做詳細(xì)說(shuō)明。Ucos分為任務(wù)級(jí)任務(wù)切換和中斷級(jí)任務(wù)切換。Ucos整個(gè)用戶程序和操作系統(tǒng)程序都運(yùn)行在一個(gè)模式下(SVC模式)。所以在不用切換芯片運(yùn)行模式的情況下就可以做任務(wù)級(jí)任務(wù)切換。任務(wù)級(jí)進(jìn)程切換原因
最開始的代碼,大家都很熟悉,最基本的中斷跳轉(zhuǎn)bResetHandlerbHandlerUndef;handler for Undefined modebHandlerSWI;handler for SWI interruptbHandlerPabort;handler for PAbortbHandlerDabort;handler for DAbort
/** HLG442-S3C2410-ADC_DRV*/26/03/2008 AUTHOR "machuanlong"*/#include #include #include #include #include #include #include #include #include ccess.h>#include /* printk() */#include /* kmalloc() */#
光買開發(fā)板沒(méi)有LCD,窮啊,只能用VGA的顯示器代替。帶的資料也沒(méi)說(shuō)怎么就支持VGA,只好上網(wǎng)查,還好解決了,雖然不知道linux驅(qū)動(dòng)的原理,但改改寄存器還是會(huì)的。下面說(shuō)說(shuō)整個(gè)過(guò)程。VGA的接口定義如圖所示:板子上的A
主機(jī):UBUNTU10.04LTS,交叉工具鏈為:arm-linux-gcc 2.95,安裝目錄:/usr/local/arm/2.95.3/bin目標(biāo)板:Edukit-III,S3c2410子板問(wèn)題描述:由于英蓓特公司的Edukit-III實(shí)驗(yàn)箱自帶的LINUX為2.4版本,鑒于現(xiàn)在LINUX2.6
硬件環(huán)境:SBC-2410X開發(fā)板(CPU:S3C2410X)內(nèi)核版本:2.6.11.1運(yùn)行環(huán)境:Debian2.6.8交叉編譯環(huán)境:gcc-3.3.4-glibc-2.3.3第一部分 網(wǎng)卡CS8900A驅(qū)動(dòng)程序的移植一、從網(wǎng)上將Linux內(nèi)核源代碼下載到本機(jī)上,并將其解壓
s3c2410的存儲(chǔ)控制器的的主要特性如下:1.可通過(guò)軟件設(shè)置大端/小端模式.2.分為8個(gè)bank,每個(gè)bank為128M,總共為1G.3.每個(gè)bank的數(shù)據(jù)寬度都可以設(shè)為8/16/32bit方式(bank0除外,因?yàn)閎ank0要用作系統(tǒng)引導(dǎo))4.bank0-5支持ROM
下面要講解的內(nèi)容基本上都是c語(yǔ)言編寫的了,還有一部分代碼是用匯編寫的。以下我就以這個(gè)系統(tǒng)移植的實(shí)驗(yàn)源碼為例做詳細(xì)講解。講解的方式是根據(jù)程序執(zhí)行的順序進(jìn)行,如果感覺(jué)有什么難理解的地方,會(huì)做一個(gè)宏觀講解和分