嵌入式Linux學習(三)點亮LED

ARM裸機程序在Linux平臺上的開發步驟

1、編輯源文件(Source Insight、Notepade++)

2、交叉編譯(arm-linux-gcc)

3、燒寫程序(Open JTAG、oflash)

 

點亮LED需要做的

1、配置LED對應管腳爲輸出

2、將該管教設置爲低電平

 

彙編文件編寫如下

@***************************************************

.text
.global _start
_start:
        LDR    R0,=0x56000050     @R0設爲GPFCON寄存器
                                  @用於配置GPIO端口輸出或輸入
        MOV    R1,#0x00000100
        STR    R1,[R0]            @設置GPF4爲輸出,位[9:8]=01

        LDR    R0,=0x56000054     @R0設爲GPFDAT寄存器
                                  @用於配置端口的輸出值
        MOV    R1,#0x00000000     @位4爲0則燈熄滅
        STR    R1,[R0]
MAIN_LOOP:
        B      MAIN_LOOP          @死循環

編寫Makefile文件 

led_on.bin : LED.S
        arm-linux-gcc -g -c -o led_on.o LED.S   ;由.S文件生成可執行文件led_on.o
                                                ;同時生成可調式信息
        arm-linux-ld -Ttext 0x0000000 -g led_on.o -o led_on_elf
                                                ;設置代碼段的起始位置爲0x0000000
                                                ;將led_on.o連接成可執行文件led_on_elf
        arm-linux-objcopy -O binary -S led_on_elf led_on.bin
                                                ;複製目標文件led_on_elf的內容至led_on.bin中
                                                ;並完成文件格式的轉換
clean:
        rm -f   led_on.bin led_on_elf *.o

在Linux命令行中輸入make實現編譯,並生成了led_on.bin文件

將led_on.bin通過網絡服務上傳到windows

連接open JTAG在目標機和PC端

在Windows下打開CMD,進入led_on.bin所在目錄,執行 oflash led_on.bin,燒入目標機的Nand FLash

從Nand Flash啓動目標機,驗證程序

 

JZ2440片內帶有一個SRAM,外接Nand Flash和Nor Flash,兩種啓動方式的區別如下

1、從Nand Flash啓動

      —— 先將Nand Flash的前4k內容複製到片內SDRAM的0地址處

      —— CPU從SDRAM的0地址處開始執行

2、從Nor Flash啓動

     CPU直接從Nor Flash的0地址處開始取指執行

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章