可以由使用者支配的ram主要有程式ram和資料ram。
是用來存放**的,**存放在ram中比存放在flash(flash memory)中優勢在於讀取指令的速度快,實際上當flash中的**小於快取大小,他們之家基本沒有什麼效能差異。如果在flash中週期執行的**大小超過了程式快取大小的時候,運算速度會明顯下降,這個時候我們就可以選擇將部分**放入ram中執行,可以明顯提高運算速度。
是用來存放變數的,每個cpu都有自己的ram,cpu可以訪問自己的ram也可以訪問其他cpu的ram,那麼就有童鞋會問了,那麼幹嘛要區分你的還是我的,原因是因為跨核訪問是要增加訪問延遲的,例如cpu1去訪問cpu0的ram的行為就叫做跨核訪問。cpu訪問自己的ram是沒有延遲的,因此推薦大家使用方式為cpu都訪問自己的ram以獲得最大效能。
程式ram
//使用#pragma section all "cpu0_psram" 和 #pragma section all restore可以將函式載入到cpu0_psram
#pragma section all "cpu0_psram"
void
delay_tset
(void
)//將函式載入到cpu0_psram區域內執行
#pragma section all restore
//如果將cpu0_psram改為cpu1_psram 則函式載入到cpu1_psram區域內
//我們建議程式由哪個cpu執行,則將函式載入到在哪個區域內,預設不指定的情況下,程式都是從flash載入並執行。
//通常我們都不需要將函式放在ram執行,一般在週期執行的程式大小超過了cache後,會出現程式執行速度降低,這個時候我們就可以將部分**放入ram執行,可以提高運算速度。
資料ram
是用來存放變數的
//使用#pragma section all "cpu0_dsram" 和 #pragma section all restore可以將變數放在cpu0_dsram
//我們只需要將變數定義放在上面兩句話中間即可,使用示例如下
#pragma section all "cpu0_dsram"
uint8 test_arry[5]
;//將變數放在cpu0_dsram區域內
#pragma section all restore
/*如果將cpu0_dsram改為cpu1_dsram 則變數放在cpu1_dsram區域內,我們建議程式由哪個cpu執行,則將所使用的變數放置在哪個區域內,預設不指定的情況下變數被放置在cpu1_dsram區域 */
如何根據設計好的引數選擇乙個未知的元件
從資料手冊中篩選重要資訊
常用電子元件介紹
電阻電阻作為物理量表示電壓與電流的比例。作為電子元件時,就不僅僅只有單位是歐姆的那乙個引數了。
電阻值
額定功率
最大工作電壓
就算當前電壓下的功率沒超過額定功率,電阻兩端的電壓也不能無限制地提高會有乙個上限,這個上限就是最大工作電壓。
0 歐電阻 電容
電容值
等效串聯電阻( esr )
耐壓電解電容的壽命與紋波電流 其他
電感電感量 電流
直流電阻(dcr)
品質因數q
智慧型車競賽中常用的電感
第四周學習總結
測試器 gdb 它是gnu計畫的工具,是核心除錯所用為kgdb。程式錯誤分類主要為兩類,第一類為編譯式錯誤,即語法錯誤 第二類為執行時的錯誤,如邏輯錯誤,記憶體錯誤。gdb三大功能 執行程式,設定斷點,檢視變數。使用命令 gcc g hello.c o hello 或 gcc tui。gdb具體使用...
第四周學習總結
本週在機器學習方面主要學習了對於機器學習演算法優化的一些基本方法和思路,交叉驗證集的概念和學習曲線在高偏差或高方差情況下的不同特徵 機器學習 吳恩達 第四周 計算機視覺方面複習到了神經網路,加深了對反向傳播過程的理解,學習了卷積神經網路的基本構成,各個層次的組成。此外還學習了訓練神經網路的步驟,以及...
第四周學習總結
這周依舊主要是學習演算法和資料結構,已經開始寫一些資料結構的部落格,但是我感覺寫的不是特別好,我想寫的是能直接拿來學,能讓初學者看得懂的。這樣既可以鍛鍊我的文筆,又可以加深印象。這幾個月我感覺最深的就是 溫故而知新,可以為師矣 一本書,不管之前有沒有接觸過這方面的東西,學三遍,差不多就可以真正的把這...