999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談ST-LINK調(diào)試器的時(shí)間線調(diào)試技巧

2017-09-03 09:22:49夏傳東
關(guān)鍵詞:調(diào)試單片機(jī)程序

夏傳東

(英格索蘭亞太工程技術(shù)中心,上海200051)

淺談ST-LINK調(diào)試器的時(shí)間線調(diào)試技巧

夏傳東

(英格索蘭亞太工程技術(shù)中心,上海200051)

介紹了使用ST-LINK調(diào)試器調(diào)試STM32系列單片機(jī)的時(shí)間線功能及在EWARM集成開發(fā)環(huán)境中的參數(shù)設(shè)置技巧,以及一個(gè)在直流無刷電機(jī)控制系統(tǒng)中定位與時(shí)間相關(guān)的軟件問題的應(yīng)用實(shí)例。實(shí)驗(yàn)結(jié)果表明,ST-LINK系列調(diào)試器以低廉的價(jià)格,提供了強(qiáng)大的調(diào)試功能,可以快速定位軟件的問題,提高軟件開發(fā)的效率與質(zhì)量。

STM32;ST-LINK;時(shí)間線;調(diào)試器

引 言

在一個(gè)復(fù)雜控制系統(tǒng)的軟件開發(fā)過程中,代碼調(diào)試是其中的關(guān)鍵一環(huán),一個(gè)功能強(qiáng)大、易學(xué)易用的調(diào)試器可以提高代碼調(diào)試的效率,收到事半功倍的效果。

STM32系列是意法半導(dǎo)體公司推出的基于ARM Cortex-M內(nèi)核的32位單片機(jī),具有強(qiáng)大的功能,一般可以使用Segger公司的JLINK系列調(diào)試器用于開發(fā)工作,但其價(jià)格較貴。為此,意法半導(dǎo)體公司推出了ST-LINK系列在線調(diào)試器/編程器,價(jià)格十分低廉,且支持的調(diào)試功能并不比JLINK遜色,而且,若干STM32系列單片機(jī)的開發(fā)板(例如:STM32072B-EVAL、STM3220G-EVAL、STM32303E-EVAL等)均內(nèi)置ST-LINK/V2調(diào)試器,大大地方便了軟件開發(fā)工作。

筆者參與某項(xiàng)目的一款直流無刷電機(jī)控制板設(shè)計(jì)工作,使用了一個(gè)STM32F407單片機(jī), 本文結(jié)合其調(diào)試工作,介紹ST-LINK調(diào)試器調(diào)試STM32單片機(jī)時(shí)間線(Timeline)的技巧。

1 ST-LINK調(diào)試器的時(shí)間線功能簡介

ST-LINK調(diào)試器配合IAR公司開發(fā)的EWARM集成開發(fā)環(huán)境使用時(shí), 可以在時(shí)間線窗口顯示數(shù)據(jù)記錄圖(Data Log Graph)和中斷記錄圖(Interrupt Log Graph)。具體詳細(xì)介紹可以查看參考文獻(xiàn)[4]的第2部分“分析你的應(yīng)用程序—跟蹤”。與早期的仿真器/調(diào)試器相比,借助這兩張圖,軟件開發(fā)者就可以在程序全速運(yùn)行時(shí)以圖形方式非常直觀地觀察指定數(shù)據(jù)的變化情況、中斷的發(fā)生及持續(xù)時(shí)間,大大地方便了軟件調(diào)試工作。

2 ST-LINK調(diào)試器的時(shí)間線功能設(shè)置

在EWARM集成開發(fā)環(huán)境中選擇Project>>Options…,打開項(xiàng)目設(shè)置對話框,在Debugger類的Setup頁中,從Driver下拉框中選擇“ST-LINK”。

然后在ST-LINK類的Interfaces單選框中選擇SWD,CPU clock文本框中填入CPU 時(shí)鐘頻率,SWO clock復(fù)選框中選擇Auto。請注意CPU 時(shí)鐘頻率值務(wù)必填寫準(zhǔn)確,否則會(huì)造成時(shí)間線窗口的時(shí)間坐標(biāo)值不準(zhǔn)確。

對項(xiàng)目文件進(jìn)行編譯,無錯(cuò)誤后在EWARM集成開發(fā)環(huán)境中選擇Project>>Download and Debug,即啟動(dòng)ST-LINK調(diào)試器。選擇ST-LINK>>SWO Configuration…,打開SWO配置對話框,從Rate下拉框中選擇“11718”,從Data Log Events單選框中選擇“PC + data value + base addr”,如圖1所示。請注意Rate值不宜設(shè)置的太大,否則會(huì)數(shù)據(jù)溢出,影響時(shí)間線窗口的正常顯示。

圖1 SWO配置

選擇ST-LINK>>SWOTrace Window Settings…,打開SWO跟蹤窗口設(shè)置對話框,取消所有復(fù)選項(xiàng),如圖2所示。

圖2 SWO跟蹤窗口設(shè)置

