女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-02-29 16:32 ? 次閱讀

將變量、數(shù)組(例如表或函數(shù))存儲(chǔ)到特定地址的原因有很多。

校驗(yàn)和可能需要位于某個(gè)地址,可能需要將函數(shù)放在特定的內(nèi)存位置,根據(jù)使用的編譯器,可以選擇設(shè)置特定的內(nèi)存區(qū)域。

這個(gè)問(wèn)題是在前面分享文章《STM32開(kāi)發(fā)工具之STM Studio調(diào)試和診斷工具講解》之后,有讀者提出來(lái)的問(wèn)題。

我需要在固定的內(nèi)存地址找到一個(gè)變量,如何使用C源代碼執(zhí)行此操作?

一、回顧STMStudio

前不久分享STMStudio文章之后,很多朋友對(duì)這個(gè)工具比較感興趣,也第一時(shí)間下來(lái)安裝使用了該工具。

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

STMStudio可管理四種變量:

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

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

?表達(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ì)值。

?包含用戶(hù)可配置信息的插件變量。

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

可以看得出來(lái),局部變量是不支持的。

J-Scope

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

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

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

二、回歸主題

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

不同的編譯器,會(huì)有不同的方法,這里主要結(jié)合MDK說(shuō)下基于AC5和AC6編譯,簡(jiǎn)述其中的方法。

