那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何將新增的board的代碼直接納入app下

智芯原動ICETech ? 來源:HalfCoder ? 作者: lgl88911 ? 2021-08-18 09:23 ? 次閱讀

在Zephyr應用的代碼結構--West提貨單一文中已經將zephyr和zephyr外部項目納入到應用的管理,應用可以基于zephyr的任意開發板進行開發。不過實際的嵌入式應用場景需要對硬件進行定制,這就需要添加新的board,為了方便應用項目代碼集中管理,我們希望將新增的board的代碼直接納入app下。

添加board

在app目錄下添加boards,添加的方式必須遵從boards/《arch》/《board_name》, 例如我的應用要跑在兩種不同的硬件上,增加了使用rt1052和esp32兩個芯片的board,那么就要新建arm和xtensa兩個arch目錄,并分別在其中建立新的開發板文件夾atclock和tclock,目錄樹如下

app

├── CMakeLists.txt

├── boards

│ ├── arm

│ │ └── atclock

│ └── xtensa

│ └── tclock

添加board一般的做法是在zephyr/boards目錄下找相同soc的board然后根據硬件對dts和配置文件進行修改,具體添加board的方法可以參考Zephyr移植新Board,例如atclock就是從mm_swiftio修改而來,文件如下

└── atclock

├── CMakeLists.txt

├── Kconfig.board

├── Kconfig.defconfig

├── atclock.dts

├── atclock.yaml

├── atclock_defconfig

├── atclock_flexspi_nor_config.c

├── atclock_flexspi_nor_config.h

├── atclock_sdram_ini_dcd.c

├── board.cmake

├── doc

└── pinmux.c

而tclock是從esp32修改而來,文件如下

。

└── tclock

├── CMakeLists.txt

├── Kconfig.board

├── Kconfig.defconfig

├── board.cmake

├── doc

├── tclock.dts

├── tclock.yaml

└── tclock_defconfig

如何使用

zephyr提供了兩種方法使用非zephyr目錄下的board

1.編譯時指定

west build -b atclock -- -DBOARD_ROOT=app/ app/

2.Cmake指定

編譯時指定需要在每次編譯時都指定BOARD_ROOT路徑,略顯累贅,可以在app/CMakeLists.txt中添加如下內容

list(APPEND BOARD_ROOT ${CMAKE_SOURCE_DIR})

CMAKE_SOURCE_DIR表示app的source code目錄,也就是app的目錄,由于boards在該目錄下,因此在編譯時就無需再指定board_root,直接執行下面命令即可

west build -b atclock app/

第二種方法是應用管理自定義board這種場景下比較推薦的方法。

參考

https://docs.zephyrproject.org/latest/application/index.html#custom-board-devicetree-and-soc-definitions

https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/application_development/out_of_tree_board

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • DTS
    DTS
    +關注

    關注

    1

    文章

    50

    瀏覽量

    16162
  • 代碼
    +關注

    關注

    30

    文章

    4827

    瀏覽量

    69055
  • Zephyr
    +關注

    關注

    0

    文章

    22

    瀏覽量

    6001

原文標題:Zephyr應用的代碼結構--自定義開發板

