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