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和外设配置;


以上所有内容配置完毕后,就已经成功添加自定义板类型。


祝好运!

猜你喜欢

转载自blog.csdn.net/u010018991/article/details/79723022
今日推荐