娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月18日(星期六)

正在發生

2020年01月18日 | 如何使用串口來給STM32下載程序

發布者:eta17 來源: eefocus關鍵字:串口  STM32  下載程序 手機看文章 掃描二維碼
隨時隨地手機看文章

前言

第一次學習STM32的時候,不知道有調試器這個東西,所以一直是通過串口來給STM32下載程序,下載速度也還算可以,一般是幾秒鐘完成。后來用了調試器,可以直接在Keil環境下進行下載,而且還可以進行在線調試,所以后來就很少使用串口來下載程序了。前幾天在uFUN試用群里看到有幾個朋友在使用串口下載程序時,遇到了各種各樣的問題,所以在這里簡單介紹一下如何通過串口來給STM32下載程序。


STM32的啟動模式介紹

從STM32參考手冊上,可以查閱到,STM32的啟動模式,共有下列三種,可以通過BOOT0和BOOT1電平的不同組合,來選擇不同的啟動模式。

關于這幾種模式的介紹,下面是我個人的理解:


主閃存啟動模式:即運行模式,單片機上電即運行程序。


系統存儲器啟動模式:即串口下載模式。上電之前要先設置BOOT0=1,BOOT1=0,然后才能通過串口下載程序。或者在已經上電的情況下,設置BOOT0=1,BOOT1=0,然后按一下復位鍵,這樣也能通過串口下載程序。


SRAM啟動模式:即調試模式。假如我只修改了代碼中一個小小的地方,如果直接擦除整個Flash,比較費時,而且Flash的擦寫次數也是有限制的。所以可以考慮從RAM中啟動代碼,用于快速的程序調試,等程序調試完成后,再將程序下載到Flash中。


有的朋友可能遇到過這種情況:程序第一次下載的時候可以運行,但是掉電重啟之后,程序就不能運行了。這種情況就有可能是把BOOT設置成了串口下載模式,所以掉電之后,并不會自動運行。如果想要即使掉電重啟也能直接運行程序,可以把BOOT設置為主閃存啟動模式,即BOOT0=0。


安裝USB串口驅動

在進行串口下載程序之前,如果串口芯片的驅動程序沒有安裝,那么電腦不能識別串口,如上圖所示,設備管理器里有一個未識別的設備。在安裝串口驅動之前,要先確定開發板所使用的串口芯片,我們的uFUN開發板使用的是CH340串口芯片。這里我提供了幾個常用串口芯片的驅動程序下載地址,大家如果使用其他的串口芯片,要安裝對應的驅動程序:


CH340:CH340/CH341USB轉串口WINDOWS驅動程序

PL2302:PL2303 Windows Driver Download

CP2102:CP210x USB轉UART橋接VCP驅動程序

FT232:FT232R USB UART Driver Download

如果驅動安裝成功,在設備管理器里可以看到該設備對應的串口號:

設置啟動模式為系統存儲啟動模式

上電前,設置BOOT0=1,BOOT1=0。或者是在上電后,設置BOOT0=1,BOOT1=0之后,然后按一下復位按鍵。這兩種方式都可以讓設置為系統存儲啟動模式,從而通過串口下載程序。


參考uFUN的原理圖:

可以看出,BOOT的選擇是通過撥碼開關實現的。S1對應BOOT1,S2對應BOOT0,開關處于ON狀態,BOOT直接接地,為低電平0;開關處于OFF狀態,BOOT上拉為高電平1,即:

這一點和【uFun 開發板快速入門指南 V10】介紹的有所出入,在這里手動@管理員核對一下。

對于uFUN開發板,要切換到串口下載模式,只需要設置S1=ON,即BOOT1=0,S2=OFF,即BOOT0=1,就可以進行下一步的程序下載。如下圖所示:

使用FlyMCU下載程序

STM32串口下載軟件主要兩個,一個是國人開發的FlyMCU,另一個是ST官方的Flash Loader Demonstrator,這兩個軟件的下載方法我都會介紹,不過我個人認為FlyMCU更簡單易用一些。

FlyMCU是由單片機在線編程網開發的一款串口下載軟件,我使用的是V0.188版本,主界面如上圖所示,如果大家想獲取最新版的軟件可以到官方網站下載。我去官網上看了一下,又發布了免費的Free ISP軟件,可以支持STM32和LPC2xxx程序的下載。如果有朋友從事LPC2xxx MCU的開發,而又沒有調試器,可以嘗試一下這個軟件。 好了,話不多說,下面來看一下如何使用FlyMCU通過串口來給uFUN開發板下載程序。


1.軟件的下載

可以到官方網站下載最新版,或者是下載我使用的這個版本,FlyMCU V0.188。


