吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在家沒有硬件開發板怎么調試STM32?

技術讓夢想更偉大 ? 來源:技術讓夢想更偉大 ? 2023-05-05 14:25 ? 次閱讀

01前言

在學習51單片機的時候,經常會使用keil+protues的方式來做一些實驗,這樣的模擬仿真為我們節省了很多硬件和時間成本,可以更直觀的看到代碼的執行過程。

那么當切換到stm32系列單片機的時候,有些版本的protues可能不支持了(有的版本也支持STM32仿真),但是keil的模擬功能還是有很大的用處,例如stm32f103單片機,在keil中可以實現很好的模擬效果。

我們可以在其中使用中斷、定時器、PWM等功能,可以觀測到GPIO的輸出情況。然而keil對stm32系列單片機不是很好的支持,如果換一個型號,你會發現完全無法模擬!!!

02配置keil,模擬stm32系列單片機

我們可以通過修改某些地方來實現keil對stm32的模擬功能。

1)首先來修改“debug”標簽的內容

65661f38-eb0c-11ed-90ce-dac502259ad0.jpg

“Use simulaor”代表要使用軟件模擬仿真

dialog DLL”的內容是“DARMSTM.DLL“,表示使用STM系列

“parameter”的內容是“-pSTM32F051C8“,這里匹配的是當前單片機的型號

2)initialization file

先來看一下這個文件的內容

map 0x40000000,0x4000ffff read write

map 0x40010000,0x4001ffff read write

map 0x40020000,0x4002ffff read write

map 0x48000000,0x4800ffff read write

這段內容其實是在設置單片機的內存地址的讀寫特性,上面的這幾段地址都是可讀可寫的。C語言就是在存儲器里不停的尋址,然后執行指令,那為什么會是上面這些地址呢?可以查看stm32f051單片機的存儲器映射

6572d570-eb0c-11ed-90ce-dac502259ad0.jpg

上面只是截取部分存儲器的映射情況,這是AHB2的地址。例如你要使用RCC功能,那么可以看到0x40021000?0x400213ff這部分地址需要有讀寫屬性。

03跟蹤某個變量

1)找到邏輯分析儀

完成了基本的配置以后,我們就可以debug了

6587294e-eb0c-11ed-90ce-dac502259ad0.jpg

Debug按鈕就不用多說了,中間有一個按鈕時邏輯分析儀,我們可以點擊它,喚醒邏輯分析功能。邏輯分析儀可以幫助我們以圖形的方式來觀測某個型號。

2)給邏輯分析儀添加變量

658f3a44-eb0c-11ed-90ce-dac502259ad0.jpg

將鼠標定位到全局變量x的左側,右鍵-->add x to-->logic analyzer,這樣就可以將變量x添加到邏輯分析儀窗口,此時如果點擊運行,可以在窗口看到x變量的曲線

659762be-eb0c-11ed-90ce-dac502259ad0.jpg

3)修改顯示效果

從上面的圖可以看到,由于x是一個uint8類型的變量,因此取值范圍是0~255。但是這樣有時候看不出x的變化情況,因此我需要修改邏輯分析儀的顯示效果。點擊setup,彈出下面的對話框,我們可以修改去x的顯示顏色和顯示范圍

659fe042-eb0c-11ed-90ce-dac502259ad0.jpg

修改之后的顯示效果,可以看出來x每2s增加一次,這也正符合代碼的邏輯

65ac0732-eb0c-11ed-90ce-dac502259ad0.jpg

04使用systick

上面的x變量顯示2s增加一次,原因是我們在代碼里面使用了cube庫的HAL_Delay函數做了延時,來看一下代碼

65b8a49c-eb0c-11ed-90ce-dac502259ad0.jpg

在cube庫中,這個延時函數使用的是systick功能,也許你模擬出的圖像顯示x不會變化,那是因為你的systick功能沒有配置好

