色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          GPIO(二)C程序

          作者: 時(shí)間:2016-11-22 來(lái)源:網(wǎng)絡(luò) 收藏
          @******************************************************************************

          @ File:crt0.S
          @ 功能:通過它轉(zhuǎn)入C程序
          @******************************************************************************

          本文引用地址:http://cafeforensic.com/article/201611/319965.htm

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

          ldr sp, =1024*4 @ 設(shè)置堆棧,注意:不能大于4k, 因?yàn)楝F(xiàn)在可用的內(nèi)存只有4K
          @ nand flash中的代碼在復(fù)位后會(huì)移到內(nèi)部ram中,此ram只有4K
          bl main @ 調(diào)用C程序中的main函數(shù)
          halt_loop:
          b halt_loop

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

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

          return 0;
          }

          使用如下命令進(jìn)行編譯和連接

          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



          關(guān)鍵詞: GPIOC程

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