性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

程序小白
認證:優(yōu)質創(chuàng)作者
所在專題目錄 查看專題
基于嵌入式的軟件追蹤技術(上)
基于嵌入式的軟件追蹤技術(中)
基于嵌入式的軟件追蹤技術(下)
作者動態(tài) 更多
基于stm32采用PWM驅動伺服控制器學習筆記
5天前
基于STM32驅動TM1638學習筆記——軟件篇
04-19 12:42
基于TM1638驅動8位數(shù)碼管設計分享
02-24 11:26
RT-Thread驅動之路: Studio創(chuàng)建FAL分區(qū)⑤
01-02 08:30
RT-Thread驅動之路: Studio 掛載通用SPI flash④
2024-12-23 13:41

基于嵌入式的軟件追蹤技術(上)

      軟件追蹤技術主要應用在軟件調試階段上,這是一個非常牛叉的玩意兒,怎么講,學習QP至今,最讓我震驚的兩門技術之一,最讓人震驚的是,他是基于嵌入式方案的軟件追蹤,也就是在單片機上就能跑起來,當你在裸奔的年代,做著一些較為簡單的應用,這玩意怎么說呢,有些雞肋,因為你可以讓你的所有代碼都跑在你的小腦袋里,但當你感覺腦袋不夠用了的時候,那你可以考慮上這個玩意兒了。

      傳統(tǒng)我們如何調試我們的代碼,所謂的調試就是先讓他跑起來,然后在既定輸入下條件下,看看輸出對不對,這種情況下,有個最強大的武器就是斷點-單步調試,他很好用,非常好用,特別適合在一些裸奔或者順序執(zhí)行的情況下,因為這些操作雖然看不見,但是有一點能保證,那就是他是順序執(zhí)行的。

      在多任務或者是事件驅動型系統(tǒng)中,單步調試寫劣勢就被放大了,因為系統(tǒng)在運行時,單步調試會帶來一個最大的麻煩就是,系統(tǒng)被暫停了,因為這種情況下你很難捕捉在某一時刻到底放生了什么樣的交互(這種交互在裸機里面是不存在的,因為沒有那一坨看不懂的os造成的一個既定的指向),才導致代碼執(zhí)行到了這里。這個時候因為很難用小腦袋去模擬軟件執(zhí)行過程多個對象交互過程中真實的情況,所以你需要想辦法動態(tài)的去調試,printf是一個非常不錯的選擇,但是很可惜他并不適用于單片機(因為有很多應用是不帶屏幕的,同樣printf會造成系統(tǒng)性能的大幅下降,本身硬件就不怎么快)。

      軟件追蹤技術相當于針對嵌入式處理器的應用,在printf方案上的一個超級版本進階,他不光解決了單片機沒有屏,和性能執(zhí)行的問題,最關鍵是,他告訴你需要追蹤啥?(哪些東西才是真正需要追蹤的,通過追蹤記錄,可以完美的展現(xiàn)你的代碼執(zhí)行軌跡,他們到底是干了啥怎么干的,有沒有出格)。

      QSPY有兩部分組成,一個是所謂的主機,就是一個上位機軟件,這個大佬已經幫忙寫好,并把源代碼開放給了你,另一部分是需要內置到的代碼工程當中的宏,在你不用QSPY的時候,直接禁用掉相應的宏就可以了。他們如何通信,其實形式有很多,完全取決你的硬件,最常用的辦法就是一根串口線。

      書本上講的大概是這樣,他在一臺電腦上啟動QSPY主機,另一臺電腦上模擬嵌入式目標設備,中間一根線通信,如下:

      如何讓其在自己的開發(fā)板上跑起來,并且根據(jù)我們內置的追蹤記錄一條一條的去分析一個真實的系統(tǒng)是如何執(zhí)行的,是這篇文章的重點中的重點,因為可能有點長,分上下兩篇吧,上篇講移植,下篇講追蹤分析,可能和書本的內容不一致,書本上的內容過期很久了,所以此篇就以QP6.9.0的真實版本作為實例去分析。

      首先祭出我們的目標板,這是參加研討會時候送的F4的開發(fā)板:

   板子有了,先調我們的目標板的代碼,主機部分的代碼基本不需要我們改,因為這顆芯片是F401,而沒有合適的demo,所以就以QP提供的F407的demo為模板進行移植,說是移植,基本不怎么用改就能跑起來。先看看源碼哪里需要改。

   在調試的過程中遇到了兩個問題,一個就是主頻的問題,因為芯片不同,所以,一定要當心看看F401和F407之間到底有哪些區(qū)別。找區(qū)別,我不太習慣芯片手冊了,還是CUBEMX用來順手,熟悉STM32小伙伴應該都懂得。我在這個地方栽了一個跟頭。

圖片可能看不太清,這里說一下,401最快是84M的主頻,407最快是168M的主頻,都是F4,差別有點大,因為我們直接用的是407 所以要仔細去看看的時鐘配置。

傳不了圖了,另開接此位置。。。請看中篇。

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 9
收藏 8
關注 150
成為作者 賺取收益
全部留言
0/200
  • 星球居民-MpJKwDuF 2020-11-25 20:31
    學習下
    回復