1)點擊peripheral---core peripheral---system tick timer

65c56ede-eb0c-11ed-90ce-dac502259ad0.jpg

2)按照下面的方式,使能systick

65cd7106-eb0c-11ed-90ce-dac502259ad0.jpg

3)去掉代碼中的等待

如果你在配置時鐘代碼的時候,有一些狀態的等待,那么你需要關掉它,否則無法模擬仿真的

65d838a2-eb0c-11ed-90ce-dac502259ad0.jpg

05追蹤GPIO

如果你的代碼中要輸出一個pwm波,那么邏輯分析儀是好的結果勘測儀器,但是你沒有邏輯分析儀,那么還是來軟件模擬一下吧。現在假如我使用stm32f051c8這個芯片,在PB2口輸出一個pwm波形,那么我們來模擬仿真一下

65e4e066-eb0c-11ed-90ce-dac502259ad0.jpg

我們在keil軟件的下方可以看到一個command窗口,在其中輸入一條指令:

La (*((volatile unsigned int *)0x48000414))>>2

上面的指令是在邏輯分析儀中跟蹤某個變量,這個變量的地址是0x48000414的bit2,

翻閱手冊你可以看到,這個地址正好是PB2。。。這樣我們就看到下面的結果

65ef657c-eb0c-11ed-90ce-dac502259ad0.jpg

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44622

    瀏覽量

    638542
  • STM32
    +關注

    關注

    2272

    文章

    10923

    瀏覽量

    357567
  • 51單片機
    +關注

    關注

    274

    文章

    5705

    瀏覽量

    124296
  • 開發板
    +關注

    關注

    25

    文章

    5121

    瀏覽量

    98194
  • GPIO
    +關注

    關注

    16

    文章

    1216

    瀏覽量

    52377

原文標題:在家沒有硬件開發板怎么調試STM32?

