天天看點

AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫

1.在board/README.md中有需要的各個檔案說明

2.複制一個已經有的3.0版本的闆子進行修改

2.1startup.c不用修改

3.board檔案

3.1僅用序列槽作為說明,其他IO/SPI同樣使用(現在就測試這麼多)

如結構體聲明:

AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫

變量聲明:

AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫

3.1.1結構體是配合board.c中的

AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫
AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫
AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫
AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫

3.1.2注意這裡僅僅完成了stduart_init()的整個流程

3.1.3作用:就是将CubeMX中的HAL庫的初始化與本系統對接,其中有些宏定義,變量值不一樣就通過GPIO_MAPPING結構體轉換。

3.1.4當然,HAL生成的其實用得不多,我就僅僅用到stm32f4xx_hal_msp.c(其實就是IO端口的配置初始化,以及是否開啟中斷),其他的其實已經在platform/mcu已經實作,不用自己做

3.1.5這樣就可以使用inlude/aos/hal/uart.h中的對應函數使用

4.這個是CubeMX中生成的void SystemClock_Config(void),直接複制替換就行

4.1最終在

AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫

調用

5.這個與CubeMX中的有些不一樣

AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫

6.重定向printf中的輸出與輸入

AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫

6.1注意其中第一個變量改為了我序列槽中的第一個uart_0→PORT_UART_STD=0(這裡宏定義0對應的變量一定是标準輸入輸出的裝置);

7.k_config檔案暫時不作修改

8.partition_conf.c就是劃分晶片的flash,暫時不修改

9.拷貝CubeMX中生成的startup_stm32f407xx.s(這裡注意,生成的時候改為makefile目标喲)

10.拷貝CubeMX中生成的stm32f4xx_hal_conf.h(其實就是個根據使用引用對應的頭檔案及相關宏定義,友善與HAL庫的裁剪)

11.修改aos.mk(最好複制stm32f401的作修改)

11.1 NAME:=改為檔案夾名字

AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫

$(NAME)_SOURCES表示需要編譯的源檔案(.c)檔案

AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫

.s是啟動彙編檔案

.ld是連結檔案(前面忘了說,這個也是CubeMX會生成的

GLOBAL_INCLUDES 頭檔案包含路徑

下面這個就是自己嘗試了,好像是留給後面的定義使用的

12.檔案夾下的Config.in,一樣的照着抄就行(注意幾個地方“-”要改為“_”)

AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫

13.一定要修改board/Config.in(這個玩意就是闆級下的最高層,隻有在這裡增加了你的選項,配置才能生成)

AliOS Things增加自己的開發闆STM32F407ZET6,使用CubeMX庫

13.1感覺就是一陣複制粘貼,然後把需要的地方改為自己的名字

14這樣就可以選擇helloworld,再選中自己的開發闆了

繼續閱讀