STM32入門系列-復位程序


 已經對啟動文有了大致了解,再來看看系統在復位過程中做了哪些工作。復位程序如下:

 1 ; Reset handler
 2 
 3 Reset_Handler PROC
 4 
 5 EXPORT Reset_Handler [WEAK]
 6 
 7 IMPORT SystemInit
 8 
 9 IMPORT __main
10 
11 LDR R0, =SystemInit
12 
13 BLX R0
14 
15 LDR R0, =__main
16 
17 BX R0
18 
19 ENDP

    在復位程序內,聲明了外部文件標號SystemInit和__main(__main 是一個標准的C語言庫函數,用於初始化用戶堆棧,最終還是進入main),因此需要在外部文件中按照這個標號名寫出對應的函數,否則編譯器將報錯。在庫文件system_stm32f10x.c內就寫了SystemInit()函數;在main.c 文件內也寫了一個main()函數。所以主函數是main這個名字。

    系統復位后進入復位函數,首先調用SystemInit()函數,初始化STM32系統時鍾,然后再進入我們熟悉的main()函數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM