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

基于意法半導體STM32的遠程升級系統的設計

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

期刊雜志科技廣場

基于STM32的遠程升級系統的設計

溫世堅

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

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

關鍵詞:遠程升級;STM32;ISP;MYSQL;VB.NET

中圖分類號:G712文獻標識碼: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:

一、引言

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

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

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

二、工作原理

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

本節(jié)介紹該系統涉及到的相關技術內容,如ISP 協議/ISP硬件電路、客戶端/服務器工作流程、數據庫MYSQL 設計等。

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

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

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

1

,

期刊雜志科技廣場

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

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

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

服務器端的Socket 進程用于偵聽客戶端連接,示意代碼如下:

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 協議' 指定服務器端IP 地址和Port 端口號

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

Dim ss As Socket =s.Accept()

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

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

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

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

s.Connect(RemotEndPoint)' 服務器端IP 地址和Port 端口號' 連接到服務器的指定IP 地址和Port 端口號當然在實際應用中,客戶端與服務器處于不同局域網絡,無法直接通過固定的IP 地址進行通信。應該根據實際情況設置IP 地址及端口號,配置服務器的網絡域名。還需要對服務器端的網絡防火墻、路由器、網關等進行相應修改,設置端口映射、域名訪問等。因為內容較多,文章中不予詳細說明。

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

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

2

,

期刊雜志科技廣場

圖2客戶端界面

(三)MYSQL數據庫設計

MYSQL 作為一款開放源代碼的小型關系型數據庫,由于體積小、速度快、配置低而被普遍使用。本系統采用MYSQL 作為后臺數據庫,實現了整個系統信息的快速、集中存儲功能。

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

comm =New MySqlCommand(MyCommd,conn)

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

If a >0Then

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

End If

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

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

三、結束語

根據企業(yè)實際經驗,并結合現有技術,該遠程升級系統實現了高效的遠程升級過程,有效增加了產品的附加值,并提升了實際工作效率。通過修改相關ISP 協議及ISP 硬件電路,可以增加該系統對ATMEL 、STC 、NXP 等主流芯片的支持,增強該遠程升級系統的兼容性。

參考文獻:

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

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

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

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

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

3

標簽: