chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

如何更簡單的給單片機更新固件?

UtFs_Zlgmcu7890 ? 來源:互聯(lián)網(wǎng) ? 作者:丁德輝 ? 2017-10-23 18:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單片機已經(jīng)焊接到電路板上時,如何更簡單更便捷的為單片機升級固件便成了一件值得深思的問題??v觀市面上現(xiàn)有的大多數(shù)升級方式,不僅需要硬件支持,還需要專用的燒寫工具或軟件來升級固件,升級過程較為復(fù)雜。本文介紹了一種更簡單更便捷的固件升級方式,不需要任何專用工具,只是簡單的一個刪除粘貼操作,便可實現(xiàn)固件更新。

當程序運行時,按住指定的按鍵后按一下復(fù)位按鍵。就啟動了升級程序,此時將單片機的USB從機端口連接電腦。在電腦中可以發(fā)現(xiàn)一個U盤設(shè)備,如圖1和圖2所示。

1 U盤顯示

2 U盤文件

將原文件刪除,然后將最新固件的bin文件復(fù)制到此U盤中,此時U盤中只有用戶用于升級的bin文件。然后拔下USB線,復(fù)位重啟,便可運行最新固件。

以上就是詳細的升級步驟,相比其他方法更便捷也更簡單。接下來以NXP公司的LPC54608單片機為例來介紹這種升級方法的制作流程。

1.硬件基礎(chǔ)

此升級方法的制作至少需要單片機有一個硬件的USB從機。和足夠的flash用來存放一段bootloade的代碼。

2.編寫USB驅(qū)動程序

首先要寫好USB驅(qū)動程序,將片內(nèi)FLASH的前半段用作代碼空間,后半段用作存儲空間。使電腦能將其識別為一個U盤,并能夠進行讀寫操作。USB驅(qū)動的編寫可參考官方例程。

3.對存儲空間進行修改

在步驟2中,我們已經(jīng)將FLASH的后半段用作U盤的存儲空間,在LPC54608中,片內(nèi)flash是512K,存儲起始地址是0x40000;結(jié)束地址是0x80000。根據(jù)FAT文件系統(tǒng)的存儲協(xié)議,存儲起始地址開始的前幾個扇區(qū)存放的是引導(dǎo)部分,F(xiàn)AT表項部分和根目錄部分。數(shù)據(jù)是從根目錄結(jié)束扇區(qū)的下一個扇區(qū)的開始存儲。

在本步驟中,對程序的改進就是將數(shù)據(jù)扇區(qū)之前的幾個扇區(qū),放在RAM中,使0x40000地址開始存放的即為bin文件的數(shù)據(jù)??驁D如圖3所示。

3 存儲模型

4.對存儲內(nèi)容進行修改

完成步驟3之后。每次接上USB線,電腦都要對u盤進行格式化,因為RAM區(qū)的數(shù)據(jù)為0,電腦需要從新格式化建立FAT文件系統(tǒng)并將存儲的相關(guān)信息寫到RAM中對應(yīng)的區(qū)域。在window10的電腦中,格式化之后電腦還會在U盤中增加幾個必要文件使我們寫入的bin文件數(shù)據(jù)并不是從0x40000開始,因此要進行優(yōu)化。

在程序初始化的時候。根據(jù)FAT的協(xié)議填充RAM區(qū)域數(shù)據(jù)。包括引導(dǎo)扇區(qū),F(xiàn)AT表項和根目錄??梢栽谝龑?dǎo)扇區(qū)中優(yōu)化FAT表個數(shù)和根目錄大小來節(jié)省RAM空間。并在根目錄中放入一個大小為整個U盤大小的bin文件,之后在FAT表項中填充所有可用的簇,使USB線連接上之后,電腦端不需要再格式化并如圖1和圖2所示。

5.編寫bootloader

完成步驟4之后,大部分工作已經(jīng)完成。接下來就要編寫跳轉(zhuǎn)函數(shù)來實現(xiàn)向用戶程序的跳轉(zhuǎn)。在LPC54608中,我們以flash的前32K用作升級程序的bootloader區(qū)域,就是0x0~0x8000之間。32K之后用作用戶代碼區(qū)域。

對于我們制作的U盤存儲空間來說,0x8000處開始存放的就是用戶bin文件。因此,我們只要在更新完固件后跳轉(zhuǎn)到0x8000處執(zhí)行程序就行了。跳轉(zhuǎn)代碼要包括SP指針的重新賦值,中斷向量表的重映射。

6.增加按鍵判斷

程序在上電之后,從0x0地址處取址,此處運行的是bootloader程序,程序在開始的時候判斷按鍵是否按下,如果按下,就進入bootloader程序,如果沒有按下,就跳轉(zhuǎn)到用戶代碼。

至此,整個升級方法的時間就完成了!現(xiàn)在開始體驗便捷的升級方式吧。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:如何更簡單的給單片機更新固件

