此篇已ALIENTEK STM32F4探索者之STM32F407ZG開發板來完成專案建立
STM32F4xx Libraries下載點如下,
STM32F4xx_DSP_StdPeriph_Lib_V1.8.0
下載完成檔案如下,
接下來建立專案資料夾,本人習慣分類方式如下,
CMSIS->CORTEX微控制器軟件介面標準
ExtDevices_Configuration->外部裝置驅動程式配置
FreeRTOS->FreeRTOS程式存放
MDK->MCU核心程式
Project->存放專案uvprojx檔與hex等文件檔
STM32F407_Configuration->STM32F407各個介面配置
STM32F407_StdDriver->STM32F407標準函示庫驅動程式
User->存放main.c等撰寫者寫的其他程式
接下來一步步STM32F4xx_DSP_StdPeriph_Lib_V1.8.0裡的程式正確底放在適當的資料夾內,
在CMSIS裡新增inc與src資料夾
\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include中的兩個.h放置\CMSIS\inc資料夾中,
\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Include中的紅色框標註.h也放置在\CMSIS\inc資料夾中,
\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates中的紅色框標註.h也放置在\CMSIS\inc資料夾中,
\CMSIS\inc裡頭會有以下.h檔文件,
\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates中的紅色框標註.c也放置在\CMSIS\src資料夾中,
\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates中的紅色框標註.c也放置在\CMSIS\src資料夾中,
\CMSIS\src裡頭會有以下.c檔文件,
由於ALIENTEK STM32F4探索者之STM32F407ZG開發板中的石英震盪器為8MHz,所以要修改system_stm32f4xx.c程式文件中的PLL Parameters參數,先取消該文件的唯讀屬性,
在第371行#define PLL_M 25改成#define PLL_M 8,將25MHz改成8MHz,
還要修改在\FreeRTOS_EX1\CMSIS\inc中的stm32f4xx.h,先取消該文件的唯讀屬性,
在第144行將25000000改成8000000,將25MHz改成8MHz,
ExtDevices_Configuration資料夾暫時不放程式文件,
FreeRTOS裡新增inc與src資料夾,
\FreeRTOSv10.0.0\FreeRTOS\Source\include裡的全部.h放置在\FreeRTOS\inc資料夾中,
\FreeRTOSv10.0.0\FreeRTOS\Source\portable\RVDS\ARM_CM4F中的紅色框標註.h也放置在\FreeRTOS\inc資料夾中,
\FreeRTOSv10.0.0\FreeRTOS\Demo\CORTEX_M4F_STM32F407ZG-SK中的紅色框標註.h也放置在\FreeRTOS\inc資料夾中,
\FreeRTOS\inc裡頭會有以下.h檔文件,
\FreeRTOSv10.0.0\FreeRTOS\Source中的全部.c也放置在\FreeRTOS\src資料夾中,
\FreeRTOSv10.0.0\FreeRTOS\Source\portable\RVDS\ARM_CM4F中的紅色框標註.c也放置在\FreeRTOS\src資料夾中,
\FreeRTOSv10.0.0\FreeRTOS\Source\portable\MemMang裡的資料夾為內存管理,有興趣可看裡頭的ReadMe,這裡採用heap_2.c放置在\FreeRTOS\src資料夾中,
\FreeRTOS\src裡頭會有以下.c檔文件,
MDK放置支援此MCU之內核,\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates
\arm中的紅色框標註.s放置在\MDK資料夾中,
\MDK裡頭會有以下.s檔文件,
Project資料夾暫時不放程式文件,
STM32F407_Configuration資料夾暫時不放程式文件,
\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Driver裡的inc與src這兩資料夾放置在\STM32F407_StdDriver資料夾中,
最後User資料夾新增inc與src,將\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates中的main.h與main.c分別放置在inc與src資料夾中,如下所示,
main.h放置在\User\inc資料夾中,
main.c放置在\User\src資料夾中,
下一篇會來講解移植好的文件如何新增修改
留言列表