日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > strongerHuang
[導(dǎo)讀]變量是程序中重要的一部分,產(chǎn)品中很多業(yè)務(wù)代碼都是變量起到了關(guān)鍵作用。傳感器采集的數(shù)據(jù)、通信中傳輸?shù)臄?shù)據(jù)、算法中的數(shù)據(jù)等這些數(shù)據(jù)都需要借助變量這個(gè)東西來實(shí)現(xiàn)。我們?yōu)槭裁匆獙⒆兞俊?shù)組(例如表或函數(shù))存儲(chǔ)到特定的地址?


關(guān)注+星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容

作者 | strongerHuang
微信公眾號(hào) | strongerHuang

變量是程序中重要的一部分,產(chǎn)品中很多業(yè)務(wù)代碼都是變量起到了關(guān)鍵作用。


傳感器采集的數(shù)據(jù)、通信中傳輸?shù)臄?shù)據(jù)、算法中的數(shù)據(jù)等這些數(shù)據(jù)都需要借助變量這個(gè)東西來實(shí)現(xiàn)。


我們?yōu)槭裁匆獙?span style="letter-spacing: 1.5px;text-align: left;">變量、數(shù)組(例如表或函數(shù))存儲(chǔ)到特定的地址?


因?yàn)橛行┨厥獾臄?shù)據(jù)可能需要指定地址,比如加密的密鑰、校驗(yàn)和等這些數(shù)據(jù)可能需要存儲(chǔ)在指定內(nèi)存。


1

變量查看工具

在描述將變量?jī)?chǔ)存在指定內(nèi)存地址之前,我們先來描述一下查看變量的工具(通過工具可以查看變量的值)


1.STMStudio

之前給大家分享過《STM Studio調(diào)試和診斷工具講解》。


這里簡(jiǎn)單說一下STMStudio與本文相關(guān)的內(nèi)容:變量。


STMStudio可管理四種變量:

1.由物理存儲(chǔ)地址標(biāo)識(shí)的絕對(duì)變量。

2.能夠計(jì)算絕對(duì)變量的最小值、最大值、平均值和標(biāo)準(zhǔn)差等值的統(tǒng)計(jì)變量。

3.表達(dá)式變量是數(shù)學(xué)表達(dá)式計(jì)算的結(jié)果。表達(dá)式是絕對(duì)變量或統(tǒng)計(jì)變量與數(shù)學(xué)運(yùn)算符(+,-,*,/…)的組合,例如:(Variable1+Variable2)*Variable3。注意,表達(dá)式變量是在統(tǒng)計(jì)變量之后求值的,因此不可能計(jì)算表達(dá)式的統(tǒng)計(jì)值。

4.包含用戶可配置信息的插件變量。


(為了節(jié)約時(shí)間,使用有道翻譯的句子,大家請(qǐng)結(jié)合原文理解)


可以看得出來,局部變量是不支持的。


2.J-Scope

這個(gè)STMStudio工具和J-Scope有類似之處,也能查看變量、波形:



J-Scope也是一個(gè)不錯(cuò)的工具,大家可以下載安裝試試:

https://www.segger.com/products/debug-probes/j-link/tools/j-scope


2

Keil MDK如何將變量存儲(chǔ)在指定內(nèi)存地址?

不同的編譯器,實(shí)現(xiàn)的方法可能不同,這里主要結(jié)合MDK說下基于AC5和AC6編譯,簡(jiǎn)述其中的方法。


1.針對(duì)AC5(ARMCC Compiler version 5.x)

定義一個(gè)變量cnt到指定內(nèi)存地址:0x20008000

uint8_t cnt __attribute__((at(0x20008000)));


2.針對(duì)AC6(ARM Compiler 6 (又名ARMCLANG))

定義一個(gè)變量cnt到指定內(nèi)存地址:0x20008000

uint8_t cnt __attribute__((section(".ARM.__at_0x20008000")));


這個(gè)地方進(jìn)行分段:


這樣指定內(nèi)存地址,即可使用STMStudio進(jìn)行查看指定地址變量了:


好了,先寫到這里,希望對(duì)大家有幫助。


------------?END?------------


推薦閱讀:
如何編寫ARM處理器的Bootloader
SEGGER的三款RTOS有什么特點(diǎn)?
幾款優(yōu)秀的支持C、C++等多種語(yǔ)言的在線編譯器

關(guān)注 微信公眾號(hào)『strongerHuang』,后臺(tái)回復(fù)“1024”查看更多內(nèi)容,回復(fù)“加群”按規(guī)則加入技術(shù)交流群。


長(zhǎng)按前往圖中包含的公眾號(hào)關(guān)注


點(diǎn)擊“ 閱讀原文 ”查看更多分享,歡迎點(diǎn)分享、收藏、點(diǎn)贊、在看。

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