原文:http://blog.csdn.net/lanmanck/article/details/8252560 啟動(dòng)代碼看這里: http://blog.csdn.net/chehlcy/article/details/5164472 在啟動(dòng)文件我們看到了__main和用戶(hù)寫(xiě)的main,這2個(gè)是有區(qū)別的,大概流程如下: 1、復(fù)位第一條指令:Reset_Handler PROC,這里指定為 LDR R0, =__main。表示調(diào)用庫(kù)函數(shù)__main,當(dāng)然,我們可以在__main前做點(diǎn)事情,比如PLL初始化等。 2、__main()的執(zhí)行流程參考: http://www./a/bianchengyuyan/_NET/20120611/128129.html 跟一下匯編,大概是__scatterload()->__rt_entry()->__user_setup_stackheap() 3、最后調(diào)用用戶(hù)的main()函數(shù)。 4、可以不使用C庫(kù)初始化函數(shù)__main()直接調(diào)用用戶(hù)的main()【或別的定義!】,這個(gè)可以google一下。 相關(guān)文章: __main()和main():http://blog.csdn.net/eleven_yy/article/details/7751995 |
|
來(lái)自: 共同成長(zhǎng)888 > 《單片機(jī)程序》