老司机91精品网站在线观看_久久69精品久久久久久hb_成人欧美在线观看_免费一级日本c片完整版

首頁>期貨 > 正文

如何有效使用RISC-V的跟蹤技術(shù)

2023-08-31 11:43:06    出處:IAR

在嵌入式軟件開發(fā)中,利用完整的應(yīng)用跟蹤,可為開發(fā)人員分析其產(chǎn)品行為提供無限的可能性。通過對應(yīng)用程序的全面了解,他們可以跟蹤每一條指令,看看他們的應(yīng)用程序是否按照預(yù)期運行,或者是否出現(xiàn)錯誤或漏洞。那么,如何才能最大化地利用現(xiàn)有可用的RISC-V跟蹤呢?

什么是跟蹤?

與傳統(tǒng)的通過設(shè)置斷點、printf等進行調(diào)試相比,跟蹤更像是在不打擾的情況下觀察你的應(yīng)用程序。基本上,開發(fā)人員可以在不干擾程序的情況下觀察整個程序的工作情況。跟蹤包括完整的指令執(zhí)行流程(不需要printf也不需要UART),一旦跟蹤數(shù)據(jù)被捕獲,你可以快速追溯,并隔離異常和硬故障。


(資料圖片)

這使得尋找那些罕見的、依賴于執(zhí)行順序的漏洞變得更加容易,因為這提供了一串線索:程序執(zhí)行是怎么樣的,按什么順序執(zhí)行的。這使開發(fā)人員能夠準(zhǔn)確地了解它們是如何以及為什么總是會停在一串特殊的代碼上。你可以迅速發(fā)現(xiàn)異常和硬故障,進而發(fā)現(xiàn)那些罕見的、依賴于執(zhí)行順序的錯誤。如果沒有跟蹤,當(dāng)你的程序出現(xiàn)崩潰,就很難重現(xiàn)實際發(fā)生的情況。

然而,跟蹤不僅僅是為了發(fā)現(xiàn)錯誤。跟蹤還可以進行代碼剖析、代碼覆蓋等,你可以實時了解你的設(shè)備的行為。性能和覆蓋率監(jiān)測是強大的功能,當(dāng)你有跟蹤功能時,就可以實現(xiàn)這些強大的功能。如果你的帶寬夠?qū)挘踔量梢詫崟r跟蹤流整合到你的調(diào)試器中。

RISC-V的跟蹤技術(shù)

RISC-V組織的主要關(guān)注點之一是為RISC-V制定標(biāo)準(zhǔn)化的規(guī)范。對所有RISC-V成員開放的各種工作小組,目前正專注于開發(fā)制定這些規(guī)范。其中一個例子是處理器跟蹤工作組,該工作組在2020年2月批準(zhǔn)發(fā)布了處理器跟蹤規(guī)范。另一個例子是Nexus跟蹤小組,該小組致力于研究如何使用Nexus IEEE-ISTO 5001?標(biāo)準(zhǔn)針對RISC-V內(nèi)核定義的跟蹤技術(shù)。

這類工作將持續(xù)進行,因為必須考慮跟蹤標(biāo)準(zhǔn)的所有方面。其中,包括跟蹤控制的輸出格式。最低的目標(biāo)是與更成熟的架構(gòu)的現(xiàn)有標(biāo)準(zhǔn)看齊。如果RISC-V跟蹤規(guī)范做得好,它將使現(xiàn)有的跟蹤查看器、硬件跟蹤探頭和跟蹤分析工具易于采用。目前已經(jīng)有一些實現(xiàn)的方案,但RISC-V架構(gòu)應(yīng)該在從物聯(lián)網(wǎng)到服務(wù)器的每個設(shè)備中都有跟蹤,即使是簡單、標(biāo)準(zhǔn)的跟蹤也比完全沒有跟蹤好。

圖1 來自一個RISC-V設(shè)備的跟蹤

看清每條指令

軟件開發(fā)工具中集成對跟蹤的支持增強了日常的代碼開發(fā)/調(diào)試。跟蹤應(yīng)該是設(shè)計人員日常環(huán)境中固有的一部分,而不應(yīng)該是事后分析的東西。因此,你可以寫代碼并運行,看看是如何到達當(dāng)前的執(zhí)行點的。通過快速追溯、隔離異常和硬故障的功能,你可以直接迭代并獲得良好的代碼質(zhì)量。你還可以找到依賴于執(zhí)行順序的漏洞,并找到可以與你的程序流程相關(guān)聯(lián)的功耗測量值。所有這些分析也可以在具有挑戰(zhàn)性和復(fù)雜依賴性的多核環(huán)境下進行。

在尋找一個漏洞時,翻閱捕獲的跟蹤的難度無異于大海撈針。在短短幾秒鐘的執(zhí)行時間里,可以產(chǎn)生數(shù)以億計的指令。因此,極為重要的是,規(guī)范將提供足夠的觸發(fā)器,以便能夠?qū)⒉东@限制在特定區(qū)域。先進的導(dǎo)航和搜索功能是必不可少的,如果你的編譯器/調(diào)試器工具提供該功能,則可以使用跟蹤觸發(fā)器將跟蹤數(shù)據(jù)限制在你需要的范圍內(nèi)。

為什么需要跟蹤?

在設(shè)備中植入跟蹤單元,讓你有可能在產(chǎn)品運行時進行非侵入性的跟蹤。因為即使添加非常底層的調(diào)試打印輸出,也會改變應(yīng)用程序的時間,并掩蓋其真實行為。

有許多方法可以捕捉和獲得從設(shè)備中輸出的跟蹤數(shù)據(jù):

順序排列

- 足夠的PC采樣跟蹤(對統(tǒng)計代碼剖析研究有好處)

- 輕型儀器、實時操作系統(tǒng)(RTOS)監(jiān)控、變量跟蹤等

- 配備優(yōu)秀的探針,有可能達到幾兆字節(jié)/秒的速度

高速并行接口(4至16位的雙邊接口)

- 捕獲一切(時鐘速度可以很高)

- 通過控制流轉(zhuǎn)移時留下的信息進行跟蹤

- 為你執(zhí)行的每一條指令提供保證

- 指令執(zhí)行過程信息實時存儲在調(diào)試器探針上

RAM緩沖區(qū)

- 要么是小的專用RAM,要么與系統(tǒng)內(nèi)存共享

- 即使是4KB的跟蹤RAM也能提供足夠的功能,真正發(fā)揮作用

高速排列

- 速度為10Gbits/s或更高

- 主要適用于較大的、復(fù)雜的系統(tǒng)

通過功能接口進行跟蹤(USB3.0提供了超高帶寬!)

- 使用案例有限——對小型物聯(lián)網(wǎng)設(shè)備來說不是一個選擇

調(diào)試異常情況

通過在日常工作中使用跟蹤,你可以真實看到應(yīng)用程序是如何運行的。你可以檢查程序流,直到一個特定的狀態(tài),如應(yīng)用程序崩潰,然后使用跟蹤數(shù)據(jù)來定位問題的起源。

異常或未處理的故障可以由指針問題、非法指令或數(shù)據(jù)中止引起。通常,當(dāng)這種情況發(fā)生時,你的堆棧(和函數(shù)調(diào)用信息)會被毀掉,但通過跟蹤,你可以獲得完整的應(yīng)用程序歷史記錄。跟蹤數(shù)據(jù)對于定位那些顯現(xiàn)不規(guī)則且零星發(fā)生的編程錯誤也很有用。這可以幫助發(fā)現(xiàn)價值“百萬美元”的漏洞。

硬件和軟件工具的集成

獲得盡可能高質(zhì)量的代碼的最佳方法是將跟蹤分析能力整合到你的日常開發(fā)環(huán)境中。如果你能在每次部署變化時驗證程序時序和正確性,那么將復(fù)雜的漏洞推給后期系統(tǒng)驗證甚至客戶的風(fēng)險就會大大降低。最好的解決方案是擁有像跟蹤調(diào)試探針這樣的硬件工具,它可以在你的集成開發(fā)環(huán)境中與軟件工具無縫協(xié)作。例如,IAR提供跟蹤探頭I-jet Trace,它與完整的C/C++編譯器和調(diào)試器工具鏈IAR Embedded Workbench完全集成。

I-jet Trace解鎖了IAR Embedded Workbench 集成開發(fā)環(huán)境中的一些高級功能。在圖2中,你可以看到幾個高級視圖功能的例子,上面是時間軸,下面是代碼堆棧。這顯示的是運行中的程序正在進行復(fù)雜的函數(shù)調(diào)用,并且中斷也在同步觸發(fā)。藍色部分顯示的是數(shù)據(jù)跟蹤,這樣你就可以獲得儀表化的顯示,并看到RTOS的切換等。下面的詳細圖顯示了啟動代碼的運行情況——有復(fù)雜的調(diào)用,還有一些較長和較短的函數(shù),甚至還有一個工具提示來優(yōu)化其中一個調(diào)用的代碼。

圖2 結(jié)合調(diào)用堆棧和中斷以及變量記錄的時間軸實例

代碼質(zhì)量

但是,跟蹤不僅僅是為了發(fā)現(xiàn)漏洞。它還可以幫助你監(jiān)控你的應(yīng)用程序——它是否按照預(yù)期運行?集成性能監(jiān)控是使用跟蹤的主要好處之一,因為它可以幫助你了解應(yīng)用程序執(zhí)行時間都花在哪里了,是否受到中斷風(fēng)暴的影響,是否有時反應(yīng)不夠快等等。

代碼覆蓋率也是一個可以用跟蹤實現(xiàn)的功能(圖3展示了它在IAR Embedded Workbench中的樣子)。這可以用來證明代碼至少被運行過一次,查找出未運行的代碼,顯示測試的缺陷等等。功能安全認證強烈建議將代碼覆蓋率作為提高質(zhì)量的一個手段。靜態(tài)代碼分析工具是對跟蹤分析器一個很好的補充。這可以確保代碼符合特定行業(yè)的標(biāo)準(zhǔn)和最佳編程實踐。除了覆蓋率,該工具還可以收集每個單獨指令的執(zhí)行次數(shù)。例如,有些指令塊被執(zhí)行了4次,有些被執(zhí)行了12次。很明顯,沒有被覆蓋的代碼執(zhí)行了0次。

圖3 跟蹤也可以審查代碼覆蓋率

總結(jié)

跟蹤提供了各種有益的數(shù)據(jù)源,如收集數(shù)據(jù)或協(xié)助開發(fā)人員將信息過濾成實際的知識和見解。用不同的跟蹤查看器進行可視化和分析,可以創(chuàng)建一個產(chǎn)品如何運行及其動態(tài)行為的真實描述,為開發(fā)人員提供必要的信息,以跟蹤那些很難,甚至不可能通過其他手段捕捉的復(fù)雜漏洞。通過在日常開發(fā)中加入跟蹤,開發(fā)人員可以加速軟件開發(fā)過程,提高軟件質(zhì)量。

關(guān)鍵詞:

相關(guān)內(nèi)容

