成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

基于意法半導(dǎo)體STM32的遠(yuǎn)程升級系統(tǒng)的設(shè)計(jì)

期刊雜志科技廣場基于STM32的遠(yuǎn)程升級系統(tǒng)的設(shè)計(jì)溫世堅(jiān)(廣州市雄兵汽車電器有限公司,廣東廣州511338)摘要:該文介紹了一種基于STM32芯片的遠(yuǎn)程升級系統(tǒng)的設(shè)計(jì)方案。簡述了從數(shù)據(jù)下載線、客戶端、

期刊雜志科技廣場

基于STM32的遠(yuǎn)程升級系統(tǒng)的設(shè)計(jì)

溫世堅(jiān)

(廣州市雄兵汽車電器有限公司,廣東廣州511338)

摘要:該文介紹了一種基于STM32芯片的遠(yuǎn)程升級系統(tǒng)的設(shè)計(jì)方案。簡述了從數(shù)據(jù)下載線、客戶端、服務(wù)器到數(shù)據(jù)庫MYSQL 設(shè)計(jì)的全部過程,并提供了客戶端、服務(wù)器的通信細(xì)節(jié)分析,提供了升級操作的可靠性和便利性。

關(guān)鍵詞:遠(yuǎn)程升級;STM32;ISP;MYSQL;VB.NET

中圖分類號:G712文獻(xiàn)標(biāo)識碼:A 文章編號:SN.2013071208

-U p date system based on STM32Design of R emote emote-

Wen Shijian,

(SPACEKEY Auto Electronics CO. GuangDong GuangZhou 511338,China )

:This paper introduces a design of Remote-Update system based on STM32chip. The design process include the Abstract Abstract:

download cable, the client , the server and the database MYSQL. And provides analysis of communication details between client and server, ensuring the reliability and convenience of upgrading operation.

:Remote-Update;STM32;ISP;MYSQL;VB.NET Key words words:

一、引言

越來越多的電子產(chǎn)品采用意法半導(dǎo)體芯片STM32系列(簡稱STM32)作為其核心控制單元,隨之便產(chǎn)生了產(chǎn)品的軟件升級問題。由于電子產(chǎn)品具有區(qū)域分散性,不利于企業(yè)進(jìn)行集中式升級。所以如果需要升級主機(jī)硬件上的芯片程序,以前的辦法是直接把硬件主機(jī)打包快遞到企業(yè)總部,然后再修改刷新程序,并測試完了再發(fā)回去。這種方式費(fèi)時費(fèi)力,而且難免忙中出錯。

為進(jìn)一步提高工作效率,降低由此而產(chǎn)生的快遞費(fèi)、人工費(fèi)等額外的支出,減少時間損失,特開發(fā)基于STM32芯片的遠(yuǎn)程升級系統(tǒng)。該系統(tǒng)有效使用了因特網(wǎng)的方便快捷,避免了傳統(tǒng)物流模式的各種缺點(diǎn),并且可以保護(hù)企業(yè)的知識產(chǎn)權(quán),防止程序源文件泄露。

本系統(tǒng)屬于服務(wù)器/客戶端模式,用戶界面均采用VB.NET 設(shè)計(jì)。服務(wù)器端后臺運(yùn)行的是MYSQL 數(shù)據(jù)庫,客戶端則只需要匹配一條專用串口下載線。維護(hù)人員只在能上網(wǎng)的電腦上使用這條下載線,就能通過客戶端登陸到服務(wù)器,進(jìn)行STM32芯片的軟件升級操作。

二、工作原理

客戶端通過因特網(wǎng),從服務(wù)器端獲取程序源文件的數(shù)據(jù),然后使用串口下載線擦除STM32芯片的FLASH ,并把已獲取的數(shù)據(jù)寫入到FLASH ,即可實(shí)現(xiàn)遠(yuǎn)程更新。

本節(jié)介紹該系統(tǒng)涉及到的相關(guān)技術(shù)內(nèi)容,如ISP 協(xié)議/ISP硬件電路、客戶端/服務(wù)器工作流程、數(shù)據(jù)庫MYSQL 設(shè)計(jì)等。

(一)ISP 協(xié)議/ISP硬件電路

