吴忠躺衫网络科技有限公司

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板
    澳门百家乐官网有赢钱的吗 | 太阳城百家乐官网杀猪吗| 赌场百家乐怎么破解| 措勤县| 百家乐官网投注必胜法| 百家乐赌博机假在哪里| 一二博国际| 百家乐轮盘技巧| 赌场百家乐官网投注公式| 世界顶级赌场酒店| 哪个百家乐平台信誉好| 澳门百家乐官网职业赌客| 大发888在线服务| 百家乐最佳下注方法| 大发888洗码| 赤壁百家乐官网娱乐城| 88利来| 威尼斯人娱乐城送宝马| 做生意进门风水| 百家乐官网台布21点| 网上百家乐内幕| 国际娱百家乐官网的玩法技巧和规则| 百家乐官网怎么玩啊| 开百家乐骗人吗| 利博百家乐官网的玩法技巧和规则 | 百家乐平台有什么优惠| 博彩百家乐官网最新优惠| 大发888娱乐方| 百家乐珠盘路| 百家乐注册送彩金平台| 开店做生意的风水摆件| 在线百家乐官网下| 圣淘沙百家乐官网的玩法技巧和规则 | 大发888娱乐城官方下载| 太阳城在线娱乐| 最好的百家乐娱乐场| 新锦江百家乐官网娱乐| 百家乐官网千术手法| 百家乐官网骰盅规则| 玩百家乐官网请高手指点| 24山在风水中的作用|