新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > GPIO(二)C程序

        GPIO(二)C程序

        作者: 時間:2016-11-22 來源:網絡 收藏
        @******************************************************************************

        @ File:crt0.S
        @ 功能:通過它轉入C程序
        @******************************************************************************

        本文引用地址:http://www.104case.com/article/201611/319965.htm

        .text
        .global _start
        _start:
        ldr r0, =0x53000000 @ WATCHDOG寄存器地址
        mov r1, #0x0
        str r1, [r0] @ 寫入0,禁止WATCHDOG,否則CPU會不斷重啟

        ldr sp, =1024*4 @ 設置堆棧,注意:不能大于4k, 因為現在可用的內存只有4K
        @ nand flash中的代碼在復位后會移到內部ram中,此ram只有4K
        bl main @ 調用C程序中的main函數
        halt_loop:
        b halt_loop

        #define GPBCON (*(volatile unsigned long *)0x56000010)
        #define GPBDAT (*(volatile unsigned long *)0x56000014)

        int main()
        {
        GPBCON = 0x00015400; // 設置GPB5-8為輸出口
        //[11:10]=0b01,[13:12]=0b01,
        //[15:14]=0b01,[17:16]=0b01,
        GPBDAT = 0x00000000; // GPB5-8輸出0,LED1點亮

        return 0;
        }

        使用如下命令進行編譯和連接

        arm-linux-gcc -g -c -o crt0.o crt0.S
        arm-linux-gcc -g -c -nostdlib -o led_on_c.o led_on_c.c
        arm-linux-ld -Ttext 0x0000000 -g crt0.o led_on_c.o -o led_on_c_elf
        arm-linux-objcopy -O binary -S led_on_c_elf led_on_c.bin



        關鍵詞: GPIOC程

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 柏乡县| 确山县| 郧西县| 海城市| 巴林左旗| 邢台县| 通城县| 岐山县| 海林市| 周至县| 吴桥县| 旌德县| 尉氏县| 晋宁县| 鲁甸县| 宣武区| 涞源县| 长春市| 巨鹿县| 鄯善县| 龙里县| 砚山县| 南召县| 双鸭山市| 长子县| 武穴市| 芜湖市| 江华| 英山县| 嘉黎县| 鱼台县| 宽城| 凤山县| 泽普县| 分宜县| 巩义市| 临泽县| 论坛| 盱眙县| 顺昌县| 昂仁县|