文章出處:【微信號:智芯原動ICETech,微信公眾號:智芯原動ICETech】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32 BOOT跳轉到APP后初始化完后成死機 用了FREERTOS

    重復的 __disable_irq();//卡死后新增的,但是沒有用,跟上面應該是功能重復的 jump2app=(iapfun)*(vu32*)(appxaddr+4);//用戶代碼區第二個字為程序開始
    發表于 11-25 21:19

    Taro鴻蒙技術內幕系列(一):如何將React代碼跑在ArkUI上

    基于 Taro 打造的京東鴻蒙 APP 已跟隨鴻蒙 Next 系統公測,本系列文章深入解析 Taro 如何實現使用 React 開發高性能鴻蒙應用的技術內幕。
    的頭像 發表于 10-25 17:24 ?381次閱讀
    Taro鴻蒙技術內幕系列(一):<b class='flag-5'>如何將</b>React<b class='flag-5'>代碼</b>跑在ArkUI上

    如何將LVDS/OLDI橋接到HDMI/DVI

    電子發燒友網站提供《如何將LVDS/OLDI橋接到HDMI/DVI.pdf》資料免費下載
    發表于 09-27 09:35 ?1次下載
    <b class='flag-5'>如何將</b>LVDS/OLDI橋接到HDMI/DVI

    如何將BQ35100配置為EOS模式

    電子發燒友網站提供《如何將BQ35100配置為EOS模式.pdf》資料免費下載
    發表于 09-11 10:03 ?0次下載
    <b class='flag-5'>如何將</b>BQ35100配置為EOS模式

    請問light demo如何添加esp_http_client例程?

    );*/ //app_wifi_initialise(); xTaskCreate(&http_test_task, \"http_test_task\", 8192, NULL, 5, NULL); } 2.官方現在是有有無一個demo projec
    發表于 06-28 15:46

    STM32F103C8T6在bootloader使用了USB中斷后,app區再使用usb中斷,直接不會跳轉到app區,怎么解決?

    主控是STM32F103C8T6,程序是我移植的之前寫bootloader和APP代碼,是使用的串口IAP(在串口上使用一點問題沒有)。我現在遇到的情況是在boot loader使用了USB中斷
    發表于 05-21 08:00

    請問STM8S如何將中斷代碼拷貝到RAM中運行?

    STM8S在寫EEPROM時,中斷停掉,如何將中斷代碼拷貝到RAM中運行??? 求助各位大神?。?!
    發表于 05-17 07:37

    PADS2.7,如何將3D封裝與PCB封裝綁定,然后再PCB設計時可直接調用?

    PADS2.7,如何將3D封裝與PCB封裝綁定,然后再PCB設計時可直接調用?
    發表于 05-06 17:07

    STM32的App應用程序用MDK直接仿真,MDK下載后無法正常仿真的原因?

    如題,嘗試了STM32的App應用程序用MDK直接仿真,發現MDK下載后無法正常仿真,程序起始地址和中斷偏移都設置了。以前用IAR是可以仿真Ap
    發表于 04-12 08:00

    如何將bootloader代碼從flash搬到RAM運行?

    如何將bootloader 代碼從flash 搬到RAM 運行
    發表于 04-03 07:14

    如何將bootloader代碼從flash搬到RAM運行?

    如何將bootloader 代碼從flash 搬到RAM 運行
    發表于 04-01 07:10

    STM32 IAP升級,KEIL如何一份代碼運行于兩個APP區?

    我的想法是一個IAP+APP1+APP2。上電運行IAP。會檢測當前有效APP,跳轉有效APP運行。在APP運行期間,收到升級指令,直接do
    發表于 03-26 07:20

    如何將F-RAM?添加到現有的PSoC? Creator項目?

    我們在PSoC? Creator 中有一個 PSoC6 項目,并希望 QSPI F-RAM?存儲器添加到TDA5235_868_5_BOARD中。我很難找到如何在F-RAM? PSoC
    發表于 03-01 12:14

    如何將LED連接到Arduino板并使其閃爍

     在本快速入門指南中,您將學習如何將 LED 連接到 Arduino 板并使其閃爍。
    的頭像 發表于 02-11 10:53 ?2346次閱讀
    <b class='flag-5'>如何將</b>LED連接到Arduino板并使其閃爍

    如何將按鈕連接到Arduino板

    在本快速入門指南中,您將學習如何將按鈕連接到Arduino板,并根據按鈕是否被按下來讀取HIGH或LOW。您將使用電路板上隨附的發光二極管 (LED)通過按鈕打開和關閉,以便驗證按鈕按下代碼是否正常工作。
    的頭像 發表于 02-11 10:52 ?4180次閱讀
    <b class='flag-5'>如何將</b>按鈕連接到Arduino板
    皇室百家乐官网的玩法技巧和规则 | 威尼斯人娱乐场送18| 平原县| 百家乐赌牌技巧| 大发888线上娱乐城二十一点| 百家乐官网游戏下裁| 百家乐闲单开多少| 时时博在线娱乐城| 如何玩百家乐官网的玩法技巧和规则 | 威尼斯人娱乐城送38| 百家乐官网赌博器| 全讯网报码| 百家乐官网打印机分析| 百家乐玩法及技巧| 六合彩特码开奖结果| 百家乐官网发脾机| 棋牌新闻| 百家乐官网贴士介绍| 大发888娱乐平台下| 百家乐官网园百利宫娱乐城怎么样百家乐官网园百利宫娱乐城如何 | 百家乐视频游戏会员| 百家乐官网室系统软件| 博彩百家乐字谜总汇二丹东| 博彩百家乐官网网址| 永利高投注网哪个好| 金彩百家乐官网的玩法技巧和规则 | 澳门玩大小| 百家乐官网电子| 手机棋牌游戏平台| 上海玩百家乐算不算违法| 百家乐官网真人秀| 德州扑克| 百家乐赌场走势图| 谈谈百家乐官网赢钱技巧| 二八杠手法| 做生意摆什么好招财| 网上百家乐官网投注法| 什么百家乐九宫三路| 百家乐官网电投网站| 德州扑克比赛视频| 百家乐保单机作弊|