• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      淺談STM-Studio的變量實(shí)時(shí)觀測(cè)功能

      2018-05-16 09:29:08
      關(guān)鍵詞:編譯器列表日志

      (深圳航天科技創(chuàng)新研究院,深圳 518057)

      引 言

      在單片機(jī)調(diào)試過(guò)程中,能夠?qū)崟r(shí)地觀測(cè)某些變量的值,對(duì)調(diào)試工作是十分重要的。它既可以讓開(kāi)發(fā)人員了解程序的運(yùn)行情況,又可以反映出整個(gè)系統(tǒng)的動(dòng)態(tài)信息。

      以往,常見(jiàn)的實(shí)現(xiàn)方式主要有兩種。一種是通過(guò)通信接口(如串口、USB)將要觀測(cè)的變量發(fā)送到上位機(jī)中。上位機(jī)中運(yùn)行一些調(diào)試助手類(lèi)的工具,以數(shù)值或者波形的方式實(shí)現(xiàn)變量的觀測(cè)。這種方式需要在軟件中增加額外的代碼,且占用部分通信接口及MCU的運(yùn)行時(shí)間。另一種方式是用編譯器(如IAR,KEIL)提供的一些觀測(cè)窗口功能。但多數(shù)情況下,編譯器提供的功能有限,往往只能實(shí)現(xiàn)對(duì)變化速率很慢的變量的簡(jiǎn)單查看。

      STM-Studio是意法半導(dǎo)體專(zhuān)門(mén)為STM32開(kāi)發(fā)的一款變量實(shí)時(shí)觀測(cè)工具。其通過(guò)ST-LINK與STM32相連,除調(diào)試接口外,不會(huì)占用額外的引腳,且不需要對(duì)原程序做任何修改,大大地方便了軟件調(diào)試工作。

      1 STM-Studio功能簡(jiǎn)介

      STM-Studio通過(guò)實(shí)時(shí)地讀取和顯示變量來(lái)調(diào)試和診斷STM32程序。它運(yùn)行在PC上,通過(guò)ST-LINK與單片機(jī)相連。STM-Studio是一種非侵入性的工具,完全保存了程序的實(shí)時(shí)性,十分適合調(diào)試一些不能被暫停的程序,如電機(jī)控制程序等,并且可以多種圖形視圖。

      主要功能有:

      ① 可以運(yùn)行于各種Windows系統(tǒng)上。

      ② 通過(guò)ST-LINK與STM32相連(支持JTAG或SWD協(xié)議)。

      ③ 在程序運(yùn)行時(shí),從RAM中以非侵入的方式讀取變量。

      ④ 從ELF文件中解析調(diào)試信息。

      ⑤ 兩種類(lèi)型觀測(cè)方式。

      a. Variable viewer——以示波器形式顯示實(shí)時(shí)波形;

      b. TouchPoint viewer——將兩個(gè)變量組合成一個(gè)二維坐標(biāo)系的坐標(biāo),顯示點(diǎn)圖;

      ⑥ 將觀測(cè)的數(shù)據(jù)記錄成文件,并且可以在工具中進(jìn)行回放。

      2 STM-Studio使用說(shuō)明

      2.1 導(dǎo)入ELF文件并選擇變量

      編譯器在編譯完工程后,會(huì)產(chǎn)生ELF文件,不同編譯器的輸出文件會(huì)有所不同。如在IAR中,可以選擇產(chǎn)生*.out文件。

      運(yùn)行STM-Studio,點(diǎn)擊Import variales from executable,在可執(zhí)行文件框中選擇工程輸出的ELF文件,STM-Studio會(huì)自動(dòng)識(shí)別里面的全局變量,并以列表形式顯示出來(lái),如圖1所示。

      圖1 導(dǎo)入ELF文件

      在圖1中,選擇要觀測(cè)的變量,而后點(diǎn)擊Import,在軟件主界面的Display Variables settings窗口中,便可以看到添加進(jìn)來(lái)的變量列表,如圖2所示,列表中包含了變量的部分信息,如內(nèi)存地址、數(shù)據(jù)類(lèi)型等。

      圖2 變量列表

      2.2 觀測(cè)配置

      用戶(hù)可以對(duì)STM-Studio的觀測(cè)做許多配置,以便更好地適合自己需求。這些配置主要包括——觀測(cè)數(shù)據(jù)的采樣率、采樣范圍和日志文件的存儲(chǔ)位置等。

      首先,用戶(hù)可在Acquisition rate框中,輸入希望的數(shù)據(jù)采樣速率,最小為1 ms。但是,受制于ST-LINK的通信速率以及變量的數(shù)量和字長(zhǎng),最終的采樣率不一定能達(dá)到用戶(hù)期望的值。在日志文件中,會(huì)包含有每個(gè)采樣點(diǎn)的相對(duì)時(shí)間信息,用戶(hù)可從中獲得真實(shí)的采樣速率。

      然后,在Variable selection選項(xiàng)中,用戶(hù)可以選擇軟件采樣的范圍。此處推薦選擇最后一個(gè)選項(xiàng)——Acquire only variables used by visible viewers。因?yàn)檫@個(gè)選項(xiàng)是三個(gè)選項(xiàng)中采樣范圍最小的一個(gè),因此,采樣率最有保障。

      最后,在Log file框中,選擇日志文件要存放的位置。觀測(cè)功能開(kāi)始后,軟件會(huì)在相應(yīng)位置創(chuàng)建一個(gè)文件,用于記錄數(shù)據(jù)。每次重新開(kāi)始觀測(cè)功能,軟件都會(huì)清空該文件原來(lái)的數(shù)據(jù)。

      以上是幾個(gè)常用的配置,除了這幾項(xiàng),STM-Studio還有許多其它配置,比如設(shè)置觸發(fā)功能、與ST-LINK的連接設(shè)置等。

      2.3 創(chuàng)建觀測(cè)窗口

      STM-Studio允許用戶(hù)創(chuàng)建多個(gè)觀測(cè)窗口,每個(gè)窗口顯示不同的變量組合。在Viewers settings中點(diǎn)擊右鍵,選擇New viewer便創(chuàng)建了一個(gè)新的窗口。各個(gè)窗口間也可以有多種組合方式,如圖3所示,創(chuàng)建了3個(gè)窗口,且將窗口2和窗口3單獨(dú)出來(lái)。

      圖3 多窗口

      2.4 向窗口加入變量

      在第2.1節(jié)中的變量列表里面,選擇變量,并在右鍵菜單Send to中指定變量使用窗口。在窗口的底部,會(huì)顯示有哪些變量加入了該窗口,以及對(duì)應(yīng)的曲線(xiàn)是什么顏色。

      3 實(shí)例展示

      A/D采樣是在開(kāi)發(fā)中經(jīng)常用到的功能。有時(shí),需要實(shí)時(shí)觀測(cè)A/D采集的數(shù)據(jù)或者記錄數(shù)據(jù)做一些分析。實(shí)例展示一個(gè)使用STM32F767的ADC采集信號(hào)發(fā)生器產(chǎn)生的正弦信號(hào)應(yīng)用。

      首先編寫(xiě)一個(gè)A/D采集的程序,在程序中,ADC的一個(gè)通道以1 KHz的頻率采集信號(hào)發(fā)生器輸出端的信號(hào),并將其轉(zhuǎn)換成電壓值,該值以float型存儲(chǔ),命名為adc_value。然后編譯工程,并按前面描述,將變量加入到觀測(cè)窗口中。最后進(jìn)行下載程序,并運(yùn)行STM-Studio,得到如圖4所示的觀測(cè)曲線(xiàn)。 得到的日志文件如圖5所示。

      圖4 觀測(cè)曲線(xiàn)

      圖5 日志文件

      結(jié) 語(yǔ)

      參考文獻(xiàn)

      [1] ST.Getting started with STM-STUDIO,2014.

      猜你喜歡
      編譯器列表日志
      巧用列表來(lái)推理
      一名老黨員的工作日志
      學(xué)習(xí)運(yùn)用列表法
      扶貧日志
      心聲歌刊(2020年4期)2020-09-07 06:37:14
      擴(kuò)列吧
      基于相異編譯器的安全計(jì)算機(jī)平臺(tái)交叉編譯環(huán)境設(shè)計(jì)
      游學(xué)日志
      不含3-圈的1-平面圖的列表邊染色與列表全染色
      通用NC代碼編譯器的設(shè)計(jì)與實(shí)現(xiàn)
      一種基于粗集和SVM的Web日志挖掘模型
      麻江县| 祁门县| 长汀县| 周至县| 祁东县| 灵石县| 东源县| 荆州市| 西安市| 大姚县| 高雄市| 永清县| 贵南县| 清河县| 额敏县| 乳源| 大渡口区| 普兰店市| 西林县| 平凉市| 师宗县| 宁德市| 册亨县| 沾益县| 西吉县| 海宁市| 芦山县| 孟连| 沿河| 班玛县| 连山| 九江市| 峨眉山市| 苗栗县| 鄢陵县| 娱乐| 西乡县| 广饶县| 天津市| 丰顺县| 德格县|