STM32芯片具有開放式的在線燒錄ISP 協(xié)議【1】,允許第三方根據(jù)該協(xié)議編寫ISP 下載軟件,對STM32芯片進(jìn)行FLASH 的更新操作。該協(xié)議采用串行通信方式,有兩個握手信號(nRST/BOOT0),能夠自動識別最高可達(dá)115200bps 的串口波特率,可達(dá)到較快的下載速度。該ISP 協(xié)議已經(jīng)包含在STM32芯片的內(nèi)置Boot Load 固件中。

ISP 下載過程只需要簡單的硬件電路支持。如圖1所示,左側(cè)板載端為STM32芯片端,預(yù)留6PIN 的下載線接口,分別為電源線(VDD/GND)、串行通信線(TXD/RXD)、握手線(nRST/BOOT0);右側(cè)下載線端采用USB 轉(zhuǎn)串口芯片PL2303,握手電路是由nDTR/nRTS和兩個三極管組成的硬件邏輯電路,客戶端軟件通過控制nDTR/nRTS的輸出來實(shí)現(xiàn)ISP 握手過程。

1

,

期刊雜志科技廣場

圖1ISP 下載電路(左:板載端右:下載線)

(二)客戶端/服務(wù)器工作流程

客戶端/服務(wù)器采用微軟的VB.NET 編程語言,在VS2010開發(fā)環(huán)境上, 基于.NET 4.0編寫而成。客戶端與服務(wù)器之間通過套接字Socket 方式進(jìn)行通信及傳輸文件。

服務(wù)器端的Socket 進(jìn)程用于偵聽客戶端連接,示意代碼如下:

s =New Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp)

Dim localEndPoint As New IPEndPoint(IPAddress.Parse("10.0.0.6"),11126)

s.Bind(localEndPoint)

s.Listen(100)' 綁定到該Socket ' 偵聽,最多接受100個連接' 創(chuàng)建Socket, 使用TCP 協(xié)議' 指定服務(wù)器端IP 地址和Port 端口號

服務(wù)器端的Socket 自從創(chuàng)建之后就一直處于偵聽狀態(tài),直到偵聽到客戶端的Socket 連接。然后服務(wù)器端立即開辟新的線程,并執(zhí)行以下代碼與客戶端進(jìn)行連接,自此Socket 連接過程成功完成。

Dim ss As Socket =s.Accept()

ss.Receive(bytes)' 接收到客戶端請求, 則創(chuàng)建新的Socket 連接' 接收客戶端信息

使用Socket 套接字的Receive 方法可以接收客戶端發(fā)來的信息,使用send 方法可以發(fā)送信息到客戶端。

客戶端的Socket 不需要偵聽,在創(chuàng)建Socket 之后直接連接服務(wù)器端即可,客戶端同樣可以使用Receive 方法和send 方法實(shí)現(xiàn)與服務(wù)器的通信。示意代碼如下:

Dim s =New Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp) ' 創(chuàng)建Socket, 使用TCP 協(xié)議Dim RemotEndPoint As New IPEndPoint(IPAddress.Parse("10.0.0.6"),11126)

s.Connect(RemotEndPoint)' 服務(wù)器端IP 地址和Port 端口號' 連接到服務(wù)器的指定IP 地址和Port 端口號當(dāng)然在實(shí)際應(yīng)用中,客戶端與服務(wù)器處于不同局域網(wǎng)絡(luò),無法直接通過固定的IP 地址進(jìn)行通信。應(yīng)該根據(jù)實(shí)際情況設(shè)置IP 地址及端口號,配置服務(wù)器的網(wǎng)絡(luò)域名。還需要對服務(wù)器端的網(wǎng)絡(luò)防火墻、路由器、網(wǎng)關(guān)等進(jìn)行相應(yīng)修改,設(shè)置端口映射、域名訪問等。因?yàn)閮?nèi)容較多,文章中不予詳細(xì)說明。

服務(wù)器最主要工作的是接收信息、文件發(fā)送、信息記錄。即接收客戶端的信息,并發(fā)送客戶端指定的文件,并記錄客戶端的操作。當(dāng)然服務(wù)器還有其他重要的工作,如數(shù)據(jù)庫維護(hù)、用戶名管理、文件系統(tǒng)管理等,不予詳細(xì)描述。

