libraries\cmsis\core\cm3\startup\arm資料夾下是由彙編編寫的系統啟動檔案,不同的檔案對應不同的晶元型號。
cl:互聯型產品,stm32f105/107系列
vl:超值型產品,stm32f100系列
xl:超高密度(容量)產品,stm32f101/103系列
ld:低密度產品,flash小於64k md:中等密度產品,flash=64 or 128
hd:高密度產品,flash大於128
啟動檔案是任何處理器在上點復位之後最先執行的一段匯程式設計序。在我們編寫的c語言**執行之前,需要由彙編為c語言的執行建立乙個合適的環境,接下來才能執行我們的程式。所以我們也要把啟動檔案新增進我們的的工程中去。
啟動檔案的作用是:
1. 初始化堆疊指標sp;
2. 初始化程式計數器指標pc;
3. 設定堆、棧的大小;
4. 設定異常向量表的入口位址;
5. 配置外部sram作為資料儲存器(這個由使用者配置,一般的開發板可沒有外部sram);
6. 設定c庫的分支入口__main(最終用來呼叫main函式);
7. 在3.5版的啟動檔案還呼叫了在system_stm32f10x.c檔案中的systemini() 函式配置系統時鐘,在舊版本的工程中要使用者進入main函式自己呼叫systemini() 函式。
STM32 啟動檔案
先來看看啟動 中的偽操作和偽指令 equ 用於定義常量,相當於c中的巨集定義 如stack size equ 0x00000400 define stack size 0x00000400 align 位元組對齊方式 align 3 export 相當於宣告了乙個全域性變數 export vecto...
stm32啟動檔案
這是st提供的3個啟動檔案,分別適用於不同容量的stm32晶元。這三個檔案為 startup stm32f10x ld.s startup stm32f10x md.s startup stm32f10x hd.s 其中,ld.s適用於小容量 產品 md.s適用於中等容量產品 hd適用於大容量產品 ...
stm32啟動檔案分析
這篇文章主要是分析stm32啟動檔案,啟動檔案是由彙編編寫的,檔名為startup stm32f40 41 s。啟動檔案最主要的功能就是初始化堆疊指標sp,執行復位程式進入c語言main函式 1.初始化堆疊空間大小,定義棧頂位置 堆起始位置等等 2.定義中斷向量表,初始化sp指標 3.reset h...