歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> mini2440之匯編點亮一個LED

mini2440之匯編點亮一個LED

日期:2017/3/1 10:08:19   编辑:Linux編程

代碼編輯分析:(運行時可以刪除注釋,開發板為mini2440)

創建匯編文件led_on.S

  1. .global _start
  2. -start:
  3. LDR R0,=0X56000010 //設置LED的GPIO控制寄存器GPBCON的模式為輸出模式,0X56000010為GPB的控制器地址,0X00000400:知設置GPB5的端口為 輸出模式是第10位和第11位為10則其余0~9位補0,得到100000000000b,換算為十六進制則為0X00000400
  4. MOV R1,#0X00000400
  5. STR R1,[R0]
  6. LDR R0,=0X56000014//0X56000014:GPBDAT寄存器地址,0X00000000:拉低GPB口的電壓
  7. MOV R1,#0X00000000
  8. STR R1,[R0]
  9. MAIN_LOOP://循環
  10. B MAIN_LOOP

Makefile文件

  1. led_on.bin:led_on.S
  2. arm-linux-gcc -g -c -o led_on.o led_on.S
  3. arm-linux-ld -Ttext 0x00000000 -g led_on.o -o led_on_elf
  4. arm-linux-objcopy -o binary -S led_on_elf led_on.bin
  5. clean:
  6. rm -f led_on.bin led_on_elf *.o

編譯:

利用samba服務上傳,通過終端進入上傳文件,編譯命令make

生成led_on.bin文件

測試:

下載到開發板,可以按照手冊上的下載到內存運行,即在nor flash模式下啟動,打開window終端和DNW下載led_on.bin

總結:萬事開頭難,這樣簡單的程序對那些高手而言可能不值一提,但是對於初學者來說真的步步維艱,希望這樣的分析,為自己的學習做個記錄,也為大家提供個參照。

Copyright © Linux教程網 All Rights Reserved