2.選擇COM號

確保啟動模式已經設置為串口下載模式,BOOT1=0,BOOT0=1,即S1=ON,S2=OFF,然后把開發板連接電腦上電,打開軟件,選擇PORT菜單下對應的COM口。

3.加載hex文件

加載生成的hex文件,并勾選右邊的編程前重裝文件,這樣,就不用每次下載程序,重新加載hex文件了。

4.下載程序

勾選校驗、編程后執行這兩個選項,取消勾選編程到FLASH時寫選項字節,然后點擊開始編程按鈕,如果正常下載的話,右邊會輸出下載的信息,如果成功下載并運行,最后會輸出:


共寫入8KB,進度100%,耗時4750毫秒

成功從08000000開始運行


表示程序成功下載。

編程后執行:這個選項是指,程序下載完成后自動運行,而不用切換到BOOT到主閃存啟動模式,但是,掉電重啟,程序不會直接運行。如果要上電即運行此程序,還需要把BOOT設置回主閃存啟動模式BOOT0=0,即S2=ON。


編程到FLASH時寫選項字節:這個選項不要勾選,如果勾選了,可能會導致下載失敗,或者是運行失敗,甚至會導致芯片的鎖死。所以,這個選項一定不要勾選。


使用Flash Loader Demonstrator下載

Flash Loader Demonstrator是ST官方的串口下載軟件,可以用于STM32系列單片機的程序下載,官網地址:STM32 Flash loader demonstrator


1.軟件的下載

通過上面的官網鏈接,可以下載到最新2.8.0版本的Flash Loader Demonstrator,但是如果要想下載,需要先登陸ST官網的賬號,如果不想注冊賬號的話,可以通過下面的鏈接下載,這個是我之前找的,版本是2.6.0的,但不影響程序的下載:Flash_Loader_Demonstrator_v2.6.0_Setup


2.連接芯片

和FlyMCU不同的是,要想下載程序,必須要經過連接芯片,等一系列步驟才能完成下載,這一點,也是我覺得這個軟件不好用的原因。


打開軟件,選擇板子串口對應的COM號,波特率可以調成最高,這樣下載速度會快一點,但是有的串口芯片,不能支持很高的波特率。

如果和板子連接成功的話,會檢測到目標STM32芯片的Flash的大小,我們的uFUN開發板是使用STM32F10RC,256KB Flash。

這一步,可以查看當前Flash各頁的讀寫情況,綠色的鎖表示可讀/可寫,如果芯片被加了讀保護,或者寫保護,部分頁會顯示為紅色的鎖。

]

3.程序的下載

先加載hex文件,下面的擦除選項可以選擇:擦除必要的頁、不擦除或者是全片擦除,這里保持默認配置就行,直接點擊Next進行程序的下載。

如果下載成功,會顯示

這里如果點擊Back是不能進行第二次程序下載的,必須重新打開,連接,才能下載。

另外,除了STM32系列單片機程序的下載,它還支持ST公司的STM8的程序下載。


總結

STM32只能通過串口1進行程序下載,即PA9、PA10,其他串口都不具備這個功能,所以,如果自己設計板子,要注意這一點。一些聯網的設備進行固件更新也是這個原理,即把WIFI模塊,連接到串口1,實現程序的在線升級。當然,具體的實現還是很復雜的,而且還涉及到Bootloader程序的開發,這就是另外一個方面了。雖然STM32的F4系列也可以使用串口下載程序,但擦除時間很長,有十幾秒種。推薦大家盡量還是使用調試器來進行程序的下載和調試,方便又好用,單片機開發必備!

關鍵字:串口  STM32  下載程序 引用地址:如何使用串口來給STM32下載程序

上一篇:FlyMcu串口ISP下載STM32程序教程
下一篇:stm32F103入門學習--程序燒錄的幾種方法

推薦閱讀

