OK6410裸機程式 點亮LED

2021-07-16 07:16:59 字數 1313 閱讀 5170

.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貌似有時候有...