ARM MDK开发中的\$Super\$\$main与\$Sub\$\$main

参考
一般在.s文件中通过类似如下代码来跳入__main中,也就是$Sub$$main函数中:

              ; reset Vector table address.
                LDR     R0, =0xE000ED08 
                STR     R2, [R0]

                LDR     R0, =SystemInit
                BLX     R0
                LDR     R0, =__main
                BX      R0
                ENDP

当代码中出现如下代码时,一般表示使用$Super$$main来跳入main函数中,只是使用宏定义的方式去替换$Super$$mainmain

    /* invoke system main function */
#if defined(__CC_ARM) || defined(__CLANG_ARM)
    //$Super$$main(); /* for ARMCC. */
#elif defined(__ICCARM__) || defined(__GNUC__)
    main();
#endif
posted @ 2024-09-30 18:05  yinsua  阅读(239)  评论(0)    收藏  举报