文章出處:【微信號:技術讓夢想更偉大,微信公眾號:技術讓夢想更偉大】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    奮斗STM32開發板V5原理圖

    奮斗STM32開發板V5原理圖 配套開發板光盤包含了奮斗所有產品的文檔資料和例程以及技術資料 奮斗STM32開發板、奮斗配套書作者親自在線技
    發表于 11-13 14:21 ?56次下載

    stm32開發板開發板原理圖

    stm32開發板開發板原理圖。
    發表于 12-21 15:38 ?64次下載

    stm32開發板PCB

    stm32開發板相關資料,又需要的下來看看
    發表于 12-14 21:27 ?61次下載

    基于STM32野火開發板上的源程序

    文檔內容包含了STM32野火開發板上的源程序,MP3_+_FATFS_+_SD卡的程序,程序已在板子上調試通過,供網友參考。
    發表于 09-01 14:46 ?128次下載

    STM32開發板硬件詳解及STM32軟件仿真詳解

    STM32手冊: 本章將分為如下幾個部分: 1,ALIENTEK MiniSTM32 開發板簡介; 2,ALIENTEK MiniSTM32 開發板
    發表于 09-12 15:30 ?0次下載

    stm32開發板哪個好

    stm32開發板樣式多種多樣,stm32開發板哪個好? 比如官方的4M\mini stm32\
    發表于 10-10 08:36 ?5.6w次閱讀

    微雪電子STM32F469NIH6開發板 學習簡介

    STM32F469I-DISCO STM32F469NIH6開發板 評估 板載ST-LINK/V2 支持仿真調試 型號
    的頭像 發表于 12-26 15:57 ?4420次閱讀
    微雪電子<b class='flag-5'>STM32</b>F469NIH6<b class='flag-5'>開發板</b> 學習<b class='flag-5'>板</b>簡介

    STM32F4開發板硬件平臺簡介

    F4 開發板的特點二、ALIENTEK 探索者 STM32F4 開發板資源說明1.硬件資源說明總結前言實踐出真知,要想學好 STM32F4,
    發表于 11-21 13:51 ?44次下載
    <b class='flag-5'>STM32</b>F4<b class='flag-5'>開發板</b><b class='flag-5'>硬件</b>平臺簡介

    STM32F407開發板用戶手冊】第8章 STM32F407的終極調試組件Event Recorder

    STM32F407開發板用戶手冊】第8章 STM32F407的終極調試組件Event Recorder
    發表于 12-04 14:21 ?19次下載
    【<b class='flag-5'>STM32</b>F407<b class='flag-5'>開發板</b>用戶手冊】第8章 <b class='flag-5'>STM32</b>F407的終極<b class='flag-5'>調試</b>組件Event Recorder

    STM32STM32 F4開發板介紹

    目錄01、STM32F4開發板的資源圖02、STM32F4開發板板載資源03、STM32F4部分資源說明3.1、JTAG/SWD3.2、
    發表于 12-17 18:14 ?27次下載
    【<b class='flag-5'>STM32</b>】<b class='flag-5'>STM32</b> F4<b class='flag-5'>開發板</b>介紹

    官方STM32的NUCLEO開發板使用

    官方STM32的NUCLEO開發板使用概述:因工作需求,先買了stm32的NUCLEO開發板做測試,本人使用的是L073RZ這塊板子,也是
    發表于 12-27 19:05 ?8次下載
    官方<b class='flag-5'>STM32</b>的NUCLEO<b class='flag-5'>開發板</b>使用

    AN5093_STM32G4系列硬件開發板入門

    AN5093_STM32G4系列硬件開發板入門
    發表于 11-21 08:11 ?4次下載
    AN5093_<b class='flag-5'>STM32</b>G4系列<b class='flag-5'>硬件</b><b class='flag-5'>開發板</b>入門

    51/AVR/STM32開發板資料

    51/AVR/STM32開發板資料分享
    發表于 11-30 14:12 ?10次下載

    NodeMCU開發板的部署及調試

    本章,給大家分享NodeMCU開發板的部署及調試
    的頭像 發表于 02-07 14:28 ?1939次閱讀
    NodeMCU<b class='flag-5'>開發板</b>的部署及<b class='flag-5'>調試</b>

    正點原子的stm32開發板能用stlink嗎

    在嵌入式開發領域,STM32系列微控制器因其高性能、低成本和廣泛的應用場景而廣受歡迎。正點原子(ZYBO)作為國內知名的嵌入式開發板供應商,提供了多種基于STM32的解決方案。 正點原
    的頭像 發表于 11-13 09:21 ?925次閱讀
    河津市| 威尼斯人娱乐场开户| 菲律宾百家乐试玩| 沙龙百家乐官网娱乐城| 百家乐官网必胜密| 澳门百家乐官网心得玩博| 百家乐官网视频官方下载| 百家乐官网棋牌游戏正式版| 网络百家乐官网破解平台| 百家乐官网五湖四海娱乐平台| 百家乐官网存1000送| 风水罗盘24方位| 网上百家乐能作弊吗| 澳门百家乐官网站| 大发888娱乐城娱乐城| 大发888赌场的微博| 宝胜娱乐| 百家乐官网娱乐城优惠| 百家乐官网龙虎| 阴宅24向| 视频百家乐是真是假| 大发888代充平台| 赌场大轮盘| 百家乐官网平台信誉| 不夜城百家乐官网的玩法技巧和规则| 百家乐游戏程序下载| 如何赢百家乐的玩法技巧和规则 | 新锦江百家乐的玩法技巧和规则| 大发888账号| 锡林郭勒盟| 合乐8百家乐官网娱乐城| 措美县| 百家乐官网单机游戏下| 百家乐现金网开户平台| 威尼斯人娱乐城赌百家乐| 博彩娱乐城| 网站百家乐官网假| 百家乐投注很不错| 大发888娱乐场 下载| 百家乐官网的路怎样看| 真人百家乐官网|