選擇ST-LINK>>Timeline,即出現(xiàn)空白的時(shí)間線窗口。

3 利用時(shí)間線功能調(diào)試單片機(jī)程序的實(shí)例

某直流無刷電機(jī)控制程序使用STM32F407單片機(jī)內(nèi)置的SysTick定時(shí)器作為任務(wù)調(diào)度以及所有軟件延時(shí)的時(shí)間基準(zhǔn),其頻率設(shè)置為2 000 Hz;同時(shí)設(shè)置液晶屏顯示的刷新頻率為10 Hz,單片機(jī)上電后對液晶屏初始化,軟件延時(shí)1 s后開啟顯示。

在軟件開發(fā)的初期階段,發(fā)現(xiàn)液晶屏的顯示會(huì)出現(xiàn)隨機(jī)性的異常。為了核對液晶屏的初始化時(shí)序,使用ST-LINK調(diào)試器的時(shí)間線功能可以獲得精確的時(shí)間信息,為問題的定位提供了很大的便利。

在程序中使用了一個(gè)名為LCD_welcome_message_UI_counter的變量,它被初始化為10,每100 ms減1,到0時(shí)開啟液晶屏顯示。為了獲得這個(gè)變量隨時(shí)間變化的信息,可以在EWARM集成開發(fā)環(huán)境中選擇View>>Breakpoints,在Breakpoints窗口中用右鍵菜單選擇New Breakpoint>>Data Log,在彈出的編輯斷點(diǎn)對話框中輸入此變量的信息,如圖3所示。

在EWARM集成開發(fā)環(huán)境中選擇Debug>>Go,程序會(huì)全速運(yùn)行,與此同時(shí),時(shí)間線窗口也會(huì)同步更新。約2 s后選擇Debug>>Break,暫停程序的運(yùn)行,此時(shí)時(shí)間線窗口顯示如圖4所示,其上部為變量LCD_welcome_message_UI_counter的動(dòng)態(tài)變化圖,下部為SysTick中斷的動(dòng)態(tài)變化圖。

程序要求的SysTick中斷每500 μs發(fā)生一次,將圖4放大后顯示如圖5所示。SysTick中斷的發(fā)生過程在時(shí)間軸上被連續(xù)且均勻地記錄了下來,目測兩次SysTick中斷的間隔為500 μs,因此可以判斷其行為與預(yù)期基本吻合。

圖3 編輯斷點(diǎn)

為了更準(zhǔn)確地獲得SysTick中斷的時(shí)間信息,將圖5放大,鼠標(biāo)經(jīng)過中斷發(fā)生的區(qū)域時(shí)會(huì)顯示每次中斷發(fā)生的詳細(xì)信息。第一次、第二次、第三次中斷詳細(xì)信息分別如圖6~圖8所示。第一次、第二次、第三次中斷發(fā)生的時(shí)間分別為68.74 μs、568.93 μs、1068.74 μs, 第二次與第一次之間的實(shí)際時(shí)間與理論值有0.19 μs的誤差,相對誤差為0.038%,第三次與第一次之間的實(shí)際時(shí)間與理論值完全吻合。據(jù)此,可以認(rèn)為程序?qū)ysTick中斷的設(shè)置正確,與設(shè)計(jì)要求完全吻合。

圖4 程序運(yùn)行后的時(shí)間線窗口

圖5 SysTick中斷

圖6 第一次SysTick中斷

圖7 第二次SysTick中斷

圖8 第三次SysTick中斷

應(yīng)用同樣的方法,可以獲得對變量LCD_welcome_message_UI_counter執(zhí)行寫操作的詳細(xì)時(shí)間信息,分別如圖9~圖12所示。第1次、第2次、第3次、第11次寫操作發(fā)生的時(shí)間分別為75.81 μs、407 094.48 μs、506 030.86 μs、1 298 215.24 μs, 第1次寫操作在程序初始化時(shí)將其賦值為10;定時(shí)器啟動(dòng)以后每100 ms操作將其值減1,直到為0。第3次與第2次之間的實(shí)際時(shí)間與理論值有-1063.62 μs的誤差,相對誤差為-1.063 62%;第11次與第2次之間的實(shí)際時(shí)間與理論值有-8 879.24 μs的誤差,相對誤差為-0.986 58%。

據(jù)此,可以認(rèn)為程序通過軟件延時(shí)對變量LCD_welcome_message_UI_counter的操作在時(shí)域的誤差較大,因此導(dǎo)致液晶屏的顯示出現(xiàn)問題。經(jīng)修改相關(guān)的程序后,減小了對變量LCD_welcome_message_UI_counter的操作延時(shí)誤差,將相對誤差的最大值降低到0.2%,程序經(jīng)過1 000次的反復(fù)測試,液晶屏的顯示沒有一次出現(xiàn)隨機(jī)性的異常,可以認(rèn)為軟件的問題已經(jīng)得到修復(fù)。

結(jié) 語

