1.在board/README.md中有需要的各個檔案說明
2.複制一個已經有的3.0版本的闆子進行修改
2.1startup.c不用修改
3.board檔案
3.1僅用序列槽作為說明,其他IO/SPI同樣使用(現在就測試這麼多)
如結構體聲明:

變量聲明:
3.1.1結構體是配合board.c中的
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最終在
調用
5.這個與CubeMX中的有些不一樣
6.重定向printf中的輸出與輸入
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:=改為檔案夾名字
$(NAME)_SOURCES表示需要編譯的源檔案(.c)檔案
.s是啟動彙編檔案
.ld是連結檔案(前面忘了說,這個也是CubeMX會生成的
GLOBAL_INCLUDES 頭檔案包含路徑
下面這個就是自己嘗試了,好像是留給後面的定義使用的
12.檔案夾下的Config.in,一樣的照着抄就行(注意幾個地方“-”要改為“_”)
13.一定要修改board/Config.in(這個玩意就是闆級下的最高層,隻有在這裡增加了你的選項,配置才能生成)
13.1感覺就是一陣複制粘貼,然後把需要的地方改為自己的名字
14這樣就可以選擇helloworld,再選中自己的開發闆了