接口設(shè)計(jì):對(duì)SDRAM初始化對(duì)內(nèi)存控制器初始化memsetup:mov r1,#MEM_CTL_BASEadrl r2,mem_cfg_valadd r3,r1,#52ldr r4,[r2],#4str r4,[r1],#4cmp r1,r3bne 1bmov pc,lr復(fù)制代碼到SDRAM,將SRAM中的4K數(shù)據(jù)全部復(fù)制到SDRA
2.4內(nèi)核由于本身并不支持2410,移植起來(lái)較為煩瑣,所以直接上2.6的版本.1.準(zhǔn)備工作 下載解壓交叉編譯工具,2.6的內(nèi)核編譯要用3.4.1版本的(arm-linux-gcc-3.4.1)ftp://ftp.handhelds.org/projects/toolchain/arm-linux-g
在介紹2410的中斷處理之前,我們不得不先看看先把ARM的異常向量表(Exception Vectors),下面對(duì)異常向量表(Exception Vectors),做一個(gè)簡(jiǎn)單的介紹: ARM的異常向量表一般存放在0x00000000處,ARM920T能處理有7個(gè)
1. 開(kāi)發(fā)環(huán)境的建立在嵌入式系統(tǒng)中,由于目標(biāo)機(jī)資源有限,因此通常是在主機(jī)上編譯好驅(qū)動(dòng)程序以及應(yīng)用程序,然后通過(guò)串口、以太網(wǎng)、仿真器或其他通信手段與目標(biāo)機(jī)通信。為了方便進(jìn)行Linux設(shè)備驅(qū)動(dòng)的開(kāi)發(fā)和調(diào)試,首先必
注:此文為部分摘錄,并且在原文基礎(chǔ)上有改動(dòng)link這幾天一直在摸索s3c2410的啟動(dòng)過(guò)程,幾天的困惑終于在昨天晚上基本解決.下面詳細(xì)分析一下它的最前面的啟動(dòng)過(guò)程.1.在板子上電的一開(kāi)始,首先自動(dòng)判斷是否是autoboot模式
用戶模式(user模式),運(yùn)行應(yīng)用的普通模式;快速中斷模式(fiq模式),用于支持?jǐn)?shù)據(jù)傳輸或通道處理;中斷模式(irq模式),用于普通中斷處理。超級(jí)用戶模式(svc模式),操作系統(tǒng)的保護(hù)模式?異常中斷模式(abt模式)
這篇文章對(duì)于我的U-Boot移植起了重要作用,闡述了U-Boot從NAND Flash啟動(dòng)需要做的修改,但是其做法并不是完全正確(只是個(gè)人意見(jiàn))。在這里謝謝Bekars渦輪增壓??! 這篇文章轉(zhuǎn)載自他的博客:http://blog.csdn.net/
函數(shù)原型:s3c2410_gpio_cfgpin(unsigned int pin,unsigned int function)位置:/linux-2.6.32.2/arch/arm/plat-s3c24xx/gpio.c函數(shù)內(nèi)容:void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function){void __
引言 當(dāng)前各類嵌入式系統(tǒng)開(kāi)發(fā)設(shè)計(jì)中,存儲(chǔ)模塊設(shè)計(jì)是不可或缺的重要方面。NOR和 NAND是目前市場(chǎng)上兩種主要的非易失閃存技術(shù)。NOR Flash存儲(chǔ)器的容量較小、寫入速度較慢,但因其隨機(jī)讀取速度快,因此在嵌入式系
開(kāi)始start.s分析,根據(jù)S3C2410來(lái)跟蹤代碼,參考了S3C2410的datasheet和網(wǎng)上各個(gè)帖子一般來(lái)說(shuō),大家都是從start.s來(lái)分析UBOOT,但是事實(shí)是流程是從makefile中來(lái)的,也就是說(shuō)是在敲入make smdk2410_config和make all后
我想,很多的朋友包括一些剛?cè)腴T,或者是剛從事嵌入式開(kāi)發(fā)的工程師,都會(huì)對(duì)內(nèi)存這一塊不知所措吧,先拋開(kāi)信號(hào)完整性不說(shuō),單從內(nèi)存的原理以及與主芯片的連接,就已經(jīng)大傷腦筋了,而很多朋友雖然已經(jīng)開(kāi)發(fā)出了可以使用
觸摸屏驅(qū)動(dòng)在/kernel/drivers/char/s3c2410-ts.c 文件中。該驅(qū)動(dòng)總要有以下重要數(shù)據(jù)結(jié)構(gòu):1.觸摸屏的file_operationsstatic struct file_operations s3c2410_fops={owner: THIS_MODULE,open: s3c2410_ts_open,read:
/*** 有待學(xué)習(xí) *****/ Linux 下的IIS 音頻驅(qū)動(dòng)程序主要都在/kernel/drivers/sound/s3c2410-uda1341.c 文件中。 在音頻驅(qū)動(dòng)程序中有2個(gè)比較重要的結(jié)構(gòu)體:typedef struct {int size; /* buffer size */char *start; /
1. 看門狗原理Watchdog原理上就是一個(gè)定時(shí)器。定時(shí)器timer對(duì)時(shí)鐘進(jìn)行計(jì)數(shù),當(dāng)定時(shí)器溢出時(shí),產(chǎn)生復(fù)位信號(hào),使得整個(gè)系統(tǒng)復(fù)位。在程序或嵌入式系統(tǒng)中,需要定期的對(duì)看門狗timer進(jìn)行復(fù)位重新計(jì)數(shù),定時(shí)器不會(huì)溢出復(fù)位系
1.關(guān)于軟中斷指令 軟件中斷指令(SWI)可以產(chǎn)生一個(gè)軟件中斷異常,這為應(yīng)用程序調(diào)用系統(tǒng)例程提供了一種機(jī)制。語(yǔ)法: SWI {} SWI_number SWI執(zhí)行后的寄存器變化: lr_svc = SWI指令后面的指令地址 spsr_svc = cpsr pc
s3c2410 有三個(gè)時(shí)鐘FLCK 、HCLK 和PCLK (這3個(gè)時(shí)針都是核心時(shí)針)s3c2410 芯片有這么一段話:FCLKis used by ARM920T ,內(nèi)核時(shí)鐘,主頻。HCLKis used for AHB bus, which is used by the ARM920T, the memory contr
基礎(chǔ)知識(shí)里已經(jīng)基本上講解了UCOS要生活的家(即硬件平臺(tái)環(huán)境),還有就是為了讓高級(jí)語(yǔ)言寫的程序能變成在硬件平臺(tái)上直接運(yùn)行的程序,編譯器都干了些什么。還有這個(gè)C語(yǔ)言運(yùn)行的環(huán)境問(wèn)題,也就是從硬件和匯編語(yǔ)言的角度
s3c2410的LED端口定義如下;GPF7GPF6GPF5GPF4 nLED_8 nLED_4 nLED_2 nLED_1GPF的IO端口控制寄存器包括:GPFCON(0x56000050)、GPFDAT(0x56000054)、GPFUP(0x56000050),分別是GPF端口控制寄存器、數(shù)據(jù)寄存器、上
閱讀這些內(nèi)容前,希望你對(duì)計(jì)算機(jī)有了一點(diǎn)簡(jiǎn)單的概念,最好學(xué)習(xí)過(guò)計(jì)算機(jī)組成原理并知道一些最基本的概念。如果你學(xué)習(xí)過(guò)51系列的單片機(jī)并且利用51系列的單片機(jī)做過(guò)一些開(kāi)發(fā),那看這些內(nèi)容就很簡(jiǎn)單了。如果你沒(méi)這些知識(shí)
由于S3C2410是32位處理器(指令一次能夠操作32位數(shù)據(jù)(運(yùn)算器一次可以處理32位數(shù)據(jù));通用寄存器多是32位寄存器;處理器內(nèi)部數(shù)據(jù)通道也是32位的;處理器外部數(shù)據(jù)總線寬度通常是32位的,地址總線寬度只是代表CPU尋址