ST-LINK系列調(diào)試器以低廉的價(jià)格提供了強(qiáng)大的調(diào)試功能,可以快速定位軟件的問題,提高軟件開發(fā)的效率與質(zhì)量。在實(shí)際使用ST-LINK系列調(diào)試器的時(shí)間線調(diào)試功能時(shí),需要使用者在EWARM集成開發(fā)環(huán)境中注意以下選項(xiàng)的正確設(shè)置,否則會(huì)影響調(diào)試效果:CPU 時(shí)鐘

圖10 變量LCD_welcome_message_UI_counter第二次寫操作

圖11 變量LCD_welcome_message_UI_counter第三次寫操作

圖12 變量LCD_welcome_message_UI_counter第十一次寫操作

[1] STMicroelectronics.STM32F405/415,STM32F407/417,STM32F427/437 and STM32F429/439 advanced ARM-based 32-bit MCUs,2012.

[2] STMicroelectronics.STM32F405xx STM32F405xx Datasheet,2012.

[3] STMicroelectronics.STM32 PMSM FOC SDK 4.2 Hands-on workshop with hardware tools,2012.

[4] IAR Systems AB.IAR Embedded Workbench C-SPY Debugging Guide for Advanced RISC Machines Ltd’s ARM cores,2007.

夏傳東(主管工程師),主要研究方向?yàn)锳RM開發(fā)平臺(tái)的軟硬件開發(fā)。

Brief Introduction of ST-LINK Timeline Debugging Skills

Xia Chuandong

(Ingersoll Rand Engineering&Technology Center-Asia Pacific,Shanghai 200051,China)

In the paper,the ST-LINK’s timeline feature,setup skills in EWARM IDE for STM32 series MCUs are studied,and the application case of fixing one time related bug on the DCBL motor control software is introduced.The experiment results show that the ST-LINK debugger can provide a powerful debugging function,you can quickly locate the software problems and improve the efficiency and quality of the software development.

STM32;ST-LINK;timeline;debugger

TP332.3

A

?士然

2017-03-21)

猜你喜歡
調(diào)試單片機(jī)程序
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
基于航拍無人機(jī)的設(shè)計(jì)與調(diào)試
電子制作(2018年12期)2018-08-01 00:47:44
FOCAS功能在機(jī)床調(diào)試中的開發(fā)與應(yīng)用
“程序猿”的生活什么樣
英國與歐盟正式啟動(dòng)“離婚”程序程序
無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
電子制作(2017年19期)2017-02-02 07:08:38
調(diào)壓柜的調(diào)試與試運(yùn)行探討
主站蜘蛛池模板: AV无码无在线观看免费| 国产幂在线无码精品| 一级毛片基地| 国产女人在线观看| 伊人无码视屏| 在线观看精品国产入口| 日本高清有码人妻| 99精品国产电影| 成人福利在线观看| 丁香六月综合网| 男人的天堂久久精品激情| 欧美一级在线看| 亚洲性影院| 久久精品国产免费观看频道| 日韩欧美在线观看| 日本三级欧美三级| 99热线精品大全在线观看| 国内精自视频品线一二区| 色综合中文| 日韩高清一区 | 日韩精品少妇无码受不了| 中文字幕亚洲电影| 国产黄在线免费观看| 亚洲中文精品久久久久久不卡| 亚洲美女久久| 91在线精品麻豆欧美在线| 激情综合五月网| 真实国产乱子伦视频| 国产精品va免费视频| 久久精品国产一区二区小说| 青青草国产在线视频| 国产精品毛片一区视频播| 在线看AV天堂| 制服丝袜国产精品| 熟女成人国产精品视频| 在线日本国产成人免费的| 欧美三级自拍| av尤物免费在线观看| 99九九成人免费视频精品| 色亚洲成人| 青草视频免费在线观看| a毛片在线| 久久人与动人物A级毛片| 亚洲精品欧美日本中文字幕| 亚洲区欧美区| 国产女同自拍视频| 亚洲国产中文综合专区在| 国产精品理论片| 草草线在成年免费视频2| 青草精品视频| 九九热这里只有国产精品| 国产人人乐人人爱| 久久久噜噜噜| 色亚洲激情综合精品无码视频| 国产在线自在拍91精品黑人| 永久毛片在线播| 中文字幕日韩视频欧美一区| 国产黄在线免费观看| 99久久性生片| 色综合天天综合中文网| 日韩欧美国产另类| a级毛片免费看| 国产91精品调教在线播放| 丁香六月激情婷婷| 国产精品自在拍首页视频8| 亚洲国产清纯| 91精品免费高清在线| 波多野结衣一区二区三区AV| 精品日韩亚洲欧美高清a| 国产福利免费观看| 亚洲乱码在线视频| 久久久久人妻一区精品| 亚洲精品中文字幕午夜| 无码人中文字幕| 成人免费黄色小视频| 日韩东京热无码人妻| 欧类av怡春院| 欧美中日韩在线| 男女猛烈无遮挡午夜视频| 国产永久在线视频| 男女男精品视频| 九九久久精品国产av片囯产区|