国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    22

    瀏覽量

    9393
  • Nordic
    +關注

    關注

    9

    文章

    256

    瀏覽量

    49016
  • Zephyr
    +關注

    關注

    0

    文章

    58

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深入解析onsemi NCS2016x系列運放:高性能與多應用的完美結合

    作為電子工程師,在日常設計工作中,選擇合適的運算放大器(op amp)至關重要。今天就來和大家詳細探討onsemi的NCS20161、NCS20162、NCS20164以及對應的NCV
    的頭像 發表于 12-03 13:52 ?396次閱讀
    深入解析onsemi <b class='flag-5'>NCS</b>2016x系列運放:高性能與多應用的完美結合

    GCC開發工程的模版

    的interrupts_cw32l083.h。 10、修改Libraries/Libraries.mk文件內容,主要是文件夾的名稱重新定位。 # 模塊名_DIR 是上一層傳遞下來的參數, # 是從
    發表于 11-28 08:15

    RISC-V GCC編譯,如何添加math.h文件

    在使用一些數學函數(例如exp)時,需要添加math.h文件 risc-v embedded gcc在添加math.h函數時,會到risc
    發表于 11-10 07:50

    基于蜂鳥E203添加完外設后軟件頭文件添加過程

    對應的頭文件,才可以在軟件代碼里調用。platform.h文件定義了SoC平臺相關的宏定義。在里面添加下圖所示代碼。 AES_CTRL_ADDR _AC(0x10041000,U
    發表于 10-30 06:48

    NCS隨筆】如何進入system_off深度睡眠模式以及配置GPIO中斷喚醒

    入system_off模式 在prj.conf里面添加 CONFIG_POWEROFF=y 在主函數文件調用如下頭文件 #include 即可使用進入system_off模式的函數
    的頭像 發表于 09-29 00:56 ?750次閱讀
    【<b class='flag-5'>NCS</b>隨筆】如何進入system_off深度睡眠模式以及配置GPIO中斷喚醒

    LCD屏幕無法正確顯示效果如何解決?

    的rtthread的標準工程。 2.找到正點原子例程:實驗14 LTDC LCD(RGB屏)實驗,然后將目錄下面的驅動移動到rtthread例程的: 3.修改SDRAM和LCD中.c.h的頭文件,例如
    發表于 09-25 08:16

    更改RT-Thread Settings后,applications下文件丟失怎么解決?

    工程的applications目錄下添加了自己的.c和子目錄,子目錄中也有.h和.c,編譯下載都正常。此時由于需要新增一些軟硬件模塊,通過
    發表于 09-22 06:47

    RT-thread studio添加新的軟件包和新的文件出錯怎么解決?

    從模板工程中,添加新的軟件包時,點擊同步scons配置至項目出現報錯 另外,添加新創文件夾后,點擊添加至構建,并沒有效果 是否是需要新
    發表于 09-19 06:02

    RTT如何添加文件夾并加入編譯?

    想把一個新的工程文件夾(包含若干個源文件和頭文件)放入同一個工程內編譯。 試了下把在文件系統
    發表于 09-15 07:50

    【匠芯創D133CBS KunLun Pi開發板試用體驗】+添加用戶APP文件夾到構建系統

    c文件構建系統,遞歸添加子目錄的c文件構建系統
    發表于 09-11 16:36

    NCS隨筆】NCS使用CJSON庫

    NCS隨筆】NCS使用CJSON庫 這個文章講一下在NCS上面如何使用JSON庫,我使用Hello_world例程添加庫 宏的配置 CONFIG_LOG =y
    的頭像 發表于 08-13 15:12 ?636次閱讀
    【<b class='flag-5'>NCS</b>隨筆】<b class='flag-5'>NCS</b>使用CJSON庫

    VScode使用STM32CUBE CLT如何添加靜態庫.a文件工程中?

    我使用VScode搭配ST的插件基于Cmake來編譯和調試程序,我感覺非常方便。但是遇到一個問題,我不知道如何把.a后綴的靜態庫文件添加工程中。有沒有大佬可以幫忙解決一下。
    發表于 08-12 07:36

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

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

    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