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