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)行探討
主站蜘蛛池模板: 日本人妻一区二区三区不卡影院| 中文字幕久久精品波多野结| 日韩国产一区二区三区无码| 97视频在线观看免费视频| 性69交片免费看| 亚洲日本中文字幕天堂网| 国产成人亚洲毛片| 呦视频在线一区二区三区| 亚洲日本在线免费观看| 亚洲精品制服丝袜二区| 在线观看国产网址你懂的| 国产网站在线看| 欧美激情二区三区| 国产美女视频黄a视频全免费网站| 日韩精品亚洲人旧成在线| 久久国产毛片| 国产成人精品在线1区| 亚洲精品男人天堂| 国产精品yjizz视频网一二区| 日韩精品一区二区三区免费| 亚洲精品在线影院| 久久青草免费91线频观看不卡| 亚洲天堂网站在线| 国产欧美在线观看视频| 久久久噜噜噜久久中文字幕色伊伊| 沈阳少妇高潮在线| 国产精品一区二区无码免费看片| 成人在线不卡视频| 欧美专区在线观看| 国产好痛疼轻点好爽的视频| 亚洲欧洲日产国产无码AV| 久久无码av一区二区三区| 亚洲高清国产拍精品26u| 国产精品久久久久久影院| 2021国产精品自拍| 四虎成人精品| 无码人妻热线精品视频| 白浆免费视频国产精品视频| 在线观看免费黄色网址| 亚洲大尺码专区影院| 亚洲国产中文在线二区三区免| 国产精品刺激对白在线| 日韩不卡高清视频| 免费在线色| 久久99国产视频| 亚洲精品成人片在线观看| 精品视频在线一区| 日本黄色a视频| 在线观看亚洲天堂| 青青青国产视频手机| 制服丝袜国产精品| 91午夜福利在线观看| 欧美精品伊人久久| 欧美区一区| 久久综合色视频| 天堂网亚洲系列亚洲系列| 制服丝袜国产精品| 亚洲精品中文字幕无乱码| 99久视频| 久久精品午夜视频| 国产超碰在线观看| 亚洲三级网站| 国产裸舞福利在线视频合集| 亚洲国产亚洲综合在线尤物| 久久黄色一级片| 国产精品视频观看裸模| 无码人妻热线精品视频| a级毛片免费播放| 在线观看的黄网| 亚洲中文字幕久久无码精品A| 成人va亚洲va欧美天堂| 97青草最新免费精品视频| 亚洲av成人无码网站在线观看| 日韩在线2020专区| 素人激情视频福利| 性视频一区| 亚洲视频在线观看免费视频| 亚洲无线观看| 欧美97色| 国产成人精品一区二区三在线观看| 欧美h在线观看| 91精品国产情侣高潮露脸|