本人使用的是韋東山老師的jz2440開發板
點亮led1,原理圖如下:
1,看原理圖可知led1對應gpf4;
2, 看上圖可知led1為低電平使能:gpf4 = 0,led1 亮;gpf4 = 1,led1 滅;
3,檢視資料手冊:
設定gpfcon[9:8] = 0b01時,gpf4配置為輸出;(把0x100寫入gpfcon,即寫到位址0x56000050上)
設定gpfdat[4] = 0時,gpf4輸出低電平,led1點亮(把0寫到位址0x56000054上)
彙編源**如下led_on.s:
/*
* 點亮led1: gpf4
*/.text
.global _start
_start:
/* 配置gpf4為輸出引腳
* 把0x100寫到位址0x56000050
*/ ldr r1, =0x56000050
ldr r0, =0x100 /* mov r0, #0x100 */
str r0, [r1]
/* 設定gpf4輸出高電平
* 把0寫到位址0x56000054
*/ ldr r1, =0x56000054
ldr r0, =0 /* mov r0, #0 */
str r0, [r1]
/* 死迴圈 */
halt:
b halt
makefile檔案如下:
all:
arm-linux-gcc -c -o led_on.o led_on.s
arm-linux-ld -ttext 0 led_on.o -o led_on.elf
arm-linux-objcopy -o binary -s led_on.elf led_on.bin
clean:
rm *.bin *.o *.elf
make得到led_on.bin,燒寫到nandflash,led1亮。 ARM匯程式設計序學習
part1 匯程式設計序框架 一 完整框架 section.data 初始化的資料 section.bss 未初始化的資料 section.text global start start 入口 彙編 二 簡化框架 text global start start 彙編 注 以上簡化版為常用框架 par...
ARM學習之ARM匯程式設計序
在arm thumb 組合語言程式中以程式段為單位組織 段可以分為 段 code section 和資料段 data section 乙個匯程式設計序至少應該有乙個 段,當程式較長時,可以分割為多個 段和資料段,多個段在程式編譯鏈結時最終形成乙個可執行的映像檔案。可執行映像檔案的構成 鏈結器根據系統...
ARM匯程式設計序鑑賞 1
area asmembedeedfile code,readonly 定義一段可讀的 區域 export mulcountfunction 輸出函式 mulcountfunction import val 插入變數val mulcountfunction ldr r1,val 取val的暫存器位址,...