久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 15776|回復(fù): 0
收起左側(cè)

STM32F103C8 Demo Board試驗心得

[復(fù)制鏈接]
ID:127084 發(fā)表于 2016-6-17 17:04 | 顯示全部樓層 |閱讀模式
一、實驗開始之前
234454kjgsxjtezhhhtwxi.jpg

    試驗開始之前,非常感謝三創(chuàng)電子舉辦的“新年搶樓,送板子”活動,有幸獲得JLINK、ST-LINK以及STM32F103C8Mini開發(fā)板各一塊,雖然有散件待焊,常年奮斗在硬件開發(fā)的熟手們并非難事,一手烙鐵,一手焊錫,不費吹灰之力很快就能將其焊接好。
234455qkx1k2bdq5kmd1b2.jpg
因為J-LINK是 ARM-OB版本,不支持JTAG(其實也不是不支持,親測該型J-LINK 的JTAG不能提供3.3V供電,對于熟悉JTAG引腳接口的人士,可以飛線或外部供電使用),因此只焊接4個SWD接口即可,不過焊上20PIN的標(biāo)準(zhǔn)JTAG接口也未嘗不可,待解決電源供電的引腳后,也能支持通過JTAG下載程序使用了。
二、實驗過程


0、更新ST-LINK固件和JLINK固件
A、ST-LINK固件升級
   剛拿到的ST-LINK固件版本并非是最新的,能與機器上的ST-LINK驅(qū)動完美適配,因此需要使用st-linkv2_upgrade 工具對其進行固件更新。固件更新工具下載地址如下:
STSW-LINK005(http://www.stmcu.org/document/detail/index/id-216344),下載并解壓后可以看見蝴蝶的更新程序。
234455pmf55keh0aw0h00w.jpg

用Mini USB連接ST-LINK后,運行EXE文件,點擊DeviceConnect后,可以得到當(dāng)前固件版本和更新固件版本(因我這里是最后寫的調(diào)試環(huán)境,固版本號始一直的,諸位未升級固件的版本號略有不同),點擊Yes后即可更新固件。
234456xhg900z9imypz719.jpg

B、J-LINK ARM OB固件升級
1)、下載J-LINK驅(qū)動
打開segger管網(wǎng)(https://www.segger.com/
234457mzbul6p55l9yssmj.jpg
找到行欄中找到 Older versions(鏈接:https://www.segger.com/j-link-older-versions.html),在歷史版本中找一個與您當(dāng)前使用的Keil版本和JLINK兼容的版本(比如:4.92鏈接:https://www.segger.com/jlink-software.html?step=1&file=JLink_492
下載后安裝很簡單,可以通過下一步、下一步安裝到系統(tǒng)中。若已經(jīng)安裝有J-LINK驅(qū)動的可以跳過這步,直接升級固件。
2)、恢復(fù)到一個低版本的J-LINK固件
  驅(qū)動下載并按轉(zhuǎn)好后,使用Mini USB連接。J-LINK OB固件恢復(fù)出廠設(shè)置,打開“開始”菜單--〉“SEGGER” ---〉<版本號>---〉“J-LinkCommander”,并輸入 exec  invalidateFw(手動降級命令)如下圖:
234457o3qvhmagub2txvtx.jpg

然后會彈出一個更新固件的對話框,選擇 yes 進入更新
234457ewwzhg3zp366c8np.jpg
234457paa2h7qy42mms2r9.jpg
234458fu65vddzvziz2vp8.jpg



當(dāng)看見 new firmware bootedsuccessfully 后,現(xiàn)在固件已經(jīng)還原為以前較低的版本了。
3)、更新固件
連接上J-LINK后,啟動Keil ,啟動 “Flash”----〉Configure Flash Tools后,
234459gtykbjyyakrkbnyj.jpg

選擇Debug標(biāo)簽頁,在Use下拉框中選擇 J-LINK后點擊Settings。
234459it12st2p6eekses6.jpg

在彈出配置菜單后提示后,提示有固件更新的對話框,點擊“是”。
234500zjw0uyu1g70jm33n.jpg
系統(tǒng)會根據(jù)當(dāng)前的J-LINK驅(qū)動自動監(jiān)測并更新J-LINK固件。
234500y7bzexes6m1bsl02.jpg

更新固件后,J-LINK配置窗口顯示出了相關(guān)的配置信息,選擇SW調(diào)試方式后,一切準(zhǔn)備工作就做好了。
234501dqybmffkk6bpbz0f.jpg


