国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

嵌入式Linux調(diào)試變得更容易

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Mohammed Billoo ? 2022-07-04 09:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

調(diào)試嵌入式 Linux 非常復(fù)雜,即使是最有經(jīng)驗(yàn)的嵌入式系統(tǒng)開發(fā)人員也面臨許多挑戰(zhàn)。但是,專門支持嵌入式 Linux 的可視化跟蹤診斷工具可以大大簡化這項(xiàng)工作。

我的任務(wù)是開發(fā)一個(gè)定制的 Linux 驅(qū)動(dòng)程序來使用外部設(shè)備流式傳輸?shù)臄?shù)據(jù)。雖然 Linux 內(nèi)核有一些原生機(jī)制來確保驅(qū)動(dòng)程序的功能是正確的,但調(diào)試和評估性能遠(yuǎn)非簡單。這就是為什么我決定測試新的跟蹤工具(例如支持嵌入式 Linux 的 Tracealyzer)是否以及如何幫助我,從分析驅(qū)動(dòng)程序和中斷處理程序,到檢查用戶空間應(yīng)用程序和編譯器選項(xiàng)。

我將跟蹤工具與基于 Yocto 的 Linux 發(fā)行版一起使用,首先在板支持包上構(gòu)建自定義層以啟用開源LTTng庫。這為作為 Linux 系統(tǒng)(包括內(nèi)核)的一部分執(zhí)行驅(qū)動(dòng)程序提供了許多有價(jià)值的觀點(diǎn)。它還讓我對驅(qū)動(dòng)程序有了更全面的了解,以確保沒有性能瓶頸或確定任何瓶頸的原因。

診斷跟蹤工具還可以幫助發(fā)現(xiàn) IRQ 處理程序中的性能問題,而無需使用可怕的 printk 語句。就我而言,它發(fā)現(xiàn)需要通過 I2C 總線確認(rèn)設(shè)備中斷以防止抖動(dòng)。如果不使用跟蹤工具,這個(gè)隱藏的錯(cuò)誤直到發(fā)布前不久移除無關(guān)的 printk 調(diào)用時(shí)才會(huì)被發(fā)現(xiàn)或顯現(xiàn)出來。該工具還揭示了在中斷處理程序中包含 printk 的嚴(yán)重影響。使用跟蹤工具有效地避免了在后期修改驅(qū)動(dòng)程序的需要,這會(huì)導(dǎo)致大量的延誤和成本。

使用跟蹤工具,我還能夠測試我的假設(shè),即設(shè)置進(jìn)程的 CPU 親和性將如何影響其性能。分析正常和高強(qiáng)度條件下不同執(zhí)行元素之間的交互,顯示了 Linux 內(nèi)核的盡力而為算法。這確定了 Linux 內(nèi)核調(diào)度程序和 iperf 代碼庫的某些區(qū)域以供進(jìn)一步調(diào)查。

在評估用戶空間性能時(shí),跟蹤工具可以更加強(qiáng)大。像大多數(shù)嵌入式軟件開發(fā)人員一樣,我開發(fā)針對 Linux 系統(tǒng)的用戶空間應(yīng)用程序。將跟蹤工具的輸出與 LTTng 跟蹤點(diǎn)結(jié)合起來提供了一種寶貴的方法來幫助我確定我的應(yīng)用程序的執(zhí)行情況、識(shí)別任何異常行為并提供高級時(shí)序統(tǒng)計(jì)信息。然后,我可以使用該工具進(jìn)一步解決任何計(jì)時(shí)問題并提高應(yīng)用程序的性能。

我還發(fā)現(xiàn)跟蹤工具和 LTTng 庫的結(jié)合非常強(qiáng)大,可以幫助我快速了解某些編譯器選項(xiàng)對執(zhí)行浮點(diǎn)計(jì)算的用戶空間應(yīng)用程序性能的影響。通常,這種分析是在應(yīng)用程序完成但應(yīng)用程序性能不佳時(shí)進(jìn)行的,并且可能需要很多時(shí)間。在開發(fā)過程中使用該工具來驗(yàn)證軟件時(shí)序幫助我避免了對性能的影響。