客戶端接通過查詢數(shù)據(jù)庫,找到適合的文件之后就發(fā)送指令到服務(wù)器,要求服務(wù)器發(fā)送相關(guān)文件。接收到文件之后就立刻讀取文件到內(nèi)存緩沖區(qū),然后刪除該文件并啟動STM32下載流程(圖2)。除此之外,客戶端還提供其他重要服務(wù),如用戶登錄、信息查詢、文件處理、燒寫FLASH 等。

2

,

期刊雜志科技廣場

圖2客戶端界面

(三)MYSQL數(shù)據(jù)庫設(shè)計(jì)

MYSQL 作為一款開放源代碼的小型關(guān)系型數(shù)據(jù)庫,由于體積小、速度快、配置低而被普遍使用。本系統(tǒng)采用MYSQL 作為后臺數(shù)據(jù)庫,實(shí)現(xiàn)了整個系統(tǒng)信息的快速、集中存儲功能。

采用標(biāo)準(zhǔn)化的SQL 語言,客戶端和服務(wù)器的界面可以輕松訪問MYSQL 數(shù)據(jù)庫,并進(jìn)行查詢、刪除、添加、修改、合并等操作,如對MYSQL 數(shù)據(jù)庫的查詢操作:Dim MyCommd As String

comm =New MySqlCommand(MyCommd,conn)

a =Convert.ToInt32(comm.ExecuteNonQuery())

If a >0Then

msgbox("SQL語句執(zhí)行成功!")

End If

在該遠(yuǎn)程升級系統(tǒng)中,一共設(shè)置了6張關(guān)系型的數(shù)據(jù)表,分別為用戶信息表、文件信息表、操作記錄表、硬件序列號表、遠(yuǎn)程升級記錄表、庫存及出庫統(tǒng)計(jì)表。各數(shù)據(jù)表之間通過關(guān)鍵字互相關(guān)聯(lián),服務(wù)器端可以通過這些關(guān)鍵字串聯(lián)起所有信息,實(shí)現(xiàn)對產(chǎn)品的全程監(jiān)控。

該數(shù)據(jù)庫具有獨(dú)立的網(wǎng)關(guān)及安全管理策略。經(jīng)過大量實(shí)踐表明,因WINDOWS 系統(tǒng)安全漏洞比較多,MYSQL服務(wù)器容易招到惡意攻擊、端口掃描、病毒木馬等,因而導(dǎo)致MYSQL 服務(wù)下線。為保證系統(tǒng)安全及防止黑客攻擊,系統(tǒng)應(yīng)用時需要修改該數(shù)據(jù)庫的默認(rèn)端口號(3306),設(shè)置較為復(fù)雜的ROOT 密碼,并且適當(dāng)提高數(shù)據(jù)庫主機(jī)的系統(tǒng)安全等級。

三、結(jié)束語

根據(jù)企業(yè)實(shí)際經(jīng)驗(yàn),并結(jié)合現(xiàn)有技術(shù),該遠(yuǎn)程升級系統(tǒng)實(shí)現(xiàn)了高效的遠(yuǎn)程升級過程,有效增加了產(chǎn)品的附加值,并提升了實(shí)際工作效率。通過修改相關(guān)ISP 協(xié)議及ISP 硬件電路,可以增加該系統(tǒng)對ATMEL 、STC 、NXP 等主流芯片的支持,增強(qiáng)該遠(yuǎn)程升級系統(tǒng)的兼容性。

參考文獻(xiàn):

[1]意法半導(dǎo)體http://www.st.com.《AN2606》STM32FXX system memory boot mode,2010

[2]意法半導(dǎo)體http://www.st.com.《AN3154》CAN protocol used in the STM32?bootloader.2009

[3]潘凱華等.MYSQL快速入門.北京:清華大學(xué)出版社,2012.

[4]Thearon Wills,Bryan Newsome .Beginning Visual Basic 2010.北京:清華大學(xué)出版社,2011.

Email:wenshijian4@163.com' 定義字符串變量' 執(zhí)行SQL 語句' 查詢執(zhí)行結(jié)果' 判斷是否執(zhí)行成功MyCommd ="select *from TbFile where ID=34FF167"' SQL 語句, 從TbFile 表查找符合ID=34FF167的所有內(nèi)容

3

標(biāo)簽: