《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 如何有效使用RISC-V的跟蹤技術

如何有效使用RISC-V的跟蹤技術

2023-08-29
來源:IAR
關鍵詞: IAR RISC-V 跟蹤技術

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

  什么是跟蹤?

  與傳統的通過設置斷點、printf等進行調試相比,跟蹤更像是在不打擾的情況下觀察你的應用程序?;旧希_發人員可以在不干擾程序的情況下觀察整個程序的工作情況。跟蹤包括完整的指令執行流程(不需要printf也不需要UART),一旦跟蹤數據被捕獲,你可以快速追溯,并隔離異常和硬故障。

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

  然而,跟蹤不僅僅是為了發現錯誤。跟蹤還可以進行代碼剖析、代碼覆蓋等,你可以實時了解你的設備的行為。性能和覆蓋率監測是強大的功能,當你有跟蹤功能時,就可以實現這些強大的功能。如果你的帶寬夠寬,甚至可以將實時跟蹤流整合到你的調試器中。

  RISC-V的跟蹤技術

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

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

27.JPG

  圖1 來自一個RISC-V設備的跟蹤

  看清每條指令

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

  在尋找一個漏洞時,翻閱捕獲的跟蹤的難度無異于大海撈針。在短短幾秒鐘的執行時間里,可以產生數以億計的指令。因此,極為重要的是,規范將提供足夠的觸發器,以便能夠將捕獲限制在特定區域。先進的導航和搜索功能是必不可少的,如果你的編譯器/調試器工具提供該功能,則可以使用跟蹤觸發器將跟蹤數據限制在你需要的范圍內。

  為什么需要跟蹤?

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

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

  • 順序排列

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

  - 輕型儀器、實時操作系統(RTOS)監控、變量跟蹤等

  - 配備優秀的探針,有可能達到幾兆字節/秒的速度

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

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

  - 通過控制流轉移時留下的信息進行跟蹤

  - 為你執行的每一條指令提供保證

  - 指令執行過程信息實時存儲在調試器探針上

  • RAM緩沖區

  - 要么是小的專用RAM,要么與系統內存共享

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

  • 高速排列

  - 速度為10Gbits/s或更高

  - 主要適用于較大的、復雜的系統

  • 通過功能接口進行跟蹤(USB3.0提供了超高帶寬?。?/p>

  - 使用案例有限——對小型物聯網設備來說不是一個選擇

  調試異常情況

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

  異?;蛭刺幚淼墓收峡梢杂芍羔槅栴}、非法指令或數據中止引起。通常,當這種情況發生時,你的堆棧(和函數調用信息)會被毀掉,但通過跟蹤,你可以獲得完整的應用程序歷史記錄。跟蹤數據對于定位那些顯現不規則且零星發生的編程錯誤也很有用。這可以幫助發現價值“百萬美元”的漏洞。

  硬件和軟件工具的集成

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

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

26.JPG

  圖2 結合調用堆棧和中斷以及變量記錄的時間軸實例

  代碼質量

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

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

25.JPG

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

  總結

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



更多精彩內容歡迎點擊==>>電子技術應用-AET<<

