在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

NCS怎么添加.c.h文件到工程

TedLee ? 來源:jf_29076475 ? 作者:jf_29076475 ? 2025-06-27 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【NCS隨筆】

SEGGER添加方式

在介紹NCS工程之前,我們先看看大家熟悉的SEGGER工程(Keil同理):

左邊的項目欄可以看到工程的配置,通過點擊 User Include Directories添加頭文件路徑

在這里插入圖片描述

對工程或者文件夾鼠標右擊就可以添加文件或者.c文件管理文件等操作。
在這里插入圖片描述

可以看出,Segger添加源文件和目錄的方式比較直觀,但是如果文件比較多,路徑比較深的話效率就會比較低下。
在這里插入圖片描述

NCS 構建

Zephyr 使用CMake作為構建系統,CMake 是一個跨平臺的構建工具,它通過讀取CMakeLists.txt文件來生成平臺特定的構建文件,
Zephyr 的構建系統基于GNUMakeCMake ,但 CMake 是主要的配置入口。每個 Zephyr 項目(應用程序、驅動或模塊)都需要一個或多個CMakeLists.txt文件來定義構建規則
我們可以打開一個例程參考,我這里使用ncs3.0.0的peripheral_uart例程
在這里插入圖片描述

  • cmake_minimum_required:指定所需的最低 CMake 版本。
  • find_package(Zephyr):查找并加載 Zephyr 的 CMake 工具鏈和模塊
  • project:定義項目名稱,通常與應用程序名稱一致
  • target_sources:指定項目的源文件路徑(如.c.cpp文件)

