mini2440按鍵裸機程式編寫執行

2021-06-16 21:48:13 字數 2059 閱讀 9111

1.開發環境

作業系統:linux

開發板:mini2440

2.原理圖

gpgcon控制暫存器功能說明:

3. 操作流程

(只需要操作gpgcon暫存器即可操作k1按鍵)

a)設定控制暫存器gpgcon為輸入功能:00

(即:可讀取gpgdat暫存器的值)

[html]view plain

copy

//按鍵  

unsigned long *gpgcon

= 0x56000060

;  unsigned long *gpgdat

= 0x56000064

;  *gpgcon &= 0xffffc33c;//只用到4個按鍵gpg0 gpg3 gpg5 gpg6,功能設為00:輸入功能  

b)我們按下按鍵,想讓對應的led1——4,對應點亮,那麼led設定如下:

[html]view plain

copy

//led  

unsigned long *gpbcon

= 0x56000010

;  unsigned long *gpbdat

= 0x56000014

;  *gpbcon &= 0xfffc03ff;<

span

style

="white-space:pre"

>

span

>

//功能設定:輸出功能 01  

*gpbcon |= 0x00015400;  

//1110 0001 1111  

*gpbdat &= 0xfffffe1f;  

*gpbdat |= (0xf<

<

5);//led全滅  

c)**如下:

[cpp]view plain

copy

void

key(

void

)    

while

(1)  

else

if((*gpgdat & (1<<3)) == 0)  

else

if((*gpgdat & (1<<5)) == 0)  

else

if((*gpgdat & (1<<6)) == 0)  

else

}  }  

d)makefile檔案:

[plain]view plain

copy

key_test.bin:key_test  

arm-linux-objcopy -o binary ./key_test key_test.bin  

key_test:key_test.o  

arm-linux-ld -ttext=0x30000000 key_test.o -o key_test  

key_test.o:key_test.c  

arm-linux-gcc -c key_test.c -o key_test.o  

.phony:clear copy  

clear:  

rm -rf key_test.o key_test key_test.bin  

copy:  

cp key_test.bin /var/lib/tftpboot/  

mini2440裸機程式之一 蜂鳴器

開發板 mini2440 sdk mdk 開發語言 彙編 本次目的 能夠完成開發板上蜂鳴器的間斷鳴叫 1 開發板硬體電路 2 程式 pgpbcon equ0x56000010 pgpbdat equ0x56000014 pgpbup equ0x56000018 area beeptest,code,...

基於mini2440的RTC讀寫(裸機)

很多處理器都有rtc實時時鐘功能,s3c2440也提供了這個功能,其功能主要是 實時時鐘 鬧鐘 tick中斷等。rtc的操作比較簡單。讀寫時rtccon最低位應設定為1,不讀寫時設定為0以免誤修改rtc相應暫存器。bcdsec,bcdmin,bcdhour,bcdday,bcddate,bcdmon...

mini2440裸機之MMU(二 mmu

mini2440裸機之mmu 二 mmu.c 智在天涯 include def.h include option.h include 2440addr.h include 2440lib.h include 2440slib.h include mmu.h 段 section 是大小為1mb的儲存塊...