文章出處:【微信號:Zlgmcu7890,微信公眾號:周立功單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    編寫簡單高效單片機匯編程序

    通過中斷方式來完成,在中斷服務(wù)程序中處理各個事件,而不需要在主程序里繁瑣地處理。 例如某些單片機的寄存器可以直接進行簡單運算,而不需要額外指令,提高執(zhí)行效率。 5、精簡指令和內(nèi)存管理 盡量減少多余
    發(fā)表于 11-24 07:00

    Bootloader固件升級的步驟

    一、Bootloader 概念及用處 1、BootLoader 是一段引導(dǎo)式程序,就是單片機啟動時候運行的一段小程序,這段程序負責單片機固件更新,也就是
    發(fā)表于 11-19 07:41

    單片機原理及應(yīng)用詳解

    單片機(Microcontroller Unit, MCC) ?是一種集成計算機核心功能(CPU、存儲器、I/O接口等)的微型芯片,廣泛應(yīng)用于嵌入式系統(tǒng)中。以下是其原理及應(yīng)用的詳細介紹: 一、單片機
    的頭像 發(fā)表于 08-11 13:57 ?1484次閱讀

    單片機用什么封裝

    單片機封裝是將芯片內(nèi)部電路與外部引腳連接并包裹保護的結(jié)構(gòu),不僅影響單片機的安裝方式、適用場景,還與電路設(shè)計的緊湊性、散熱性能密切相關(guān)。不同封裝類型各有特點,適配從簡單電路到復(fù)雜系統(tǒng)的多樣化需求
    的頭像 發(fā)表于 08-01 13:47 ?883次閱讀

    什么單片機比較耐用

    ? ? ? ? 在工業(yè)控制、戶外設(shè)備、醫(yī)療儀器等場景中,單片機的耐用性直接決定了設(shè)備的穩(wěn)定運行與維護成本。耐用的單片機通常具備寬溫工作范圍、強抗干擾能力、穩(wěn)定的電源適應(yīng)性和長壽命的硬件設(shè)計。深圳市安
    的頭像 發(fā)表于 07-31 13:48 ?534次閱讀

    怎么測單片機系統(tǒng)頻率

    單片機系統(tǒng)頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統(tǒng)頻率對單片機應(yīng)用開發(fā)、程序調(diào)試和性能優(yōu)化具有重要意義。測量
    的頭像 發(fā)表于 07-25 11:39 ?441次閱讀

    單片機怎么驅(qū)動電機?

    在各類自動化設(shè)備和智能裝置中,電機是重要的執(zhí)行部件,而單片機作為控制核心,需要通過特定的方式驅(qū)動電機運轉(zhuǎn)。單片機驅(qū)動電機并非直接連接即可,而是要根據(jù)電機類型和功率,搭配合適的驅(qū)動電路,才能實現(xiàn)穩(wěn)定
    的頭像 發(fā)表于 07-25 09:31 ?429次閱讀

    單片機怎么燒程序

    單片機燒程序是將編寫好的程序代碼寫入單片機內(nèi)部存儲單元,讓單片機按照預(yù)設(shè)邏輯工作的過程,是單片機應(yīng)用開發(fā)中不可或缺的環(huán)節(jié)。無論是簡單的燈光控
    的頭像 發(fā)表于 07-23 11:47 ?629次閱讀

    KF32A136系列單片機產(chǎn)品介紹

    F32A136 系列單片機是基于 KF32 內(nèi)核架構(gòu)開發(fā)的單片機。
    的頭像 發(fā)表于 06-27 11:42 ?1632次閱讀
    KF32A136系列<b class='flag-5'>單片機</b>產(chǎn)品介紹

    單片機科普總結(jié),建議收藏!

    單片機(MicrocontrollerUnit,MCU)作為嵌入式系統(tǒng)的核心之一,在現(xiàn)代電子產(chǎn)品中無處不在。從智能家居、汽車電子,到工業(yè)控制、醫(yī)療設(shè)備,單片機支撐著無數(shù)智能化應(yīng)用的發(fā)展。對于初學者
    的頭像 發(fā)表于 04-07 11:58 ?4361次閱讀
    <b class='flag-5'>單片機</b>科普總結(jié),建議收藏!

    dlp3010更新固件失敗的原因?怎么解決?

    通過2.1.0版本GUI 3010EVM-LC 更新固件,第一次在update firmware界面執(zhí)行后GUI在 step2/3 卡主長時間沒有反應(yīng)。 掉電重啟后3010 狀態(tài)變成圖中左下角所示 再次通過update f
    發(fā)表于 02-27 08:41

    51單片機pwm和spwm

    51單片機pwm
    發(fā)表于 01-08 15:54 ?3次下載

    單片機Debug工具性能對比 單片機調(diào)試常用命令

    單片機(Microcontroller Unit, MCU)調(diào)試是嵌入式開發(fā)中的一個重要環(huán)節(jié),它幫助開發(fā)者發(fā)現(xiàn)和修復(fù)代碼中的錯誤,優(yōu)化程序性能。不同的單片機和開發(fā)環(huán)境可能使用不同的調(diào)試工具和命令
    的頭像 發(fā)表于 12-19 09:56 ?2139次閱讀

    AirPods如何進行固件更新

    AirPods的固件更新通常是通過與iPhone、iPad或Mac等蘋果設(shè)備連接時自動進行的。以下是更新AirPods固件的介紹: 一、準備工作 確保設(shè)備連接 : 將AirPods放入
    的頭像 發(fā)表于 12-05 14:59 ?2767次閱讀

    上位如何實現(xiàn)發(fā)送參數(shù)給單片機,單片機保存接收的參數(shù)重復(fù)運行指定的功能

    ,并且能夠重復(fù)以接收到的參數(shù)執(zhí)行指定的功能,知道上位發(fā)送新的參數(shù)進來,如果一直不更新且斷開上位連接,那么單片機就一直以上一次接收的參數(shù)運行指定的功能。 3.假設(shè)需要按順序運行多個功
    發(fā)表于 12-04 08:19