在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

如何獲取入口函數(shù)不是__iar_program_start的Program entry的stack使用情況

IAR愛亞系統(tǒng) ? 來源:IAR愛亞系統(tǒng) ? 2024-11-25 16:23 ? 次閱讀

問題

IAR中默認(rèn)的入口函數(shù)是__iar_program_start,使能stack usage analysis之后:

4bbbb162-a305-11ef-93f3-92fbcf53809c.png

生成的map文件中STACK USAGE章節(jié)里面會包含Program entry的stack使用相關(guān)信息

4bce15fa-a305-11ef-93f3-92fbcf53809c.png

如果對應(yīng)啟動代碼沒有使用默認(rèn)的入口函數(shù)__iar_program_start,需要使用--entry鏈接器選項(xiàng)指定對應(yīng)的入口函數(shù)(以使用入口函數(shù)Reset_Handler為例):

4bdbbf20-a305-11ef-93f3-92fbcf53809c.png

但是使能stack usage analysis之后,生成的map文件中STACK USAGE章節(jié)里面沒有包含Program entry的stack使用相關(guān)信息:

4bfe9c16-a305-11ef-93f3-92fbcf53809c.png

4c09c6ea-a305-11ef-93f3-92fbcf53809c.png

原因

正常來說,編譯器可以生成每個函數(shù)的調(diào)用和stack使用信息,鏈接器可以計(jì)算出每個根函數(shù)的最大stack使用。但是如果源代碼是用匯編寫的,那么對應(yīng)函數(shù)的調(diào)用和stack使用信息需要用戶指定(如果用戶不指定,鏈接器沒有辦法知道對應(yīng)的信息,從而沒有辦法計(jì)算出對應(yīng)的最大stack使用)。

4c2e4fba-a305-11ef-93f3-92fbcf53809c.png

解決辦法

需要在對應(yīng)的stack usage control file (suc)里面指定對應(yīng)的函數(shù)調(diào)用和stack使用信息:

4c540cd2-a305-11ef-93f3-92fbcf53809c.png

對應(yīng).suc文件中指定對應(yīng)的信息:

/* Specify Reset_Handler as the Program entry */
call graph root ["Program entry"]: Reset_Handler;


/* Specify Reset_Handler will call SystemInit and __iar_program_start */
function Reset_Handler: 0, a
  calls SystemInit,
  calls __iar_program_start;
生成的map文件中STACK USAGE章節(jié)里面會包含Program entry的stack使用相關(guān)信息:

4c66eafa-a305-11ef-93f3-92fbcf53809c.png

注意:上面的情況是基于如下的啟動代碼:

Reset_Handler


        LDR     R0, =SystemInit
        BLX     R0
        LDR     R0, =__iar_program_start
        BX      R0
如果對應(yīng)的啟動代碼沒有調(diào)用__iar_program_start,那么suc文件里面需要指定入口函數(shù)調(diào)用的所有函數(shù):
/* Specify Reset_Handler will call init_data_bss, SystemInit, startup_go_to_user_mode and main */
function Reset_Handler: 0,
  calls init_data_bss,
  calls SystemInit,
  calls startup_go_to_user_mode,
  calls main;
生成的map文件中STACK USAGE章節(jié)里面會包含Program entry的stack使用相關(guān)信息:

4c80e3ba-a305-11ef-93f3-92fbcf53809c.png

參考文獻(xiàn):

1.IAR C/C++ Development Guide (Stack usage analysis)

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

    關(guān)注

    5

    文章

    354

    瀏覽量

    36781
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4346

    瀏覽量

    62979

原文標(biāo)題:如何獲取入口函數(shù)不是__iar_program_start的Program entry的stack使用情況

