91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

如何更簡(jiǎn)單的給單片機(jī)更新固件?

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

掃碼添加小助手

加入工程師交流群

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

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

1 U盤(pán)顯示

2 U盤(pán)文件

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

以上就是詳細(xì)的升級(jí)步驟,相比其他方法更便捷也更簡(jiǎn)單。接下來(lái)以NXP公司的LPC54608單片機(jī)為例來(lái)介紹這種升級(jí)方法的制作流程。

1.硬件基礎(chǔ)

此升級(jí)方法的制作至少需要單片機(jī)有一個(gè)硬件的USB從機(jī)。和足夠的flash用來(lái)存放一段bootloade的代碼。

2.編寫(xiě)USB驅(qū)動(dòng)程序

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

3.對(duì)存儲(chǔ)空間進(jìn)行修改

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

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

3 存儲(chǔ)模型

4.對(duì)存儲(chǔ)內(nèi)容進(jìn)行修改

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

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

5.編寫(xiě)bootloader

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

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

6.增加按鍵判斷

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

至此,整個(gè)升級(jí)方法的時(shí)間就完成了!現(xiàn)在開(kāi)始體驗(yàn)便捷的升級(jí)方式吧。


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

原文標(biāo)題:如何更簡(jiǎn)單的給單片機(jī)更新固件

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    索尼AI智能構(gòu)圖PTZ攝像機(jī)迎來(lái)固件更新

    2026年1月29日,索尼(中國(guó))有限公司表示今年4月起,將面向PTZ攝像機(jī)用戶推出一系列固件升級(jí),包括AI智能構(gòu)圖旗艦PTZ攝像機(jī)BRC-AM7 固件Ver. 3.0版與AI智能構(gòu)圖
    的頭像 發(fā)表于 02-03 09:39 ?502次閱讀

    如何入門(mén)單片機(jī)/嵌入式?

    的,自己制造一點(diǎn)困難,這樣學(xué)到的扎實(shí),主要就是了解外設(shè)如何驅(qū)動(dòng)和單片機(jī)的功能寄存器如何配置,如何使用中斷,如何在while(1)里面進(jìn)行任務(wù)調(diào)度和時(shí)間片分配。 2、然后是學(xué)習(xí)STM32,更高端一點(diǎn)
    發(fā)表于 02-02 06:57

    編寫(xiě)簡(jiǎn)單高效單片機(jī)匯編程序

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

    Bootloader固件升級(jí)的步驟

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

    單片機(jī)燒錄原理是怎樣的?輝芒微單片機(jī)燒錄程序詳細(xì)步驟講解

    燒錄(Programming)就是把 .hex/.bin 文件里的機(jī)器碼搬運(yùn)進(jìn)單片機(jī)片內(nèi) Flash 的過(guò)程。輝芒微(FMD)單片機(jī)內(nèi)部有一塊 自舉 BootROM,上電時(shí)會(huì)先跑這段程序;如果檢測(cè)
    的頭像 發(fā)表于 09-17 16:14 ?2297次閱讀
    <b class='flag-5'>單片機(jī)</b>燒錄原理是怎樣的?輝芒微<b class='flag-5'>單片機(jī)</b>燒錄程序詳細(xì)步驟講解

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

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

    單片機(jī)用什么封裝

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

    什么單片機(jī)比較耐用

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

    怎么測(cè)單片機(jī)系統(tǒng)頻率

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

    單片機(jī)怎么驅(qū)動(dòng)電機(jī)?

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

    單片機(jī)怎么燒程序

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

    低功耗單片機(jī)各型號(hào)的對(duì)比及選型參考

    不同品牌、不同系列的低功耗單片機(jī)在功耗控制、性能表現(xiàn)、外設(shè)配置等方面各有特點(diǎn),通過(guò)低功耗單片機(jī)各型號(hào)的對(duì)比,能幫助開(kāi)發(fā)者更精準(zhǔn)地匹配應(yīng)用需求。本文將圍繞主流低功耗單片機(jī)型號(hào)展開(kāi)對(duì)比,并介紹在
    的頭像 發(fā)表于 07-22 18:25 ?1441次閱讀

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

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

    KF32A156系列單片機(jī)產(chǎn)品介紹

    KF32A156 系列單片機(jī)是基于 KF32 內(nèi)核架構(gòu)開(kāi)發(fā)的單片機(jī)。KF
    的頭像 發(fā)表于 06-26 14:43 ?1717次閱讀
    KF32A156系列<b class='flag-5'>單片機(jī)</b>產(chǎn)品介紹

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

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