消費
產(chǎn)業(yè)
鉆石等級p級是不是最差 鉆石等級 你們好,最近0471房產(chǎn)發(fā)現(xiàn)有諸多的對于鉆石等級p級是不是最差,鉆石等
央廣財評|網(wǎng)民突破10.79億人、千行百業(yè)“觸網(wǎng)” 數(shù)字經(jīng)濟為中國注入蓬勃動能 從1994年中國第一個網(wǎng)民上網(wǎng),到2023年網(wǎng)民數(shù)量達到10 79億,三十年來
A股大利好,牛市在望? 政策底來了,市場底還會遠嗎?
廚房小家電企業(yè)上半年“成績單”揭曉,誰“跑”得更快? 隨著財報季的推進,國內(nèi)廚房小家電上市企業(yè)陸續(xù)披露了2023年上半年的業(yè)
基金
老司机91精品网站在线观看_久久69精品久久久久久hb_成人欧美在线观看_免费一级日本c片完整版

      国产欧美视频在线观看| 久久精品国产一区二区三| 国产一区在线看| 国产欧美一区二区在线| 亚洲一二三四在线观看| 欧美电影免费观看高清完整版在线 | 99精品欧美一区| 亚洲成人高清在线| 久久综合久久综合亚洲| 视频一区二区三区在线| 久久久久久久久久久99999| 91黄色激情网站| 欧美韩国日本不卡| 激情另类小说区图片区视频区| 国产精品久久久久影院色老大| 欧美精品乱码久久久久久按摩| 亚洲欧美一区二区久久| 成人在线综合网站| 亚洲成av人片在线观看无码| 国产午夜亚洲精品午夜鲁丝片| 免费观看30秒视频久久| 国产精品麻豆欧美日韩ww| 91精品欧美久久久久久动漫| 亚洲午夜一区二区| 久久综合中文字幕| 欧美日本一区二区在线观看| 一区二区三区在线观看欧美| www.日韩av| 在线免费av一区| 亚洲美女在线一区| 99v久久综合狠狠综合久久| 一本色道久久综合亚洲91 | 亚洲毛片av在线| 久久网站热最新地址| 精品在线播放免费| 亚洲在线一区二区三区| 国产欧美一区二区三区沐欲 | 欧美高清www午色夜在线视频| 亚洲综合久久久| 久久久久久黄色| 欧美一区二区久久久| 欧美a级一区二区| 亚洲日本成人在线观看| 久久精品亚洲精品国产欧美| 国产剧情av麻豆香蕉精品| 亚洲图片欧美综合| 亚洲日本在线天堂| 久久久久久久久久久黄色 | 日韩欧美卡一卡二| 久久精品国产免费| 亚洲成人免费在线| 亚洲美女视频一区| 国产日韩v精品一区二区| 日韩精品专区在线| 国产一区二区福利| 在线免费观看一区| 午夜精品一区二区三区电影天堂 | 午夜电影网亚洲视频| 中文字幕日本不卡| 国产清纯在线一区二区www| 国产成人av一区二区三区在线 | 国产欧美视频在线观看| 精品国产乱码久久久久久免费 | 国产精品日韩成人| 91色.com| 精品乱人伦一区二区三区| 国内精品伊人久久久久av一坑| 性欧美疯狂xxxxbbbb| 亚洲香蕉伊在人在线观| 综合网在线视频| 国产精品二区一区二区aⅴ污介绍| 99国产精品一区| 日韩精品一区二区三区视频| 国产成人综合精品三级| 在线不卡一区二区| 国产美女娇喘av呻吟久久| 欧美午夜电影网| 久久超碰97中文字幕| 欧洲精品在线观看| 麻豆精品一区二区av白丝在线| 婷婷开心久久网| 日日夜夜精品视频免费| 亚洲成年人网站在线观看| 亚洲第一成年网| 亚洲在线中文字幕| 婷婷成人综合网| 午夜精品一区二区三区三上悠亚| 午夜久久久久久电影| 性欧美大战久久久久久久久| 日日骚欧美日韩| 一本大道av伊人久久综合| 青青草97国产精品免费观看| 日本丰满少妇一区二区三区| 美女一区二区三区| 欧美日韩一级二级三级| 韩国女主播成人在线观看| 欧美精品一级二级| 国产99久久久国产精品潘金网站| 91精品国产综合久久小美女| 国产成人精品aa毛片| 精品国产一区二区精华| 91一区在线观看| 中文字幕精品一区二区精品绿巨人 | 91精品婷婷国产综合久久| 成人在线视频首页| 久久一区二区三区国产精品| 久久久久久黄色| 中文字幕亚洲欧美在线不卡| 日韩毛片视频在线看| 亚洲福利视频导航| 色哟哟国产精品| 国产揄拍国内精品对白| 日韩欧美亚洲国产另类| 久久亚洲欧美国产精品乐播| 国产精品免费视频一区| 亚洲三级在线免费观看| 亚洲成人av一区| 欧美性受xxxx黑人xyx性爽| 国产成人日日夜夜| 久久久久97国产精华液好用吗| 中国色在线观看另类| 亚洲国产精品影院| 欧美丝袜丝交足nylons| 成人免费视频播放| 中文字幕欧美三区| 一区二区三区在线视频免费| 免费美女久久99| 日韩三级免费观看| 91麻豆精东视频| 依依成人综合视频| 91国模大尺度私拍在线视频| 国产成人精品亚洲777人妖| 国产肉丝袜一区二区| 亚洲人吸女人奶水| 蜜桃一区二区三区四区| 日韩欧美在线网站| 国产精品嫩草影院com| 五月天亚洲精品| 欧美一级艳片视频免费观看| 国产日韩精品视频一区| 五月天激情小说综合| 69堂精品视频| 中文文精品字幕一区二区| 午夜精品福利视频网站 | 国产白丝网站精品污在线入口| 国产午夜精品一区二区三区嫩草 | 亚洲国产一区二区三区青草影视| 国产在线视视频有精品| 国产亚洲美州欧州综合国| 一区二区三区不卡视频| 国产成人综合网站| 国产精品福利电影一区二区三区四区| 午夜国产不卡在线观看视频| 成人丝袜高跟foot| 亚洲嫩草精品久久| 欧美人牲a欧美精品| 国产女主播在线一区二区| 天堂va蜜桃一区二区三区漫画版| 欧美一区二区女人| 中文字幕一区在线观看| 久久99精品久久久久久国产越南 | 美女爽到高潮91| 国产亚洲福利社区一区| 亚洲成人精品在线观看| 99精品国产热久久91蜜凸| 亚洲成人av中文| 精品成人一区二区| 亚洲午夜三级在线| 99久久精品国产一区二区三区| 亚洲一区在线看| 日韩免费电影网站| 一卡二卡欧美日韩| 99精品欧美一区二区三区小说| 亚洲成人第一页| 久久免费的精品国产v∧| 性做久久久久久免费观看| 91在线小视频| 秋霞成人午夜伦在线观看| 欧美激情在线一区二区| 欧美最猛黑人xxxxx猛交| 国产女主播一区| 国产一区二区三区香蕉| 亚洲欧美另类图片小说| 欧美一级二级在线观看| 亚洲一区二区三区四区在线观看| 99在线精品视频| 日本免费在线视频不卡一不卡二| 欧美国产丝袜视频| 欧美人妖巨大在线| 亚洲色图视频免费播放| 成人aa视频在线观看| 三级一区在线视频先锋 | 国产精品色婷婷久久58| 国产盗摄精品一区二区三区在线| 有坂深雪av一区二区精品| 精品乱码亚洲一区二区不卡| 天天综合天天综合色| 中文字幕第一区综合| 国产成人精品一区二区三区四区| 亚洲国产综合视频在线观看|