我們選擇一個更加復雜的例程來分析v3.0.0nrfapplicationsnrf_desktop
在這里插入圖片描述

  • cmake_minimum_required :要求 CMake 版本至少為 3.20.0
  • APPLICATION_CONFIG_DIR :設置應用配置文件目錄,根據目標開發板動態調整(如configuration/nrf52840dk_nrf52840
  • find_package(Zephyr) :查找并加載 Zephyr 構建系統
  • project :定義項目名稱為 "nRF Desktop",版本為 0.1
  • assert :確保在 Kconfig 中定義了CONFIG_DESKTOP_HID_REPORT_DESC(HID 報告描述符文件路徑)
  • target_sources :添加主源文件src/main.c和 HID 描述符文件到構建
  • zephyr_library_include_directories :為應用庫添加頭文件路徑(供內部模塊使用)
  • zephyr_include_directories :為整個項目添加頭文件路徑(全局可見)
  • add_subdirectory :遞歸添加子目錄中的代碼模塊,每個子目錄需包含自己的 CMakeLists.txt
  • CONFIG_IMG_MANAGER :如果啟用固件管理功能,鏈接 MCUboot 的引導工具庫
  • CONFIG_DESKTOP_CONFIG_CHANNEL_ENABLE :如果啟用配置通道功能,添加自定義鏈接腳本nrf_desktop.ld

總結

上面的功能可能有點多,需要長期使用才知道大部分的功能,實際我們添加.c.h甚至.a&.lib文件只需要需要下面的指令就行了,添加在Cmakelists.txt

  • 添加.c文件: target_sources :target_sources(app PRIVATE xxx.c )
  • 添加.h文件路徑:target_include_directories(app PRIVATE common)
  • 添加.a或者.lib文件:target_link_libraries(app PRIVATE xxx.lib)

測試

使用periphreal_uart例程
1、在src目錄添加test文件夾,在test文件下創建CMakeList.txt文件,將這個文件下面的test.c和test.h包含進去
2、在periphreal_uart例程根目錄下把test這個文件夾使用add_subdirectory(src/test)包含進去,這樣就可以了
zai

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

最后一如既往的到了臭不要臉環節,作為一名精通Nordic硬件設計和軟件開發的FAE,你的點贊、收藏和評論是對我最大的支持,有問題多多指教,如果有需要Nordic開發板、Nordic的芯片以及Nordic技術支持的可以在個人資料獲取我的聯系方式,感謝讀者支持!

審核編輯 黃宇

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

    關注

    1

    文章

    11

    瀏覽量

    9225
  • Nordic
    +關注

    關注

    9

    文章

    208

    瀏覽量

    48020
  • Zephyr
    +關注

    關注

    0

    文章

    37

    瀏覽量

    6262
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何創建ESP32P4自定義工程、移植示例和注意事項

    文件以遞歸的方式解析,便于組件的添加。另外用戶也可以不依賴idf_component.yml,自定義CMakeList文件的方式進行工程管理。關于ESP IDF的構建系統的詳情,可以參
    發表于 05-03 16:16

    FD20-110S15B3C3-H1 FD20-110S15B3C3-H1

    、英文資料,FD20-110S15B3C3-H1真值表,FD20-110S15B3C3-H1管腳等資料,希望可以幫助廣大的電子工程師們。
    發表于 03-24 18:45
    FD20-110S15B3<b class='flag-5'>C3-H</b>1 FD20-110S15B3<b class='flag-5'>C3-H</b>1

    ZED75-48S48C-H ZED75-48S48C-H

    電子發燒友網為你提供AIPULNION(AIPULNION)ZED75-48S48C-H相關產品參數、數據手冊,更有ZED75-48S48C-H的引腳圖、接線圖、封裝手冊、中文資料、英文資料,ZED75-48S48C-H真值表,
    發表于 03-21 18:53
    ZED75-48S48<b class='flag-5'>C-H</b> ZED75-48S48<b class='flag-5'>C-H</b>

    FA5-220H052424C2N3 FA5-220H052424C2N3

    、英文資料,FA5-220H052424C2N3真值表,FA5-220H052424C2N3管腳等資料,希望可以幫助廣大的電子工程師們。
    發表于 03-18 18:41
    FA5-220<b class='flag-5'>H052424C</b>2N3 FA5-220<b class='flag-5'>H052424C</b>2N3

    在TouchFX Designer中運行工程,提示頭文件找不到,為什么?

    我在TouchFX Designer 中運行工程,提示頭文件找不到。 但是在keil中是可以編譯通過的。 請問如何添加編譯的頭文件設計器
    發表于 03-13 08:20

    英特爾?NCS2運行演示時“無法在啟動后找到啟動設備”怎么解決?

    使用 英特爾? NCS2 運行 推斷管道演示腳本 。 在首次嘗試中成功運行演示應用程序。 從第二次嘗試開始遇到錯誤:E: [ncAPI] [ 150951] [security_barrie
    發表于 03-05 06:48

    如何利用RTC外設實現萬年歷功能

    本小節講解的是如何利用RTC外設實現萬年歷功能,本實驗工程與RTC底層驅動相關的文件為bsp_rtc.c/h,在底層驅動之上我們添加了bsp
    的頭像 發表于 02-18 16:56 ?1023次閱讀

    【RA-Eco-RA4E2-64PIN-V1.0開發板試用】CoreMark測試RA4E2 單片機CPU性能分數

    打開coremark文件夾目錄,將以下文件復制keil工程 打開我之前建立好的串口工程 將coremark
    發表于 12-14 12:05

    C語言中的頭文件能不能重復包含

    C語言中的頭文件能不能重復包含? 比如代碼寫成這樣,stdio.h 連續包含了兩次。 #include #include int main(){ printf("helloworld
    的頭像 發表于 11-26 17:19 ?558次閱讀

    新港海岸NCS8803,HDMI to EDP帶Scaler

    NCS8803 是一款低功耗 HDMI 轉 DisplayPort/eDP 轉換器,具有先進的縮放功能,從 2:1 1:2 的小數縮放比,專為移動設備(包括平板電腦)設計,筆記本電腦、顯示器等
    的頭像 發表于 10-23 13:54 ?1418次閱讀
    新港海岸<b class='flag-5'>NCS</b>8803,HDMI to EDP帶Scaler

    TAS5711 EQ的哪些配置會導致左右聲道不一致?

    只送任一通道,低音又有輸出。請問為什么會這樣? 4.TAS5711的 GUI 軟件 ,導出EQ文件后,我需要手動改寫或添加那些寄存器MCU中?為什么無法直接生成.C.H
    發表于 10-23 08:05

    labview工程文件如何生成exe

    的LabVIEW工程已經完成開發,并且經過了充分的測試。以下是一些準備工作: 代碼優化 :優化代碼以提高執行效率和減少資源消耗。 資源管理 :確保所有使用的資源(如圖像、數據文件等)都被正確引用。 錯誤處理 :添加必要的錯誤處理
    的頭像 發表于 09-04 17:09 ?3069次閱讀

    Keil工程下改動.c文件后編譯的.o文件不更新如何解決?

    在維護公司項目的時候,打開工程下一個C文件在里面添加了一些代碼,然后點擊重新編譯后發現它的二進制O文件沒有同步更新,而其他
    發表于 09-04 10:35

    每次用env工具重新生成工程后,STM32_HAL我添加的庫文件會消失,該從哪兒添加呢?

    每次用env工具重新生成工程后,STM32_HAL我添加的庫文件會消失,那該從哪兒添加呢?
    發表于 07-18 07:04

    NCS8622 Type-C/DP1.4HDMI2.0轉換器英文手冊

    NCS8622是一款高性能低功耗的Type-C/DP1.4HDMI2.0轉換器,設計為連接USB Type-C源或DP1.4源HDMI2
    發表于 07-11 14:37 ?17次下載
    主站蜘蛛池模板: 国产精品永久免费自在线观看 | 欧美成人影院免费观 | 2021国产精品午夜久久 | 天堂资源在线最新版 | 久久久久久久免费 | 青娱乐99 | 开心激情五月婷婷 | 日韩免费毛片全部不收费 | 97超在线 | 免费久久精品国产片香蕉 | 日韩一级黄| 伊人小婷婷色香综合缴缴情 | 日本国产黄色片 | 美女一区二区三区 | 亚洲射图 | 插久久 | 韩国黄色三级视频 | 久久综合九色综合97婷婷群聊 | 亚洲精品一卡2卡3卡三卡四卡 | 黄色w站 | 国产精品高清免费网站 | 中文字幕在线观看你懂的 | aa亚洲| 日本三级欧美三级香港黄 | 国产伦精品一区二区三区 | 国产叼嘿网站免费观看不用充会员 | 狠狠干亚洲色图 | 亚洲第一久久 | 天天干人人 | 色天使色婷婷丁香久久综合 | 欧美操bb | h在线观看视频免费网站 | 精品日韩一区二区三区 | 人人插视频 | 亚洲成a人片毛片在线 | 欧美性色黄 | 天天天做天天天天爱天天想 | 高h文男主又粗又狠 | 手机看片久久 | 国产女人又爽又大 | 天天干狠狠干 |