總而言之,我發(fā)現(xiàn) Tracealyzer 等跟蹤工具可以成為發(fā)現(xiàn)隱藏錯(cuò)誤和優(yōu)化嵌入式 Linux 系統(tǒng)性能的強(qiáng)大元素。

諸如用于自上而下探索性分析的高級概述等功能,包括進(jìn)程交互、進(jìn)程分叉、CPU 使用率、RAM 使用率、I/O 使用率、文件使用率、狀態(tài)機(jī)和用戶定義的指標(biāo),提供了寶貴且直觀的跟蹤視圖,用于顯示細(xì)節(jié),在響應(yīng)性和清晰度方面可擴(kuò)展到大型 Linux 跟蹤。當(dāng)通過可定制的事件解釋適應(yīng)特定用例時(shí),任何用戶定義的數(shù)據(jù)集(例如間隔和狀態(tài)機(jī))都可以顯示在高度可配置的視圖中。最后,使用開源 LTTng 庫打開了廣泛的功能來探索嵌入式 Linux 設(shè)計(jì)的各個(gè)方面,從驅(qū)動(dòng)程序和中斷處理程序到用戶空間應(yīng)用程序和編譯器選項(xiàng)。在開發(fā)過程中使用這種組合不僅可以提高可見性,而且可以在過程的早期解決問題。從我經(jīng)驗(yàn)豐富的開發(fā)人員的角度來看,這避免了隱藏的錯(cuò)誤并節(jié)省了項(xiàng)目后期的時(shí)間和成本。

pYYBAGLCP1yAF4lgAACnzn1_cNE933.png

圖1。在評估自定義 Linux 內(nèi)核(如圖)時(shí),將開源 LTTng 庫與跟蹤工具結(jié)合使用可以揭示性能問題。

poYBAGLCP2WAOCuXAAGPdbbHYkA704.png

圖 2:此垂直跟蹤視圖使用垂直時(shí)間線顯示事件流。它從頂部開始,時(shí)間向下增長。每列代表系統(tǒng)中的單個(gè)執(zhí)行上下文——通常是任務(wù)或中斷處理程序——列中的矩形顯示特定任務(wù)何時(shí)運(yùn)行。水平標(biāo)簽(左)標(biāo)記記錄的軟件事件。該圖是完全響應(yīng)的,因此放大可以顯示更多細(xì)節(jié)。