文章出處:【微信號:IAR愛亞系統(tǒng),微信公眾號:IAR愛亞系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    LMX2592正常使用情況下溫度大概有多少?

    你好,LMX2592如果將 OUTA_PD = 1;OUTB_PD = 1;為什么芯片還是很燙,正常使用情況下溫度大概有多少,對于溫度的變化可以提供一下參考嗎
    發(fā)表于 11-08 08:32

    TPLD-PROGRAM用戶指南

    電子發(fā)燒友網(wǎng)站提供《TPLD-PROGRAM用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 10-30 09:57 ?0次下載
    TPLD-<b class='flag-5'>PROGRAM</b>用戶指南

    TMS320C64x在高性能DSP應(yīng)用中的高速緩存使用情況

    電子發(fā)燒友網(wǎng)站提供《TMS320C64x在高性能DSP應(yīng)用中的高速緩存使用情況.pdf》資料免費(fèi)下載
    發(fā)表于 10-21 09:43 ?0次下載
    TMS320C64x在高性能DSP應(yīng)用中的高速緩存<b class='flag-5'>使用情況</b>

    tc377燒錄時連接正常,但Program失敗了,為什么?

    使用DAP MiniWiggler+Memtool對TC377進(jìn)行燒錄時,Connection正常后,在Program All時,Progress進(jìn)度條無任何進(jìn)度,無法將軟件燒錄進(jìn)去。請問
    發(fā)表于 07-23 06:26

    Banana Pi BPI-M7 RK3588開發(fā)板在 Linux 上檢查 Rockchip NPU 使用情況

    如下介紹如何監(jiān)控 Rockchip 設(shè)備的 NPU 使用情況。 如今,新型設(shè)備開始配備內(nèi)置 AI 芯片。“AI 芯片”的正確技術(shù)術(shù)語是 NPU,即神經(jīng)處理單元。 如果您有板載 NPU
    的頭像 發(fā)表于 07-11 16:47 ?488次閱讀
    Banana Pi BPI-M7 RK3588開發(fā)板在 Linux 上檢查 Rockchip NPU <b class='flag-5'>使用情況</b>

    IAR中生成庫文件并被應(yīng)用工程調(diào)用的參考流程(下)

    在Linker → Library界面勾選Override default program entry,勾選Entry symbol,并填入以下內(nèi)容
    的頭像 發(fā)表于 05-22 14:38 ?3221次閱讀
    在<b class='flag-5'>IAR</b>中生成庫文件并被應(yīng)用工程調(diào)用的參考流程(下)

    如何查看TC397內(nèi)存的使用情況

    Hi,請問,如何查看 TC397 內(nèi)存的使用情況?謝謝!
    發(fā)表于 05-22 07:50

    使用cyble222014測試藍(lán)牙通信,使用mini program4 5pin端口編程顯示未獲取Psoc設(shè)備,為什么?

    我正在使用芯片cyble222014測試藍(lán)牙通信,目前正在使用 mini program4 5pin 端口編程,但它顯示未獲取 Psoc 設(shè)備,我已仔細(xì)檢查了各處的連接,因此任何人都明白這是怎么回事,出了什么問題,非常感謝。
    發(fā)表于 05-21 07:16

    建立更多的全局變量的時候,如何使得PROGRAM SIZE不增大呢?

    今天發(fā)現(xiàn),建立更多的全局變量的時候,PROGRAM SIZE同時也增大了,如何使得PROGRAM SIZE不增大呢?我對全局變量的初始化無要求。
    發(fā)表于 05-15 06:30

    可以從下面的圖看出我的工程flash和ram的使用情況嗎?

    芯片是:dspf28335;可以從下面的圖看出我的工程flash和ram的使用情況嗎?感覺flash還可以,ram有點(diǎn)不夠用了,請求大師指點(diǎn),如何分析?
    發(fā)表于 05-11 10:11

    IAR FOR ARM和IAR FOR STM8無法共存怎么解決?

    IAR Embedded Workbench,CD 找了原程序,發(fā)現(xiàn)IAR FOR ARM和FOR STM8安裝完后,都叫IarIdePm.exe。 安裝完后,F(xiàn)OR ARM在C:Program
    發(fā)表于 04-07 07:39

    STM32F303啟動文件中的Stack_Size和Stack_Mem如何在C代碼中獲取其地址或值?

    為了在業(yè)務(wù)代碼中監(jiān)控系統(tǒng)的堆棧使用情況,想在業(yè)務(wù)代碼中獲取Stack_Mem的內(nèi)存地址和Stack_Size的值。目前定義如下:可實(shí)現(xiàn)讀取棧地址但無法讀取棧大小 extern unsi
    發(fā)表于 04-01 08:18

    CubelIDE HAL_FLASH_Program仿真時出錯怎么解決?

    擦除后,可看到整頁為65535. 然后進(jìn)入HAL_FLASH_Program 最后在FLASH_Program_Fast(Address, (uint32_t)Data);下一步 仿真報錯
    發(fā)表于 03-28 06:56

    CUBEIDE運(yùn)行完可以看RAM的使用情況,運(yùn)行中可以實(shí)時查看RAM的使用情況嗎?

    CUBEIDE運(yùn)行完可以看RAM的使用情況,運(yùn)行中可以實(shí)時查看RAM的使用情況嗎?以及負(fù)載情況? 圖片是運(yùn)行完可以看RAM使用情況,是否可以運(yùn)行中實(shí)時查看?是
    發(fā)表于 03-12 07:56

    rtthread編譯后如何查看堆棧空間使用情況

    rtthread編譯后如何查看堆棧空間使用情況,現(xiàn)在只能在編譯完成后看到總大小,有沒有辦法能看到詳細(xì)的使用情況。 由于RAM只有128K,除去內(nèi)存池32k,想看看剩余的RAM在哪用了
    發(fā)表于 03-05 07:58
    主站蜘蛛池模板: 久久久久久久久久免观看 | 日韩在线免费看网站 | 天天色天天综合 | 四虎影音在线观看 | 国产欧美网站 | 欧美激情xxxx性bbbb | 丁香激情六月天 | 女性一级全黄生活片免费看 | 黑色丝袜美女被视频网站 | 亚洲第一免费播放区 | 手机看片国产福利 | 九九精品在线观看 | 欧美tube44videos| 亚洲色图日韩 | 久色中文| 萌白酱香蕉白丝护士服喷浆 | 高清不卡免费一区二区三区 | 日本成人a视频 | 色婷五月综激情亚洲综合 | 亚欧色| 哟交小u女国产精品视频 | 色老头网址 | 手机看片免费福利 | 鲁一鲁色一色 | 免费免费啪视频视频观看 | 国产精品免费看久久久香蕉 | 1000部啪啪未满十八勿入 | 国产精品女仆装在线播放 | 在线观看日本亚洲一区 | 免费人成a大片在线观看动漫 | 色婷婷激婷婷深爱五月小说 | 在线网站 看片 网站 | 五月婷婷丁香在线 | 青青热久久国产久精品秒播 | 美女扒开尿口给男人桶动态图 | 人人舔人人爱 | 国产人免费人成免费视频 | 亚洲情a成黄在线观看动 | 欧美一卡二卡3卡4卡无卡六卡七卡科普 | 国产在线美女 | 最近2018中文字幕2019视频 |