1月17日晚間,紫光國芯發布公告稱,公司董事會于2018年1月15日收到公司副董事長、總裁任志軍先生提交的書面辭職報告,因個人原因,任志軍先生申請辭去公司第六屆董事會副董事長、董事會提名委員會委員及總裁職務,任志軍先生辭去上述職務后,不再擔任公司任何職務。根據《公司法》和《公司章程》有關規定,任志軍先生的離任不會導致公司董事會成員低于法定...
制造業在自動化和工業機器人部署大趨勢下,首先受到沖擊最大的是流水線上工作,特別重復性的工作最容易被機器所取代,而和GE等是全球數字化代表性企業,以及富士康等大型制造業開始升級自動化工廠和各種部署工業機器人,以此提升工廠效率。高級顧問楊劍勇指出,因大量部署工業機器人,伴隨而來的是制造業減少勞動力,引發全球各界擔憂,機器人產業發展如...
海信電視 2019 年全球互聯網電視用戶達到 5127 萬,為全球第一。2019 年在全球市場的銷量突破了 2000 萬臺,海外市場的銷量超越了國內市場,且除了中國市場,海外市場中的南非、澳洲、日本市場,海信電視的銷量均為第一。 海信視像科技副總裁王偉稱,2019 年,海信電視在中國市場銷量、線下銷售額占有率、大屏市場銷量、互聯網電視用戶數等多個領域...
據《財富》雜志“為什么英特爾將其芯片押注于微處理器大師Jim Keller”一文中,AMD前首席技術官Fred Weber稱他是芯片行業的阿甘。從x86到PowerPC,從MIPS到Arm,Keller幾乎在每種芯片體系結構上都可以勝任,并且是真正的芯片設計巨星。Keller即將被任命為Tenstorrent的首席技術官,Tenstorrent是一家無晶圓廠AI芯片設計和軟件公司。Keller在AMD,蘋果和...

史海拾趣

問答坊 | AI 解惑

EP3C25開發板初體驗NO.1

因為到外地安家,亂七八糟事情一大堆,所以來晚了. 板子入的的第一感覺:很有質感: 一看居然有三條電源線,分別是國標雙口,美標和歐標(日標)的吧 可惜三張光盤有兩張是重復的,居然都是LINUX的,WINDOWS下的沒有.(廠家配錯了) 嘿嘿,厚實的PCB,扎 ...…

查看全部問答∨

也來談談為什么企業不給新人事情做

本來看到靜若幽蘭的帖子,還以為這是她個人遇到的事,后來發現還有其他人也有同樣的遭遇。所以來說一說這事。             仔細回想,其實我個人也曾經遇到過這樣的事。記得那時我剛進某雜志社,被分配給 ...…

查看全部問答∨

L"XXXXXEvent" 或 _T"XXXXXMutex" 的存儲區域問題

(1) Create(NULL, TRUE, _T("XXXXMutex")); 在應用程序中,可建立一個互斥體,保證程序實例只運行一次。 (2)驅動中:                  ........      & ...…

查看全部問答∨

[跪求達人指點] 無極折磨 之:keil uVision 編譯出來的90KB .hex 文件有幾個 Byte 不一樣的奇怪問題

環境:   OS : win_xp2   文件系統: C 盤 FAT32,安裝keil, D盤 NTFS,存放程序和編譯結果等。 編譯器: keil uVision 2 ,uVision 3,uVision 4 都使用過。         已經使用了曉風網提 ...…

查看全部問答∨

示波器泰克TDS1002的使用

哪位能詳細的給介紹一下 示波器泰克TDS1002的使用。謝謝。…

查看全部問答∨

怎樣在winCE里用socket通信給FTP上傳文件?

如題:小弟想在winCE里用socket通信給遠程主機服務器FTP上傳文件(現在是上傳的bmp文件),現在連接遠程FTP正常,上傳的文件卻大小都為零,打不開,為什么?是不是要設置為二進制傳輸模式呢???主要代碼如下:         in ...…

查看全部問答∨

求助板子間以太網互連為什么不能通信?

我用兩塊9b92的板子,一個作為服務器端,一個做客戶端,而且兩個板子分別與電腦進行以太網通信過沒有問題,但是直接把兩個板子互連后就不能建立連接,我交叉網線和直連網線都試過了,到底哪里出問題了呢?希望高手指點一下…

查看全部問答∨

香版,看看這個設計是否可行?

用736的兩路SPI從機模式接收外部芯片發送過來的數據,數據信號是這樣的,空閑的時候是低電平信號來的時候是周期是2US的時鐘信號,數據長度2--11BYTES,我想只用SPI的SCK和MOSI來接收信號,采用中斷來接收信號。不知道這樣的設計是否可行?還有 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 湘阴县| 怀远县| 迁西县| 汉阴县| 盱眙县| 南宫市| 项城市| 手游| 宜章县| 泾川县| 湟源县| 开原市| 辰溪县| 平昌县| 沙湾县| 台南市| 苏尼特左旗| 茂名市| 镇原县| 九龙县| 平安县| 始兴县| 博白县| 西充县| 昭通市| 越西县| 福安市| 枞阳县| 霍林郭勒市| 安远县| 保亭| 兴海县| 澄城县| 中江县| 岳阳市| 龙口市| 七台河市| 牙克石市| 栾城县| 大姚县| 建始县|