新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > arm匯編和c混合編程的跑馬燈程序

        arm匯編和c混合編程的跑馬燈程序

        作者: 時間:2016-11-11 來源:網絡 收藏
        arm匯編c混合編程跑馬燈程序:新建兩個文件分別是init.s和main.c

        匯編文件主要用于:跳轉到Main函數入口和定義了一個匯編的延遲函數:
        匯編函數名:init.s

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

        AREA Init,CODE,READONLY ;該偽指令定義了一個代碼段,段名為Init,屬性只讀
        ENTRY ;程序的入口點標識
        EXPORT__ENTRY
        __ENTRY
        ResetEntry
        movsp,#0x0c700000 ;定義堆棧指針
        IMPORT Main ;聲明主函數Main
        BLMain ;調用主函數

        ;聲明匯編的延遲函數
        EXPORT delay
        delay
        sub r0,r0,#1
        cmp r0,#0x0
        bne delay
        mov pc,lr
        END

        main.c

        define rGPFCON (*(volatile unsigned *)0x56000050)
        #define rGPFDAT (*(volatile unsigned *)0x56000054)
        #define rGPFUP (*(volatile unsigned *)0x56000058)
        extern delay(int time);
        void Main()
        {
        rGPFCON=0x5500; //將GPF[7:4]定義為輸出功能
        rGPFUP=0xff; //禁止GPF端口上拉
        while(1)
        {

        rGPFDAT=0xef; //依次點亮各個led
        delay(0xbffff);


        rGPFDAT=0xdf;
        delay(0xbffff);


        rGPFDAT=0x7f;
        delay(0xbffff);


        rGPFDAT=0xbf;
        delay(0xbffff);


        }


        }

        ADS設置好后,將Make生成的bin文件燒寫進優龍fs2410開發板的nand flash中能很好的顯示跑馬燈的效果。也可以用JTAG進行在線調試。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 铜陵市| 灵宝市| 子洲县| 松阳县| 梁平县| 额尔古纳市| 广南县| 尚志市| 德兴市| 和田市| 康保县| 固阳县| 福州市| 蒲江县| 尉犁县| 黄大仙区| 怀集县| 湘阴县| 伊川县| 阳新县| 宁都县| 衡水市| 东乡族自治县| 海阳市| 巴林右旗| 克拉玛依市| 保德县| 汕头市| 中阳县| 封开县| 通化市| 理塘县| 浙江省| 海南省| 阿合奇县| 本溪市| 北安市| 涟水县| 蒲江县| 西宁市| 陇川县|