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

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

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

3天內不再提示

同樣的代碼在官方開發板上運行正常,在自己板子上就跑不起來,怎么辦?

jf_14701710 ? 來源:jf_14701710 ? 作者:jf_14701710 ? 2025-05-12 15:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

同樣的代碼在Nordic官方開發板上可以運行正常,但在自己板子上就跑不起來,如果你碰到了上述情況,建議按照如下步驟進行自檢:

首先確認用戶板元器件焊接良好,功能正常。如果你的板子有LED的話,你可以下載Blinky程序去點亮它,Blinky程序所在SDK目錄為:SDK安裝目錄examplesperipheralblinky。如果你的板子沒有LED,但有UART的話,可以下載CLI代碼去進行UART交互,CLI代碼所在目錄為:SDK安裝目錄examplesperipheralcli。如果這2個程序能運行正常,說明你的焊接問題不大。

確認高頻晶振工作正常。由于射頻一定要用到外部高頻晶振,建議用示波器測一下高頻晶振是否可以正常起振,以確保高頻晶振工作沒問題。這里需要注意的是,Nordic nRF5芯片高頻時鐘默認使用內部RC作為時鐘源,為了讓外部高頻晶振起振,必須使用代碼顯式地打開高頻晶振,可以使用如下2種方式之一來顯式地打開高頻高精度外部晶振:

API方式

ret_code_t err_code = nrf_drv_clock_init();
ASSERT((err_code == NRF_SUCCESS) || (err_code == NRF_ERROR_MODULE_ALREADY_INITIALIZED));

nrf_drv_clock_hfclk_request(NULL);
while (!nrf_drv_clock_hfclk_is_running())
{
        // spin lock
}

直接操作寄存器方式

NRF_CLOCK->EVENTS_HFCLKSTARTED = 0;

NRF_CLOCK->TASKS_HFCLKSTART = 1;

while (NRF_CLOCK->EVENTS_HFCLKSTARTED == 0);

確認有沒有燒寫softdevice以及softdevice版本是否正確。請使用SDK里面自帶的softdevice進行測試

確認有沒有外部低頻32K晶振。Softdevice默認使用外部32K晶振作為低頻時鐘,如果你的板子沒有外部32K晶振,那么需要更改協議棧默認初始化參數,將低頻時鐘改為內部RC 32K。最新版本SDK需要更改sdk_config.h文件中的如下地方:

wKgZPGghopyAFb6gAAF3R5HPIFk806.pngwKgZO2ghop2AUYPfAAHdSG09Xkc815.png

老版本SDK(SDK13之前)直接在源文件中做如下更改:

                  nrf_clock_lf_cfg_t clock_lf_cfg = NRF_CLOCK_LFCLKSRC;

                 clock_lf_cfg.source = NRF_CLOCK_LF_SRC_RC;

                 clock_lf_cfg.rc_ctiv = 16;

                 clock_lf_cfg.rc_temp_ctiv = 2;
               //nRF52為2;nRF51為1;詳情請看SDK相關頭文件說明

確認有沒有打開DCDC模式。軟件打開了DCDC模式,而用戶板又沒有DCDC相關外圍電路,那么板子跑不起來也就正常了。如果屬于這種情況,把軟件中的調用語句:sd_power_dcdc_mode_set(NRF_POWER_DCDC_ENABLE),刪掉即可。

確認用戶板芯片型號和DK上的芯片型號是不是一致。nRF51/nRF52系列里面包含多個子產品,每個子產品之間Flash或者RAM空間會有所不同。Nordic DK使用了資源最大最全的那個型號,如果你選擇的型號Flash空間或者RAM空間跟DK上的不一樣,那么你需要將工具鏈的鏈接腳本中Flash和RAM的值進行相應調整,其中Keil調整Flash和RAM空間的界面如下所示:

wKgZPGghop6AQKU7AAFy1kdqjwc963.png

確認用戶板引腳定義有沒有與DK相沖突。nRF5芯片在用戶板上有可能與傳感器,顯示屏,GPRS模塊,按鍵等相連,這其中用到的IO引腳有可能被固件初始化為其他用途,比如UART日志打印,也就是說,同樣的引腳,用戶板定義的功能和DK定義的功能不一致,所以DK可以正常運行,而用戶板無法正常運行。此時一定要把相關引腳按照用戶板的設計目的重新初始化,這樣就可以解決這個沖突問題。常見的資源定義沖突有:

buttons_leds_init()函數。buttons_leds_init會將某些IO口定義為按鍵和LED,如果用戶板和DK定義不一樣,有可能會出問題。

uart_init()。當采用uart打印log的時候,固件程序會對uart進行初始化,此時有可能會導致資源定義沖突,比如用戶板將相關uart引腳用于其他功能,從而導致板子跑不起來。

SPI,TWI等其他外設資源定義沖突。必須確保所有外設引腳定義跟用戶板一致,而不是使用DK默認值,否則有可能導致用戶板跑不起來。

請確認外部高頻晶振的頻率。這個只有nRF51有這個檢查項,nRF52不存在這個問題,如果你使用的是nRF52的話,可以跳過這項不看。nRF51同時支持16M和32M外部晶振(注:nRF52只支持32M外部晶振),而且系統默認外部晶振為16M,如果你選擇的外部晶振是32M,那么需要在軟件中對其進行額外配置,否則系統跑不起來。此種情況有2種解決方法:

