close

ST_logo_20130425.png

此篇已ALIENTEK STM32F4探索者之STM32F407ZG開發板來完成專案建立

S__47579138.jpg

STM32F4xx Libraries下載點如下,

STM32F4xx_DSP_StdPeriph_Lib_V1.8.0

下載完成檔案如下,

4.JPG

接下來建立專案資料夾,本人習慣分類方式如下,

7.JPG

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資料夾

10.JPG

\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include中的兩個.h放置\CMSIS\inc資料夾中,

6.JPG

\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Include中的紅色框標註.h也放置在\CMSIS\inc資料夾中,

1.JPG

\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates中的紅色框標註.h也放置在\CMSIS\inc資料夾中,

2.JPG

\CMSIS\inc裡頭會有以下.h檔文件,

5.JPG

\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates中的紅色框標註.c也放置在\CMSIS\src資料夾中,

3.JPG

\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates中的紅色框標註.c也放置在\CMSIS\src資料夾中,

4.JPG

\CMSIS\src裡頭會有以下.c檔文件,

6.JPG

由於ALIENTEK STM32F4探索者之STM32F407ZG開發板中的石英震盪器為8MHz,所以要修改system_stm32f4xx.c程式文件中的PLL Parameters參數,先取消該文件的唯讀屬性,

7.JPG

在第371行#define PLL_M 25改成#define PLL_M 8,將25MHz改成8MHz,

8.JPG

還要修改在\FreeRTOS_EX1\CMSIS\inc中的stm32f4xx.h,先取消該文件的唯讀屬性,

1.JPG

在第144行將25000000改成8000000,將25MHz改成8MHz,

2.JPG

ExtDevices_Configuration資料夾暫時不放程式文件,

FreeRTOS裡新增inc與src資料夾,

10.JPG

\FreeRTOSv10.0.0\FreeRTOS\Source\include裡的全部.h放置在\FreeRTOS\inc資料夾中,

9.JPG

\FreeRTOSv10.0.0\FreeRTOS\Source\portable\RVDS\ARM_CM4F中的紅色框標註.h也放置在\FreeRTOS\inc資料夾中,

10.JPG

\FreeRTOSv10.0.0\FreeRTOS\Demo\CORTEX_M4F_STM32F407ZG-SK中的紅色框標註.h也放置在\FreeRTOS\inc資料夾中,

40.JPG

\FreeRTOS\inc裡頭會有以下.h檔文件,

41.JPG

\FreeRTOSv10.0.0\FreeRTOS\Source中的全部.c也放置在\FreeRTOS\src資料夾中,

12.JPG

\FreeRTOSv10.0.0\FreeRTOS\Source\portable\RVDS\ARM_CM4F中的紅色框標註.c也放置在\FreeRTOS\src資料夾中,

13.JPG

\FreeRTOSv10.0.0\FreeRTOS\Source\portable\MemMang裡的資料夾為內存管理,有興趣可看裡頭的ReadMe,這裡採用heap_2.c放置在\FreeRTOS\src資料夾中,

14.JPG

\FreeRTOS\src裡頭會有以下.c檔文件,

15.JPG

MDK放置支援此MCU之內核,\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates

\arm中的紅色框標註.s放置在\MDK資料夾中,

16.JPG

\MDK裡頭會有以下.s檔文件,

17.JPG

Project資料夾暫時不放程式文件,

STM32F407_Configuration資料夾暫時不放程式文件,

\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Driver裡的inc與src這兩資料夾放置在\STM32F407_StdDriver資料夾中,

18.JPG

最後User資料夾新增inc與src,將\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates中的main.h與main.c分別放置在inc與src資料夾中,如下所示,

19.JPG

main.h放置在\User\inc資料夾中,

21.JPG

main.c放置在\User\src資料夾中,

22.JPG

下一篇會來講解移植好的文件如何新增修改

arrow
arrow

    鄭智遠 發表在 痞客邦 留言(0) 人氣()