1、使用CubeMX輔助創(chuàng)建STM32F103C8 Mini開發(fā)板源代碼
234502ps3tsm7s1mzlutnz.jpg
Mini開發(fā)板上有一個PC13引腳連接的LED燈,用CubeMX創(chuàng)建一個STM32F103C8Mini開發(fā)板的工程。MCU選擇 STM32F103C8Tx的芯片。
234503w98ubu18k189s1ss.jpg
選擇好后點擊OK。界面中出現(xiàn)了芯片的引腳的分布圖。
234503i6yvzjtfv1br0jis.jpg
選擇左上角的PC13,在下拉菜單中選擇GPIO_Output。
234504e9pvhas85a9asyu0.jpg
選擇SYS節(jié)點,Debug,選擇Trace-Asynchronous_SW選項。
234504m9lv99a9gd1i86pn.jpg
第二頁時鐘配置默認(rèn),第三頁Configuration,選擇GPIO按鈕,在彈出菜單中選中列表中的PC13,編輯下方的PC13配置參數(shù),點擊OK。
234505u7ve3dvszv4devv3.jpg

選擇Project,點擊Project Settings。選擇項目的保存目錄和項目名稱,并選擇IDE的(這里選擇MDK-ARM V5),選好后點擊OK,如下圖:
234506desdsqev6q1l766d.jpg
參數(shù)選擇好后就創(chuàng)建代碼,Project--->GenerateCode
234506gyttdwvqwodzw5dv.jpg

在創(chuàng)建源代碼進度條完成后,彈出代碼成功創(chuàng)建的對話框,點擊OpenProject用MDK程序打開項目。
234506ocintcb7t37ncnm0.jpg
  打開項目后,在Main.c文件中增加下列內(nèi)容:
        
.......
   
/* USER CODE BEGIN Includes */
   
#include "main.h"
   
......
   
/* USER CODE BEGIN 0 */
   
uint8_t sta = ON;
   
static enum Enum_Delay delay =    Delay_512;
   
void LED_Glisten();
   
/* USER CODE END 0 */
   
...........
   
   

        
.............
   
     /* USER CODE BEGIN 3 */
   
                   LED_Glisten();
   
............
   
   
/* USER CODE BEGIN 4 */
   
void LED_Glisten() {
   
         LED(sta);
   
         sta    = !sta;
   
         HAL_Delay(delay);
   
}
   
/* USER CODE END 4 */
   
   
  

在INC目錄中新增一個main.h文件

        
#ifndef MAIN_H_
   
#define MAIN_H_
   
   
enum Enum_Delay {
   
         Delay_512    = 512,
   
         Delay_256    = 256,
   
         Delay_128    = 128,
   
         Delay_64    = 64,
   
         Delay_32    = 32,
   
         Delay_16    = 16,
   
         Delay_8    = 8,
   
         Delay_4    = 4,
   
         Delay_2    = 2,
   
         Delay_1    = 1,
   
         Delay_0    = 0
   
};
   
   
#define ON   1      
   
#define OFF  0      
   
   
#define LED(STA)  (STA)?HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET):HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET)
   
   
#endif
   
   
  

這樣一個LED閃亮的程序就制作好了,經(jīng)過編譯后就能下載到MINI開發(fā)板中了。
2、ST-LINK 與STM32F103C8 Mini開發(fā)板連接
用跳線冒將Boot0和Boot1都連接到0條線柱上(接地),使用ST-LINK與F103C8Mini連接,連接方式如下圖:
234507q4hmzrt81mrvm48m.jpg

上圖20PIN接口三角標(biāo)識的是第一腳,Reset和TDO引腳是可選連接,連接好后,打開"STM32 ST-LINK Utility"軟件,在點擊Target---〉Connect連接后,顯示如下圖:
234507bzp1169p0kjx0e5g.jpg

這樣就能通過ST-LINK擦除MINI開發(fā)板上的程序,給開發(fā)板下載程序了~~~~,當(dāng)然ST-LINK的用法不僅如此,在KEIL軟件中,可以通過ST-LINK進行聯(lián)機調(diào)試。連接上ST-LINK后,啟動Keil ,啟動 “Flash”----〉Configure Flash Tools后。選擇Debug標(biāo)簽頁,在Use下拉框中選擇 ST-LINK后點擊Settings。
234508eopww78lb7775p9l.jpg

選擇Ort為SW,點擊確定,這時就可以使用ST-LINK調(diào)試代碼了。
234508jkzh4bymnkoby0bh.jpg

選擇Debug---〉Start/Stop Debug Session 對前面小節(jié)中編寫的代碼進行調(diào)試。
234508uzpdhymrbpdvbc29.jpg


3、JLINK 與STM32F103C8 Mini開發(fā)板連接
用跳線冒將Boot0和Boot1都連接到0條線柱上(接地),使用J-LINK與F103C8Mini連接,連接方式如下圖:  
234508m77jwrjpb7uhvlrh.jpg

  上圖20PIN接口三角標(biāo)識的是第一腳,使用的J-LINK ARM-OB 的SWO方式與MINI開發(fā)板連接。連接好后,打開MDK軟件,選擇Debug標(biāo)簽頁,在Use下拉框中選擇J-LINK后點擊Settings。
234509b8btb8a6epittiss.jpg

選擇Ort為SW,點擊確定,這時就可以使用J-LINK調(diào)試代碼了。
234509rgg6teoygq4g7044.jpg

選擇Debug---〉Start/Stop Debug Session 對前面小節(jié)中編寫的代碼進行調(diào)試。
234510iakfkifzdegbkzga.jpg

