.globl _start
_start:
/* 硬體相關的設定 */
/* peri port setup */
ldr r0, =0x70000000
orr r0, r0, #0x13
mcr p15,0,r0,c15,c2,4 @ 256m(0x70000000-0x7fffffff)
/* 關看門狗 */
/* 往wtcon(0x7e004000)寫0 */
ldr r0, =0x7e004000
mov r1, #0
str r1, [r0]
/* 設定gpmcon讓gpm3作為輸出引腳 */
ldr r1, =0x7f008820
mov r0, #0x1000
str r0, [r1]
/* 設定gpmdat讓gpm3輸出0 */
ldr r1, =0x7f008824
mov r0, #0
str r0, [r1]
halt:
b halt
1. 把外設基位址告訴cpu.
因為cpu訪問某個位址時不知道訪問的是外設位址還是記憶體位址,需要協處理指令設定外設位址範圍。
s3c6410外設位址範圍256m(0x70000000-0x7fffffff) ,如**所設定。
協處理器訪問指令參見我的另一篇博文 cp15協處理器訪問指令mcr/mrc解析
2.關閉看門狗
3. io口操作
ok6410開發板io口資源如下圖所示:
io口主要以下幾點用途:輸出,輸入,外部觸發中斷,復用功能;只要配置相應的暫存器即可。led操作需要配置為輸出口。
**設定gpm3為輸出,其餘位輸入,再向gpmdat寫入0,結果是點亮led4。
OK6410裸機程式 hello world
上面已經解決 了幾個問題。現在我們的狀態 可以在pc ok6410 之間進行tftp傳輸,確定了一下可用的位址 空間,下面我們來說一下printf除錯 因為沒有jlink,只能用printf除錯,你也許會問,我們自己實現printf麼?答曰 不是,我們只是弄個hello world,何必那麼認真呢?...
OK6410 裸機開發平台搭建
廢話就不說了,直入主題。之前研究arm11開發,使用了ok6410,網上買了飛凌的,說實話,飛凌配套的軟體真的不好,初學者真的會被搞死。搭個裸機開發環境,搞半天,好在弄好了。1.材料 一張sd卡,大的那種,金士頓或者閃迪的都可以。2.步驟 關鍵的地方來了。那些驅動,在win7 64位下,真的是折騰死...
ok6410 主機tftp 傳輸
1 開發環境 pc archlinux,minicom 或者 kermit.工具不會用的google啊,呵呵 開發板 ok6410b 256 sdram,2g nand flash 兩者之間 通訊用tftp傳輸。有人用windows下的 dnw進行傳輸,由於我沒windows,另外dnw貌似有時候有...