三、瞭解編程環境
前文再續,書接上一回,前面我們建立了一個文件夾,用來存放我們的工程,有建了三個文件夾,現在,分別解析一下這三個文件夾裏放的是什麼東西。
inc文件夾裏放的是頭文件,一共六個,以後我們自己的頭文件也可以放到這裏來。
stm32f4xx.h 包含了stm32f4的寄存器結構體的定義(類似於C51的reg52.h)
core_cm4.h 內核功能的定義,比如NVIC相關寄存器的結構體
core_cmInstr.h 包含一些內核核心專用指令
core_cmFunc.h 內核核心功能接口頭文件
core_cm4_simd.h 包含與編譯器相關的處理
system_stm32f4xx.h system_stm32f4xx.c的頭文件
user裏面放的是system_stm32f4xx.c文件和用戶自己定義的文件(比如main.c)。system_stm32f4xx.c裏面是系統初始化的設置,包括時鐘的配置等
startup裏放的startup_stm32f4xx.s是啓動文件,是一個彙編文件。不同的編譯器應該用不同的啓動文件。它的作用包括:
1. 設定SP的初值
2. 設置PC的初值
3. 設置中斷向量表的地址
4. 配置時鐘
5. 設置堆棧
6. 調用mian等
這個啓動文件是先調用system_stm32f4xx.c裏面的SystemInit()在調用main的。
然後就是IAR的操作。
以下這幾個按鈕時最常用的
第一個是編譯
第二個是生成可執行文件
第三個是設置斷點
第四個是下載調試
第五個是在線調試
我們寫好程序,然後按編譯,在按第二個,如果編譯沒錯,連接提示錯誤的話,原因很可能是之前Linker configuration file的文件沒選對,或者一開始的芯片類型沒選對等
OK,這就是我們的編程環境。