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)行探討
主站蜘蛛池模板: 91精品人妻一区二区| 精品一区二区三区自慰喷水| 亚洲欧美在线看片AI| 大学生久久香蕉国产线观看| 欧美黄网站免费观看| YW尤物AV无码国产在线观看| 无码精品一区二区久久久| 国产欧美又粗又猛又爽老| 日韩小视频在线播放| 亚洲欧洲国产成人综合不卡| 日韩精品成人在线| aa级毛片毛片免费观看久| 伊人蕉久影院| 国产97色在线| 91亚瑟视频| 国产小视频a在线观看| 在线看片国产| 欧美啪啪网| 国产精品亚欧美一区二区| 亚洲欧美另类日本| 亚洲国产精品一区二区高清无码久久| 狠狠色婷婷丁香综合久久韩国| 四虎国产精品永久一区| 欧美午夜一区| 亚洲男人的天堂久久香蕉| 欧美色视频在线| 欧美精品亚洲二区| 国产色图在线观看| 3344在线观看无码| 国产黄色视频综合| 99re免费视频| 欧美综合成人| 国产第四页| 日韩在线欧美在线| 色屁屁一区二区三区视频国产| 精品午夜国产福利观看| 成年人久久黄色网站| 暴力调教一区二区三区| 国产精品播放| 亚洲成人网在线播放| 特级做a爰片毛片免费69| 麻豆国产在线不卡一区二区| 久久精品国产999大香线焦| 大陆精大陆国产国语精品1024| 久久国产精品无码hdav| 午夜无码一区二区三区在线app| 中文字幕资源站| 亚洲色图综合在线| 伊人久久青草青青综合| 欧美一区精品| 日韩欧美网址| 成人字幕网视频在线观看| 在线欧美一区| 国产99在线| 亚洲欧美自拍视频| 新SSS无码手机在线观看| 国产在线专区| 国产女人18水真多毛片18精品 | 午夜日韩久久影院| 爆操波多野结衣| 澳门av无码| 精品国产网站| 国产成人福利在线| 欧美亚洲欧美| 无码在线激情片| 久久国产亚洲偷自| 国产福利小视频高清在线观看| 老司机精品99在线播放| 免费jjzz在在线播放国产| 国产精品偷伦在线观看| 精品国产免费第一区二区三区日韩| 亚洲福利视频网址| 四虎国产在线观看| 最新无码专区超级碰碰碰| 国产网友愉拍精品| 欧洲成人在线观看| 尤物成AV人片在线观看| 国产亚洲精品自在久久不卡| 亚洲欧美成人网| 欧美成人手机在线视频| 真人高潮娇喘嗯啊在线观看| 国产美女自慰在线观看|