mmexport1621241704608.jpg

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区二区三区久久| 最新国产成人av网站网址麻豆 | 欧美日韩不卡| 可以看av的网站久久看| 亚洲国产欧美在线人成| 在线视频中文亚洲| 最新成人av网站| 亚洲黄色在线观看| 亚洲激情成人在线| 亚洲欧洲日产国产综合网| 亚洲黄色大片| 亚洲免费久久| 亚洲视频一区在线| 亚洲欧美日韩国产成人精品影院 | 亚洲视频精选| 亚洲婷婷国产精品电影人久久| 夜久久久久久| 亚洲一区二区三区免费观看| 亚洲在线视频观看| 欧美一二区视频| 久久精品论坛| 亚洲美女视频网| 亚洲婷婷综合色高清在线| 亚洲一级片在线看| 亚洲影院在线观看| 久久成人资源| 麻豆精品视频在线观看视频| 欧美大成色www永久网站婷| 欧美精品色综合| 国产精品久99| 国产一区二区三区久久久久久久久 | 亚洲欧美成人综合| 久久精品91久久久久久再现| 久久久久久久999精品视频| 久久先锋资源| 欧美日韩91| 国产精品美女视频网站| 国产一区二区三区奇米久涩 | 亚洲丰满在线| 一区二区三区波多野结衣在线观看| 亚洲图片你懂的| 久久国产精彩视频| 99国产精品一区| 午夜视频久久久久久| 久久先锋资源| 欧美日韩免费观看一区三区| 国产欧美日韩视频一区二区三区| 韩国一区二区三区美女美女秀| 亚洲黄色高清| 亚洲欧美精品| 亚洲精品网站在线播放gif| 亚洲午夜av电影| 久久精品系列| 欧美日本精品在线| 国产日韩亚洲欧美精品| 91久久在线播放| 亚洲一区精彩视频| 亚洲国产精品久久久久秋霞不卡 | 国产精品久久久对白| 狠狠色综合网| 一本色道**综合亚洲精品蜜桃冫 | 国产精品二区三区四区| 在线观看91精品国产麻豆| av成人毛片| 亚洲高清一区二区三区| 亚洲一二三四区| 噜噜噜噜噜久久久久久91| 欧美午夜激情在线| 在线欧美三区| 亚洲欧美日韩另类精品一区二区三区| 亚洲欧洲日本在线| 欧美在线观看一二区| 欧美乱大交xxxxx| 激情文学一区| 亚洲欧美美女| 亚洲校园激情| 欧美福利专区| 国产自产女人91一区在线观看| 夜夜精品视频| 亚洲精品欧美日韩专区| 久久国产成人| 国产精品久久国产精品99gif | 亚洲高清一区二区三区| 亚洲一区一卡| 欧美国产日韩一区二区三区| 国产日韩在线一区| 亚洲一区二区三区高清| 夜夜爽av福利精品导航| 久久久久久一区二区| 国产精品毛片在线| 一本久道综合久久精品| 亚洲精品国产系列| 久久中文欧美| 韩国av一区二区三区| 午夜精品福利一区二区蜜股av| 一区二区三区视频在线| 欧美国产日韩免费| 在线看欧美视频| 亚洲第一色在线| 久久久久**毛片大全| 国产毛片精品国产一区二区三区| 在线视频免费在线观看一区二区| 一本色道久久88亚洲综合88| 蜜桃久久av| 黄色成人91| 久久不射中文字幕| 久久久久网址| 国户精品久久久久久久久久久不卡 | 亚洲乱码精品一二三四区日韩在线 | 亚洲美女在线视频| 欧美jjzz| 亚洲国产91精品在线观看| 亚洲国产精品国自产拍av秋霞| 久久九九免费视频| 国产在线一区二区三区四区| 欧美在线播放视频| 久久久国际精品| 国产自产女人91一区在线观看| 午夜亚洲福利在线老司机| 欧美一级片久久久久久久| 国产精品视频网址| 亚洲欧美国产一区二区三区| 性久久久久久久久久久久| 国产精品男gay被猛男狂揉视频| 亚洲私人影院| 欧美一区二区三区日韩视频| 国产女优一区| 久久9热精品视频| 可以看av的网站久久看| 亚洲高清成人| 一本久久综合亚洲鲁鲁| 欧美视频精品在线| 亚洲在线视频免费观看| 久久成人这里只有精品| 激情久久久久久久| 亚洲精品无人区| 欧美日韩日韩| 亚洲免费在线看| 久久久蜜桃精品| 亚洲欧美在线视频观看| 亚洲电影在线观看| 久久久久免费| 国产精品久久久久毛片软件 | 欧美日韩精品不卡| 国产欧美视频在线观看| 国产精品一区二区三区成人| 国产欧美激情| 性欧美8khd高清极品| 91久久中文字幕| 欧美—级a级欧美特级ar全黄| 亚洲三级视频在线观看| 国产精品99久久久久久白浆小说 | 校园激情久久| 国产精品久久久久久久久果冻传媒| 亚洲视频在线观看网站| 西瓜成人精品人成网站| 国产亚洲aⅴaaaaaa毛片| 亚洲欧洲另类国产综合| 欧美日韩专区在线| 亚洲嫩草精品久久| 欧美14一18处毛片| 国产精品久久久久久久7电影| 欧美中文字幕在线观看| 国产一区二区三区高清在线观看| 久久精品久久99精品久久| 欧美人成网站| 亚洲欧美另类在线| 欧美国产丝袜视频| 亚洲欧美国产毛片在线| 欧美a级理论片| 亚洲一区二区精品在线观看| 乱码第一页成人| 亚洲视频图片小说| 免费试看一区| 亚洲视频视频在线| 麻豆精品视频在线| 亚洲特黄一级片| 欧美国产日本在线| 销魂美女一区二区三区视频在线| 女女同性女同一区二区三区91| 在线亚洲伦理| 欧美aa在线视频| 欧美亚洲网站| 欧美日韩精品综合在线| 久久国产99| 国产精品天美传媒入口| 亚洲精品国产无天堂网2021| 国产欧美精品在线播放| 一区二区冒白浆视频| 激情小说亚洲一区| 欧美一区二区免费| 99伊人成综合| 欧美va亚洲va国产综合| 午夜欧美视频| 欧美视频日韩视频在线观看| 久久国产精品99国产| 国产精品日韩| 亚洲视频观看| 最新国产乱人伦偷精品免费网站 | 亚洲欧美国产va在线影院|