4、ISP與STM32F103C8 Mini開發(fā)板連接
使用ST-LINK和J-LINK都需要芯片的Boot0和Boot1置于低點平。除此之外,還有從SRAM啟動和系統(tǒng)存儲器啟動的方式,詳細(xì)設(shè)置如下表:

  
STM32三種啟動模式對應(yīng)的存儲介質(zhì)均是芯片內(nèi)置的,它們是:
  
用戶閃存
BOOT0=0,BOOT1=x
芯片內(nèi)置的Flash,即主存儲器Flash
SRAM:
BOOT0=1,BOOT1=1
芯片內(nèi)置的SRAM 區(qū),就是內(nèi)存啦
系統(tǒng)存儲器:
BOOT0=1,BOOT1=0
芯片內(nèi)部一塊特定的區(qū)域,叫做系統(tǒng)存儲器。芯片出廠時在這個區(qū)域預(yù)置了一段Bootloader,就是通常說的ISP程序。這個區(qū)域的內(nèi)容在芯片出廠后沒有人能夠修改或擦除,即它是一個ROM 區(qū)。
我們可以設(shè)置Boot0為高點平, Boot1為低點平使用ISP來連接開發(fā)板,Boot0、Boot1如下圖所示:
234510nf9v41b9646t4n5d.jpg


設(shè)置好BOOT0、Boo1條線帽后(并非下圖照片中的設(shè)置),用下圖連接方法來連接一個USB轉(zhuǎn)TTL串口的工具(如:CH340G等芯片工具)。
234511h2bdt8zi2gyygz2k.jpg

http://www.stmcu.org/網(wǎng)站下載《STM32和STM8 FlashLoader演示程序:stsw-mcu005》(鏈接:http://www.stmcu.org/document/detail/index/id-216326),安裝后在開始菜單中會出現(xiàn)FlashLoader目錄,DemonstratorGUI 工具是官方提供的ISP工具。
234511la25jirgggatvcsm.jpg

做好Boot0=1,Boot1=0準(zhǔn)備,用串口TTL連接到MINI主板的準(zhǔn)備工作后,連接USB,并啟動Demonstrator GUI 軟件。
234511l29e9hq3iq8yq81u.jpg

在PortName的下拉框中選擇正確CH340G工具所在的端口號后,點擊下一步;
234512u7m52wwwdw5vuuin.jpg

當(dāng)出現(xiàn)“Targetis readable.....”時,代表已經(jīng)于MINI開發(fā)板芯片連接上了,點擊下一步;
234513g7thh6h7520qq4m7.jpg

這里就通過軟件讀取到MINI開發(fā)板的上STM32F103C8芯片內(nèi)部的Flash信息,每個Flash塊大小1K,Page0到Page63總共64個塊區(qū)(地址0x0800,0000~0x0800,FFFF)。點擊下一步;
234513mguta7hzd3za8k34.jpg

這里我們可以進行Flash擦除;或者下載HEX文件到Flash中進行程序更新;或者更新設(shè)備中的文件;或者進行保護設(shè)置;或編輯Flash的字節(jié)信息等功能。

三、實驗后的心得   


在本文的試驗里,介紹了3種基本與開發(fā)板的鏈接方式,分別是ST-LINK、J-LINK以及TTL串口的ISP方式連接。通過這三種方式,在項目研發(fā)、產(chǎn)品設(shè)計時,就能通過開發(fā)工具實現(xiàn)軟件開發(fā)、程序調(diào)試等工作,以便對芯片內(nèi)部或電路板上各種硬件資源進行操作;在某些產(chǎn)品設(shè)計中,還需要將這些接口預(yù)留出來便于軟件下載與升級。

本文PDF文檔下載: 6、STM32F103C8 Demo Board試驗心得.pdf (2.18 MB, 下載次數(shù): 21)
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 麻豆av在线播放 | 亚洲综合视频在线观看 | 成人免费看片在线观看 | 日韩国产欧美 | 成人免费在线视频观看 | 福利小视频 | 在线看av网址 | 亚洲第一毛片 | 精品一区二区三区四区五区 | 这里只有精品视频 | 久久久久久黄色 | 国产二区视频在线观看 | 成人免费毛片入口 | 国产寡妇亲子伦一区二区三区四区 | 97精品在线 | 看片地址| 香蕉视频在线播放 | 99久久久| 一级黄片毛片 | 福利影院在线观看 | 欧美福利一区 | 911精品国产一区二区在线 | 日韩欧美在线视频 | 天堂中文av | 久久久免费看 | 性色av一区二区 | 性视频网| 日韩免费在线播放 | 三级网站免费 | 香蕉视频一直看一直爽 | 看片黄全部免费 | 免费亚洲视频 | 四虎影视最新地址 | 国产999久久久 | 特黄av| 国产精品久久久久久久午夜 | 韩日av在线| 黄色成人在线视频 | 三上悠亚一区 | 国产成人免费观看 | 国产一区二区三区视频在线 |