Zephyr應用筆記:添加自定義板類型(基於zephyr已經支持的SOC類型)

zephyr(version 1.11.0),Github地址:https://github.com/zephyrproject-rtos/zephyr


例如我們自己的畫的板子是基於STM32F411RE,由於zephyr已經支持了nucleo_f411re開發板,所以我們直接拷貝一份並重命名爲my_board,進入my_board文件夾查看所有文件如下:


doc:文檔和圖片說明;

support(如果是st-link纔有此文件夾):裏邊只有一個文件openocd.cfg---用於下載和調試(這裏需要注意:nucleo_f411re支持st-linkv2-1,如果你的板子也是st-linkv2-1則不需要修改,如果不是那麼請根據自己的板子重新配置,例如我的板子用的是st-linkv2,那麼修改配置如下);



board.cmake:如果你用的是st-link則不需要修改,如果用的是jlink請參考支持jlink的板子填寫;

board.h:定義按鈕,指示燈等引腳;

CMakeLists.txt:不需要修改;

Kconfig.board:將

    BOARD_NUCLEO_F411RE改爲BOARD_MY_BOARD

            bool "NUCLEO-64 F411RE Development Board"改爲bool "my board"

    depends on SOC_STM32F411XE 我這裏不需要修改

Kconfig.defconfig:將

        if BOARD_NUCLEO_F411RE 修改爲 if BOARD_MY_BOARD

        config BOARD

    default nucleo_f411re  改爲 default my_board

nucleo_f411re_defconfig:將名字改爲my_board_defconfig

        CONFIG_BOARD_NUCLEO_F411RE=y 改爲 CONFIG_MY_BOARD=y

        CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=96000000(主頻)我這裏不需要修改,你根據實際情況修改

        CONFIG_CLOCK_STM32_HSE_CLOCK=8000000(時鐘)我這裏修改爲16000000,你根據實際情況修改

        時鐘相關配置都要根據你自己的板子修改(外部時鐘/內部時鐘,分頻等等)

nucleo_f411re.dts:將名字修改爲my_board.dts

        #include <st/stm32f411.dtsi> 我這裏不需要修改,你根據實際請款修改

        這個文件主要是flash、ram、console的選擇

nucleo_f411re.yaml:將名字修改爲my_board.yaml

        identifier:nucleo_f411re 修改爲 identifier:my_board

         name:NUCLEO-F411RE  修改爲 name:MY_BOARD

pinmux.c:

            根據你的板子用到的IO和外設配置;


以上所有內容配置完畢後,就已經成功添加自定義板類型。


祝好運!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章