結(jié)合STM32F103ZE,有64K(0x10000)內(nèi)存。

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)行查看指定地址變量了:

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9304

    瀏覽量

    374886
  • keil
    +關(guān)注

    關(guān)注

    69

    文章

    1223

    瀏覽量

    168949
  • MDK
    MDK
    +關(guān)注

    關(guān)注

    4

    文章

    211

    瀏覽量

    32499
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Keil MDK到IAR EWARM:通過(guò)工程遷移實(shí)現(xiàn)項(xiàng)目資產(chǎn)的更好管理

    對(duì)于需要統(tǒng)一開(kāi)發(fā)環(huán)境或涉及多核架構(gòu)(如Cortex-A/R)的項(xiàng)目,越來(lái)越多的用戶(hù)選擇從Keil MDK遷移到IAR EWARM。這就會(huì)面臨著需要將之前的Keil MDK工程遷移到IA
    的頭像 發(fā)表于 05-08 09:03 ?284次閱讀
    從<b class='flag-5'>Keil</b> <b class='flag-5'>MDK</b>到IAR EWARM:通過(guò)工程遷移實(shí)現(xiàn)項(xiàng)目資產(chǎn)的更好管理

    Keil uVision 5安裝包下載,詳細(xì)安裝教程~

    目錄(覆蓋原有文件)。 ISIS中啟用\"Use Remote Debug MONITOR\",Keil for ARM選擇\"Proteus VSM
    發(fā)表于 03-15 12:10

    starvision2上移植FreeRTOS,objdump后發(fā)現(xiàn)static變量地址是0,怎么解決?

    以下內(nèi)容為評(píng)論 我是嵌入式的新手,目前打算freeRTOS移植到starvision2上。 但是鏈接的時(shí)候遇到一個(gè)問(wèn)題。 main.c:74:(.text+0x26): relocation
    發(fā)表于 03-10 07:21

    【RA-Eco-RA4E2-64PIN-V1.0開(kāi)發(fā)板試用】+KEIL+RASC 開(kāi)發(fā)環(huán)境搭建

    、安裝keil編譯環(huán)境 Keil([MDK-ARM] 的下載頁(yè)面為[https://www.keil.com/download/product/]
    發(fā)表于 01-15 21:21

    Keil詳細(xì)安裝教程(同時(shí)兼容51與STM32)

    安裝目錄創(chuàng)建兩個(gè)文件夾,一個(gè)用于存放c51 版keil,一個(gè)用于存放armkeil 。 1) 安裝c51 版keil 1. 安裝包以c
    的頭像 發(fā)表于 11-26 11:26 ?1.6w次閱讀
    <b class='flag-5'>Keil</b>詳細(xì)安裝教程(同時(shí)兼容51與STM32)

    分享一個(gè)keil MDK編譯信息增強(qiáng)工具

    今天給大家分享一個(gè) keil MDK 編譯信息增強(qiáng)工具:keil-build-viewer. 1 keil-build-viewer介紹 這是一個(gè)
    的頭像 發(fā)表于 11-14 11:01 ?1573次閱讀

    新唐科技率先發(fā)布免費(fèi)版Arm Keil MDK,助力嵌入式開(kāi)發(fā)

    2024年11月5日,新唐科技正式推出了免費(fèi)版的Arm? Keil? MDK Nuvoton Edition,成為全球首家向開(kāi)發(fā)者提供Keil MD
    的頭像 發(fā)表于 11-06 11:07 ?2137次閱讀

    labview如何獲取到圖像的內(nèi)存地址

    請(qǐng)問(wèn)各位大佬們,labview如何獲取到圖像的內(nèi)存地址,以便的別的語(yǔ)言中根據(jù)這個(gè)內(nèi)存地址中的圖片進(jìn)行處理?
    發(fā)表于 10-04 18:59

    keil軟件實(shí)現(xiàn)編程仿真需要哪些步驟

    Keil MDK-ARM 的主要 IDE。創(chuàng)建新項(xiàng)目時(shí),您需要選擇正確的設(shè)備和工具鏈。 選擇“File” > “New uVision Project”。 彈出的對(duì)話(huà)框中,選擇
    的頭像 發(fā)表于 09-02 10:28 ?2225次閱讀

    怎樣keil中的程序?qū)С?/a>

    1. 準(zhǔn)備工作 開(kāi)始導(dǎo)出程序之前,需要確保已經(jīng)完成了以下準(zhǔn)備工作: 安裝Keil MDK-ARM軟件。 創(chuàng)建一個(gè)新的項(xiàng)目,并添加所需的源文件和庫(kù)文件。 配置項(xiàng)目設(shè)置,包括芯片型號(hào)、編譯器選項(xiàng)、鏈接
    的頭像 發(fā)表于 09-02 10:23 ?4228次閱讀

    keil5怎么利用sys進(jìn)行配置ti環(huán)境

    用TI ARM工具鏈: Keil MDK-ARM中,您需要配置工具鏈以使用TI ARM工具鏈。為此,請(qǐng)按照以下步驟操作: a. 打開(kāi)
    的頭像 發(fā)表于 09-02 10:19 ?1027次閱讀

    keil5怎么給ti燒錄程序

    安裝Keil MDK-ARM軟件: 訪(fǎng)問(wèn)Keil官方網(wǎng)站(https://www.keil.com/)并下載Keil
    的頭像 發(fā)表于 09-02 10:18 ?1917次閱讀

    Keil變量不被初始化方法

    有些時(shí)候我們的應(yīng)用過(guò)程中要求變量有連續(xù)性,或者現(xiàn)場(chǎng)保留,例如Bootloader跳轉(zhuǎn),某種原因的復(fù)位過(guò)程中我們有些關(guān)鍵變量不能被初始化,不同的編譯環(huán)境下有不同的設(shè)置,本文就這個(gè)操作
    的頭像 發(fā)表于 08-30 11:47 ?1260次閱讀
    <b class='flag-5'>Keil</b>中<b class='flag-5'>變量</b>不被初始化方法

    keil5怎么把程序燒到板子上

    安裝Keil MDK-ARM: 從Keil官網(wǎng)下載Keil MDK-ARM安裝包。 按照安裝向?qū)瓿砂惭b。 連接開(kāi)發(fā)板:
    的頭像 發(fā)表于 08-22 09:30 ?5141次閱讀

    如何用keil給單片機(jī)燒錄程序

    以下是詳細(xì)的步驟: 安裝Keil軟件 : 首先,您需要從Keil官網(wǎng)下載適合您單片機(jī)型號(hào)的MDK-ARM軟件。 安裝過(guò)程中,請(qǐng)按照提示操作,選擇適合您的開(kāi)發(fā)板和單片機(jī)型號(hào)。 創(chuàng)建新項(xiàng)目 : 打開(kāi)
    的頭像 發(fā)表于 08-22 09:28 ?6519次閱讀