欧美日本一区二区三区生,中文字幕黑人在线免费,久久996RE热这里只有精品无,91黄色视频在线下载,国产1卡2卡三卡4卡网站老狼,国产高清自拍91,日韩欧美字幕网一区二区三区四区,国产午夜三级福利左线

產品概述

  • 如何查看寄存器值

    在調試的過程中,時常需要查看寄存器值,以確認配置是否正常寫入或者手動修改某些位。

    支(zhi)持的交(jiao)互方(fang)式列舉如下。

     無論是哪種交互方式,都要注意
    • 內容只有在debug暫停時會更新
    • 寄存器對應位的讀寫屬性,如只寫位通常只能讀到 "0“

    1、通過svc文件。將芯片對應的(de)svc文件加入到工程(cheng)(部分驅動庫已經包含在chip目錄下)。

    ● 打開(kai)Peripherals Pane的(de)視圖(tu)

    ● 進(jin)入調試界面,選擇要查(cha)看的外設(she)。toggle點擊(ji)可以取消查(cha)看。

    ● 調試界面可以看到對應外設的(de)寄存器內容


    2、通過Frame Pane中(zhong)的Memory tab。如果您手中暫(zan)時沒有svc文件,也(ye)可以通過查看(kan)memory區內容獲得寄(ji)存器狀態。

    ● 確保Frame Pane處于打開狀(zhuang)態。

    ● 對(dui)照(zhao)芯片使(shi)用手(shou)冊(ce),查詢外設基地址。

    ● 定位Memory地址(zhi)。如下圖。寄存器地址(zhi)為(wei)基址(zhi)+Offset值。

  • 如何在CDK環境下加入math庫

    如果代碼要用math庫(ku)中(zhong)的函數(shu),需要做

    1、文件中 #include

    2、修改(gai)link tab的(de)內容(rong)。將連(lian)接類(lei)型改(gai)成whole-archive,并在link flags中(zhong)增加(jia) -lm,如下(xia)圖所示:


  • CDK怎么恢復默認窗口顯示配置

    如(ru)果不小(xiao)心關閉(bi)了一些顯(xian)示窗(chuang)口,比如(ru)調(diao)試(shi)時的匯編窗(chuang)口、Frame Info窗(chuang)口、Debugger窗(chuang)口……,找不到(dao)恢復地方可(ke)以使用一鍵恢復默認顯(xian)示。

    1.點(dian)擊菜單欄中的“Windows”,再點(dian)擊“Reset View to Defaults”

  • 如何把變量或函數放到指定位置

    如何實現變量的絕對定位


    CDK編譯環(huan)境(jing)使(shi)用(yong)了GNU C Complier,簡稱GCC。GCC使(shi)用(yong)ld腳本對(dui)代(dai)碼(ma)對(dui)象進行鏈接,將多個(ge)輸入文件(jian)(jian)整合成(cheng)一個(ge)輸出文件(jian)(jian)。

    在(zai)一些(xie)特(te)殊的場合,我們需要對代碼中的一些(xie)內(nei)容實(shi)現(xian)精確的定位。

    這里我們(men)分兩個方面來介(jie)紹(shao),分別是變(bian)量的絕(jue)對定(ding)位和函數(shu)(代碼段)的絕(jue)對定(ding)位。

  • 變量的絕對定位

    假(jia)設(she)要(yao)實現將(jiang)wData[] 放到程序存儲(chu)區 0x9000的(de)位置(zhi)。需要(yao)做以下兩(liang)個(ge)操作(zuo)

    1. 首(shou)先(xian)在代碼(ma)文(wen)件(jian)中,將變(bian)量歸入某個section,這個例子里(li)是(shi)FlashData段。

    __attribute__((section(".FlashData"))) const uint32_t wData[] = {0x1, 0x2}; //在(zai)這種絕對定位的(de)情況下,關鍵字 const 不(bu)是必須的(de)。

    < /FONT >

    < P >   2.  其次,要對ld文件進行修改。

    增加(jia)以下內容,將(jiang)FlashData段起(qi)始地(di)址(zhi)定位(wei)在(zai)0x9000。

    .FlashData 0x9000:
    {
    . = ALIGN(0x4) ;
    *(.FlashData)
    *(.FlashData.*)
    } > ROM

    再(zai)重新編(bian)譯,就(jiu)可以(yi)在map文(wen)件上看到:

  • 函數加載到RAM區

    有時候,會希望有一(yi)些代碼可(ke)以快速(su)取址并運行。其中一(yi)個實現的方法是把函(han)數(shu)定位(wei)到(dao)RAM區。

    假設(she)要實現將(jiang)function() 放到(dao)RAM。需要做以下(xia)兩(liang)個操作(zuo):

    1. 首(shou)先在代碼文(wen)件(jian)中,將函數歸入某(mou)個section,這個例子(zi)里是codeinram段(duan)。

    __attribute__((section(".codeinram"))) void function1(void);

    2.  其次(ci),要對ld文件進行修改。

  • 庫程序編譯報錯

    1、如(ru)果拿到(dao)的庫程序第(di)一次編譯報錯(cuo),錯(cuo)誤提示如(ru)下:



    這是(shi)因為(wei)庫發布時帶了一些編譯選項,點擊CDK“清除”快捷按鈕清除一下(xia)工程,再重(zhong)新(xin)編譯即可。

  • 基本連接方法

    1、芯片(pian)放在燒錄器(qi)上(shang)燒寫時需關注(zhu)芯片(pian)放置的位置,有(you)沒有(you)放反等等。

    2、芯片(pian)在板燒寫(xie)時,需要(yao)注意

    ● 燒寫(xie)需(xu)要用到的5個信號(VDD,VSS,SWD,SWCLK,RST)有(you)沒有(you)都連(lian)到燒寫(xie)器上

    ● VDD和(he)VSS之(zhi)間的(de)電(dian)(dian)(dian)容(rong)有(you)沒有(you)超(chao)過100uF,超(chao)過的(de)話可能(neng)需要在燒錄(lu)器這邊的(de)VDD和(he)VSS之(zhi)間并個小(xiao)電(dian)(dian)(dian)容(rong)(如(ru)500ohm)來對板子上(shang)的(de)大電(dian)(dian)(dian)容(rong)進行放電(dian)(dian)(dian)

    ● SWD,SWCLK和RST線的路徑上有沒有串電阻或并電容,這些都會影響燒寫時序。電路設計時要盡量避免這樣的電路。  如果應用上不得不有這些阻容,電容<101pF,電阻<1Kohm

  • 錯誤提示

    1、 可能的(de)原因是沒有選擇正確(que)的(de)下載文件(jian),或者下載文件(jian)的(de)長度為0。

  • CDK可以燒錄,燒錄器燒錄失敗

    當(dang)遇到(dao)CDK環境下可以燒(shao)(shao)錄(lu)(lu)代碼,但是拿到(dao)燒(shao)(shao)錄(lu)(lu)器上反而提示燒(shao)(shao)錄(lu)(lu)失敗的(de)現象時,請(qing)檢(jian)查:

    ihex文件的(de)(de)大小(xiao)是不(bu)是超過(guo)了芯(xin)片的(de)(de)最大DROM size?

    如果(guo)超過了,再(zai)檢查ld文(wen)件,是(shi)不是(shi)出現了段定義錯誤?如下面ROM段的(de)LENGTH。


    MEMORY

    {

    ROM(RX)   : ORIGIN = 0x00000000, &nbsp;LENGTH = 64K

    RAM(RWX)  : ORIGIN = 0x20000000,  LENGTH = 4K

    }