審核編輯:郭婷

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

    關(guān)注

    5198

    文章

    20449

    瀏覽量

    334048
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11279

    瀏覽量

    224987
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11760

    瀏覽量

    219032
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    Linux 下開發(fā)嵌入式必備命令速查表

    嵌入式開發(fā)中,Linux系統(tǒng)幾乎成為必備的開發(fā)環(huán)境。不管你是在做STM32、RaspberryPi、還是基于ARM的板子,熟練掌握Linux命令不僅能加快開發(fā)效率,還能讓你在調(diào)試、交
    的頭像 發(fā)表于 01-19 09:06 ?883次閱讀
    <b class='flag-5'>Linux</b> 下開發(fā)<b class='flag-5'>嵌入式</b>必備命令速查表

    如何在Zynq UltraScale+ MPSoC平臺(tái)上通過JTAG啟動(dòng)嵌入式Linux鏡像

    在之前文章中,我們介紹了如何使用 XSCT 工具通過 JTAG 在 Zynq SoC 上啟動(dòng)嵌入式 Linux 鏡像(從 JTAG 啟動(dòng) Zynq-7000 嵌入式 Linux:使用
    的頭像 發(fā)表于 01-13 11:45 ?4415次閱讀

    什么是嵌入式應(yīng)用開發(fā)?

    。 · ?醫(yī)療設(shè)備?:如心電圖儀、血壓計(jì)等。 開發(fā)工具和技術(shù) 嵌入式開發(fā)過程中常用的工具包括: · ?集成開發(fā)環(huán)境(IDE)?:用于編寫、編譯和調(diào)試代碼。 · ?編譯器?:將高級語言代碼轉(zhuǎn)換為機(jī)器語言
    發(fā)表于 01-12 16:13

    從零搭建嵌入式開發(fā)環(huán)境:C、Makefile、調(diào)試全流程

    很多人剛開始學(xué)嵌入式的時(shí)候,第一件事就被環(huán)境卡住。“Keil安裝不上、STM32CubeIDE卡死、make命令找不到、下載不進(jìn)芯片”——這些問題往往比代碼容易勸退人。實(shí)際上,搭建環(huán)境這件事看似
    的頭像 發(fā)表于 01-09 19:04 ?679次閱讀
    從零搭建<b class='flag-5'>嵌入式</b>開發(fā)環(huán)境:C、Makefile、<b class='flag-5'>調(diào)試</b>全流程

    RTOS在嵌入式開發(fā)中的作用

    嵌入式系統(tǒng)中,有很多方式實(shí)現(xiàn)任務(wù)調(diào)度。功能有限的小系統(tǒng)中,無限循環(huán)足夠?qū)崿F(xiàn)系統(tǒng)功能。當(dāng)軟件設(shè)計(jì)變得龐大且復(fù)雜時(shí),設(shè)計(jì)師應(yīng)該考慮使用RTOS(實(shí)時(shí)操作系統(tǒng))。 下面給大家分享使用RTOS的8個(gè)理由
    發(fā)表于 12-26 07:53

    從小白到大牛:Linux嵌入式系統(tǒng)開發(fā)的完整指南

    目標(biāo)板可執(zhí)行文件)、調(diào)試技巧(GDB 遠(yuǎn)程調(diào)試)。? 系統(tǒng)裁剪與優(yōu)化:嵌入式硬件資源有限,需學(xué)會(huì)定制最小 Linux 系統(tǒng)。通過 BusyBox 構(gòu)建根文件系統(tǒng),裁剪內(nèi)核冗余模塊,優(yōu)化
    發(fā)表于 12-16 10:42

    嵌入式與FPGA的區(qū)別

    應(yīng)用。 FPGA的開發(fā)是邏輯實(shí)現(xiàn)+約束+綜合+仿真,嵌入式的開發(fā)是編碼+編譯+調(diào)試,如果是對數(shù)字電路設(shè)計(jì)感興趣,可以考慮FPGA。 ?在了解下就業(yè)機(jī)會(huì)哪個(gè)多? ?1、嵌入式的就業(yè)機(jī)會(huì)很多,優(yōu)點(diǎn)就是就業(yè)
    發(fā)表于 11-20 07:12

    嵌入式達(dá)到什么水平才能就業(yè)?

    :包括GPIO、定時(shí)器、中斷、ADC 等外設(shè)的配置與調(diào)試,能實(shí)現(xiàn)如溫濕度采集、電機(jī)控制等功能掌握嵌入式 Linux 驅(qū)動(dòng)開發(fā)基礎(chǔ):能編寫簡單字符設(shè)備驅(qū)動(dòng),實(shí)現(xiàn)設(shè)備的初始化、讀寫操作,會(huì)用內(nèi)核調(diào)
    發(fā)表于 09-15 10:20

    泰克示波器 MSO58 混合信號示波器在嵌入式系統(tǒng)調(diào)試中的核心技巧

    嵌入式系統(tǒng)的開發(fā)與調(diào)試中,泰克示波器 MSO58 混合信號示波器憑借其強(qiáng)大的功能和靈活的特性,成為工程師不可或缺的調(diào)試利器。掌握其核心調(diào)試技巧,能夠顯著提升
    的頭像 發(fā)表于 07-01 16:28 ?609次閱讀
    泰克示波器 MSO58 混合信號示波器在<b class='flag-5'>嵌入式</b>系統(tǒng)<b class='flag-5'>調(diào)試</b>中的核心技巧

    怎么結(jié)合嵌入式Linux,和FPGA三個(gè)方向達(dá)到一個(gè)均衡發(fā)展?

    嵌入式領(lǐng)域,不少人都懷揣著讓嵌入式Linux 和 FPGA 三個(gè)方向?qū)崿F(xiàn)均衡發(fā)展的夢想,然而實(shí)踐中卻面臨諸多挑戰(zhàn)。就像備受矚目的全棧工程師稚暉君,他從大學(xué)玩單片機(jī)起步,憑借將智能算法融入
    的頭像 發(fā)表于 06-25 10:08 ?863次閱讀
    怎么結(jié)合<b class='flag-5'>嵌入式</b>,<b class='flag-5'>Linux</b>,和FPGA三個(gè)方向達(dá)到一個(gè)均衡發(fā)展?

    普源示波器MSO5074在嵌入式系統(tǒng)聯(lián)合調(diào)試中的高效實(shí)踐

    一、引言:嵌入式系統(tǒng)調(diào)試的挑戰(zhàn)與示波器的必要性 嵌入式系統(tǒng)作為核心控制單元廣泛應(yīng)用于汽車、醫(yī)療設(shè)備、工業(yè)自動(dòng)化等領(lǐng)域,其開發(fā)涉及硬件設(shè)計(jì)、軟件編程及實(shí)時(shí)調(diào)試等多個(gè)環(huán)節(jié)。傳統(tǒng)的
    的頭像 發(fā)表于 06-20 13:45 ?739次閱讀
    普源示波器MSO5074在<b class='flag-5'>嵌入式</b>系統(tǒng)聯(lián)合<b class='flag-5'>調(diào)試</b>中的高效實(shí)踐

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    Linux嵌入式與單片機(jī)嵌入式在多個(gè)方面存在顯著的區(qū)別,以下是詳細(xì)的比較和歸納: 一、基本概念 1. Linux嵌入式: 定義:將
    發(fā)表于 06-20 09:46

    嵌入式開發(fā)入門指南:從零開始學(xué)習(xí)嵌入式

    特定功能的計(jì)算機(jī)系統(tǒng),廣泛應(yīng)用于智能家居、工業(yè)控制、醫(yī)療設(shè)備、車載系統(tǒng)等領(lǐng)域。 2. 學(xué)習(xí)嵌入式開發(fā)的前置知識(shí)熟悉C語言編程掌握基本的數(shù)據(jù)結(jié)構(gòu)與算法了解數(shù)字電路與微控制器原理熟悉Linux操作系統(tǒng)
    發(fā)表于 05-15 09:29

    嵌入式適合自學(xué)嗎?

    構(gòu)、時(shí)鐘系統(tǒng)、電源管理、存儲(chǔ)映射等。 嵌入式必學(xué)技術(shù)點(diǎn)↓↓↓ 1硬件與軟件的結(jié)合 2實(shí)時(shí)性要求與資源限制 3跨領(lǐng)域知識(shí)整合 4調(diào)試與測試?yán)щy 二)缺乏專業(yè)指導(dǎo) 1)容易走彎路:自學(xué)嵌入
    發(fā)表于 04-27 09:54

    泰克MDO32示波器在嵌入式系統(tǒng)調(diào)試中的關(guān)鍵技術(shù)分析

    隨著現(xiàn)代電子技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)在各個(gè)領(lǐng)域的應(yīng)用日益廣泛,從消費(fèi)電子到工業(yè)控制,再到汽車電子和航空航天等。嵌入式系統(tǒng)的復(fù)雜性不斷增加,使得調(diào)試工作變得尤為重要。泰克MDO32示波
    的頭像 發(fā)表于 03-19 13:51 ?904次閱讀
    泰克MDO32示波器在<b class='flag-5'>嵌入式</b>系統(tǒng)<b class='flag-5'>調(diào)試</b>中的關(guān)鍵技術(shù)分析