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的儲存塊...