方法1。修改UICR中的寄存器XTALFREQ,由于UICR是Flash,對UICR的修改可以和代碼下載合并在一塊去做。(推薦使用方法1)

方法2。在main函數的開始處,加入NRF_CLOCK->XTALFREQ=0x00,即可。

最后也是最重要的,debug問題具體出在哪,你可以通過打日志方式進行debug,也可以通過IDE的debug功能去調試,具體請參考:如何調試nRF5 SDK。記住,定位問題的時候,一定要定位到問題具體出在哪一行代碼,而不是某個函數,否則問題就不算定位成功。問題沒有定位成功,當然就無從下手去解決它。反之,定位到出問題的代碼行,你自己就可以很快分析問題原因所在,從而快速解決它。

審核編輯 黃宇

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

    關注

    26

    文章

    6289

    瀏覽量

    118058
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1101

    瀏覽量

    51714
  • Nordic
    +關注

    關注

    9

    文章

    256

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    智能顯示模塊電后顯示“No Project”怎么辦

    智能顯示模塊電后顯示“No Project”怎么辦
    發表于 01-20 15:20

    【RA4M2-SENSOR開發板評測】使用QE工具配置觸摸按鍵

    本期來使用瑞薩官方的QE工具嘗試對開發板的兩個電容按鍵進行配置。
    的頭像 發表于 12-10 17:14 ?2681次閱讀
    【RA4M2-SENSOR<b class='flag-5'>開發板</b>評測】使用QE工具配置觸摸按鍵

    如何自己設計一個基于RISC-V的SoC架構,最后可以FPGA起來

    如何自己設計一個基于RISC-V的SoC架構,最后可以FPGA起來
    發表于 11-11 08:03

    RV-STAR開發板使用JLink連接,什么原因?

    用Type C連接RV-STAR開發板下載和調試都OK,但是使用JLink連接,按照Nuclei Studio IDE 使用說明Release 2020.09 的操作,同時也按論壇
    發表于 11-07 07:27

    windows用Eclipse IDE調試蜂鳥E203,用的開發板是哪個型號的?

    windows用Eclipse IDE調試蜂鳥E203,用的開發板是哪個型號的,有哪位大佬調試出來了,求告知
    發表于 11-07 07:19

    Windows10運行vivado使用tcl文件創建E203項目路徑錯誤的問題

    prologue_setup.tcl文件后,都會出現文件路徑匹配,總是路徑前多出一個盤符加冒號,類似“e:e:....”,所以查閱了相關資料后,手動將prologue_setup.tcl文件中的
    發表于 10-28 07:19

    Cherry USB可以cortex-A7 開發板使用嗎?

    請教下 Cherry USB 可以cortex-A7 開發板使用嗎
    發表于 09-25 06:24

    Adafruit 4343 開發板紅色 LED 閃爍, 且屏幕工作, 怎么解決?

    Adafruit 4343 開發板紅色 LED 閃爍, 且屏幕工作, 該怎么辦
    發表于 09-08 07:19

    【匯思博SEEK100開發板試用體驗】開發板鴻蒙OS搭建QT開發環境

    安裝和運行。 (四)部署到 SEEK100 開發板 1. 使用 USB 數據線將 SEEK100 開發板與電腦連接,確保開發板處于正常工作狀
    發表于 08-24 18:34

    起來玩轉CW32L011無刷直流電機驅動開發板

    、體驗總結 CW32生態社區推出的這個CW32L011無刷直流電機驅動開發板,板子上接口功能還是比較全面的,硬件基本相當于產品級的了,另外板子
    發表于 08-21 23:04

    【飛凌T527N開發板試用】QT應用開發

    點擊左下角 錘子?圖標 就可以交叉編譯項目。 編譯出的arm架構可執行文件如下: 將目標文件發送到開發板。 開發板運行,自定義的
    發表于 08-19 15:04

    【干貨分享】M-K1HSE開發板使用SecureCRT工具進行調試

    SecureCRT是一款支持SSH協議的終端仿真軟件,可通過串口或網口對開發板系統信息進行查看、對開發板系統進行調試等。
    的頭像 發表于 08-12 08:07 ?1477次閱讀
    【干貨分享】<b class='flag-5'>在</b>M-K1HSE<b class='flag-5'>開發板</b><b class='flag-5'>上</b>使用SecureCRT工具進行調試

    V2板子上部署豆包模型調試指南

    我們將修改好的代碼,上傳到板子,之后終端上運行我們的程序。板子一定要先連接Wi-Fi,再去
    發表于 05-25 10:17

    i.MX RT 1176正常運行代碼時與使用IAR調試代碼時存在一些奇怪的差異,為什么?

    i.MX RT 1176 正常運行代碼時的行為與使用 IAR 調試代碼時的行為之間存在一
    發表于 03-17 07:26

    STM32F103RBT6開發板每次程序都得重新燒錄才能正常運行,如何解決?

    每次板子都得重新燒錄程序才能運行起來。第一次燒錄完程序后,能正常運行,等我把開關斷開再打開,程序就基本
    發表于 03-11 07:40