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

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

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

單片機(jī)燒錄程序的幾種常見方法

Dp1040 ? 來(lái)源:玩點(diǎn)嵌入式 ? 作者:玩點(diǎn)嵌入式 ? 2022-11-24 09:46 ? 次閱讀

最近看到一個(gè)小伙伴問了一個(gè)比較基礎(chǔ)的問題,大概就是問:單片機(jī)燒錄程序常見方法有哪些?

下面就來(lái)說(shuō)下常見的三種燒錄程序的方法:ISP、IAP和ICP,以及它們的區(qū)別。

ISP

ISP:In System Programing,在系統(tǒng)編程

ISP 是指可以在板級(jí)上進(jìn)行編程,也就是不用拆芯片下來(lái),寫的是整個(gè)程序,一般是通過(guò) ISP 接口線來(lái)寫。

支持ISP的芯片一般在芯片內(nèi)部固化了一段(用ISP升級(jí)的)boot程序。

比如:使用STC-ISP對(duì)STC芯片編程,利用Flash loader對(duì)STM32編程等。

d384a298-6b94-11ed-8abf-dac502259ad0.png

ICP

ICP:In Circuit Programing,在電路編程。

ICSP:In-Circuit Serial Programming,在電路串行編程。如:對(duì)EEPROM編程等。

ICP編程方式網(wǎng)上各有說(shuō)法,從字面含義(在電路)來(lái)說(shuō),所有處于編程的芯片都需要上電,都處于電路中。不嚴(yán)格來(lái)說(shuō)利用J-Link、ST-Link、e-Link32等工具進(jìn)行編程也屬于在電路編程(ICP)。

d3a55d44-6b94-11ed-8abf-dac502259ad0.png

在維基百科中,ISP(在系統(tǒng)編程),也稱為在電路串行編程(ICSP)。

IAP

IAP:In applicaTIng Programing,在應(yīng)用編程。在程序運(yùn)行的過(guò)程中進(jìn)行編程(升級(jí)程序,更新固件)。

IAP是用戶自己的程序在運(yùn)行過(guò)程中對(duì)User Flash的部分區(qū)域進(jìn)行燒寫,目的是為了在產(chǎn)品發(fā)布后可以方便地通過(guò)預(yù)留的通信口對(duì)產(chǎn)品中的固件程序進(jìn)行更新升級(jí)。 [來(lái)自:百度百科]

IAP通信口IAP的通信口有許多種:UART串口、ETH以太網(wǎng)、I2C、SPI......等。按理說(shuō)只要能傳輸數(shù)據(jù)的通信口都能實(shí)現(xiàn)IAP的功能。

IAP的應(yīng)該非常廣泛,可以參考我之前分享的一篇文章:STM32官方IAP例程詳細(xì)說(shuō)明,以及Demo演示

d3b77d12-6b94-11ed-8abf-dac502259ad0.gif

ISP 與 IAP 的區(qū)別

1.打個(gè)比喻吧

1、ISP 是把房子拆了再重造一間,那么在造好之前當(dāng)然是不能住人的啦!

2、IAP 是在造好的房子里邊進(jìn)行一些裝修,當(dāng)然人可以繼續(xù)住啦!

2.應(yīng)用場(chǎng)合

1,ISP 程序升級(jí)需要到現(xiàn)場(chǎng)解決,不過(guò)好一點(diǎn)的是不必拆機(jī)器了;

2,IAP 如果有網(wǎng)管系統(tǒng)的話,用網(wǎng)管下載一切搞定,人不用跑來(lái)跑去,

3.ISP 和 IAP 的工作原理

ISP 的實(shí)現(xiàn)相對(duì)要簡(jiǎn)單一些,一般通用做法是內(nèi)部的存儲(chǔ)器可以由上位機(jī)的軟件通過(guò)串口來(lái)進(jìn)行改寫。對(duì)于單片機(jī)來(lái)講可以通過(guò) SPI 或其它的串行接口接收上位機(jī)傳來(lái)的數(shù)據(jù)并寫入存儲(chǔ)器中。所以即使我們將芯片焊接在電路板上,只要留出和上位機(jī)接口的這個(gè)串口,就可以實(shí)現(xiàn)芯片內(nèi)部存儲(chǔ)器的改寫,而無(wú)須再取下芯片。

IAP 的實(shí)現(xiàn)相對(duì)要復(fù)雜一些,在實(shí)現(xiàn) IAP 功能時(shí),單片機(jī)內(nèi)部一定要有兩塊存儲(chǔ)區(qū),一般一塊被稱為 BOOT 區(qū),另外一塊被稱為存儲(chǔ)區(qū)。單片機(jī)上電運(yùn)行在 BOOT 區(qū),如果有外部改寫程序的條件滿足,則對(duì)存儲(chǔ)區(qū)的程序進(jìn)行改寫操作。如果外部改寫程序的條件不滿足,程序指針跳到存儲(chǔ)區(qū),開始執(zhí)行放在存儲(chǔ)區(qū)的程序,這樣便實(shí)現(xiàn)了 IAP 功能。

4.ISP 和 IAP 的優(yōu)點(diǎn)

ISP 技術(shù)的優(yōu)勢(shì)是不需要編程器就可以進(jìn)行單片機(jī)的實(shí)驗(yàn)和開發(fā),單片機(jī)芯片可以直接焊接到電路板上,調(diào)試結(jié)束即成成品,免去了調(diào)試時(shí)由于頻繁地插入取出芯片對(duì)芯片和電路板帶來(lái)的不便。

IAP 技術(shù)是從結(jié)構(gòu)上將 Flash 存儲(chǔ)器映射為兩個(gè)存儲(chǔ)體,當(dāng)運(yùn)行一個(gè)存儲(chǔ)體上的用戶程序時(shí),可對(duì)另一個(gè)存儲(chǔ)體重新編程,之后將程序從一個(gè)存儲(chǔ)體轉(zhuǎn)向另一個(gè)。

ISP 的實(shí)現(xiàn)一般需要很少的外部電路輔助實(shí)現(xiàn),而 IAP 的實(shí)現(xiàn)更加靈活,通??衫脝纹瑱C(jī)的串行口接到計(jì)算機(jī)的 RS232 口,通過(guò)專門設(shè)計(jì)的固件程序來(lái)編程內(nèi)部存儲(chǔ)器,可以通過(guò)現(xiàn)有的 INTERNET 或其它通訊方式很方便地實(shí)現(xiàn)遠(yuǎn)程升級(jí)和維護(hù)。

審核編輯 :李倩

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

    關(guān)注

    6030

    文章

    44491

    瀏覽量

    632023
  • ISP
    ISP
    +關(guān)注

    關(guān)注

    6

    文章

    474

    瀏覽量

    51676
  • IAP
    IAP
    +關(guān)注

    關(guān)注

    2

    文章

    163

    瀏覽量

    24204
  • ICP
    ICP
    +關(guān)注

    關(guān)注

    0

    文章

    68

    瀏覽量

    12745
  • 燒錄
    +關(guān)注

    關(guān)注

    8

    文章

    253

    瀏覽量

    35495

原文標(biāo)題:?jiǎn)纹瑱C(jī)燒錄程序的幾種常見方法

文章出處:【微信號(hào):玩點(diǎn)嵌入式,微信公眾號(hào):玩點(diǎn)嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    說(shuō)起給單片機(jī)燒錄程序,大家應(yīng)該都不陌生,我最早接觸單片機(jī)是從51單片機(jī)開始的,型號(hào)是STC89C52RC,當(dāng)時(shí)
    發(fā)表于 07-22 10:01 ?2517次閱讀

    單片機(jī)程序燒錄工具集合

    單片機(jī)程序燒錄工具集合單片機(jī)程序燒錄工具集合單片機(jī)
    發(fā)表于 12-28 15:34 ?101次下載

    STC單片機(jī)程序燒錄與ISP下載相關(guān)知識(shí)

    導(dǎo)讀:本文為您介紹常見串口USB、RS232、UART三者轉(zhuǎn)換模塊及其電路原理圖,單片機(jī)ISP下載及單片機(jī)程序燒錄相關(guān)內(nèi)容,設(shè)備連接操作
    發(fā)表于 07-26 18:52 ?1w次閱讀

    單片機(jī)怎么燒錄程序_單片機(jī)燒錄程序步驟說(shuō)明

    單片機(jī)燒錄程序并不復(fù)雜,只需幾個(gè)步驟就能搞定。
    發(fā)表于 01-09 16:33 ?9.7w次閱讀
    <b class='flag-5'>單片機(jī)</b>怎么<b class='flag-5'>燒錄</b><b class='flag-5'>程序</b>_<b class='flag-5'>單片機(jī)</b><b class='flag-5'>燒錄</b><b class='flag-5'>程序</b>步驟說(shuō)明

    單片機(jī)燒錄程序方法步驟

    怎么給單片機(jī)燒錄程序?單片機(jī)keil程序燒錄教程
    發(fā)表于 07-10 10:06 ?4.4w次閱讀
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>燒錄</b><b class='flag-5'>程序</b>的<b class='flag-5'>方法</b>步驟

    單片機(jī)程序常用的幾種調(diào)試方法

    單片機(jī)程序常用的幾種調(diào)試方法,這些調(diào)試方法都需要結(jié)合電腦上位機(jī),以下我羅列一些調(diào)試
    發(fā)表于 07-17 09:31 ?1.3w次閱讀

    串口 單片機(jī) 文件_51單片機(jī)(四)燒錄程序

    串口 單片機(jī) 文件_51單片機(jī)(四)燒錄程序
    發(fā)表于 11-23 17:06 ?18次下載
    串口 <b class='flag-5'>單片機(jī)</b>  文件_51<b class='flag-5'>單片機(jī)</b>(四)<b class='flag-5'>燒錄</b><b class='flag-5'>程序</b>

    51 單片機(jī)串口燒錄程序方法

    51單片機(jī)串口燒錄程序方法51 單片機(jī)串口燒錄程序
    發(fā)表于 11-25 18:21 ?120次下載
    51 <b class='flag-5'>單片機(jī)</b>串口<b class='flag-5'>燒錄</b><b class='flag-5'>程序</b><b class='flag-5'>方法</b>

    單片機(jī)程序讀取燒錄方法記錄

    用Jlink和J-Flash RAM讀取單片機(jī)程序燒錄單片機(jī)程序操作步驟讀取單片機(jī)內(nèi)部
    發(fā)表于 12-02 10:51 ?39次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>程序</b>讀取<b class='flag-5'>燒錄</b><b class='flag-5'>方法</b>記錄

    MCU批量生產(chǎn)下載程序幾種常見方法

    MCU批量生產(chǎn)下載程序幾種常見方法
    的頭像 發(fā)表于 10-24 17:22 ?1504次閱讀
    MCU批量生產(chǎn)下載<b class='flag-5'>程序</b>的<b class='flag-5'>幾種</b><b class='flag-5'>常見方法</b>

    運(yùn)行Python程序幾種常見方法

    Python是一種高級(jí)編程語(yǔ)言,具有簡(jiǎn)單易學(xué),易于閱讀和調(diào)試的特點(diǎn)。當(dāng)你完成了一個(gè)Python程序之后,你需要運(yùn)行它以檢查程序是否按照預(yù)期工作。下面是運(yùn)行Python程序幾種
    的頭像 發(fā)表于 11-28 15:32 ?2329次閱讀

    單片機(jī)燒錄程序的串口線怎么連接

    單片機(jī)開發(fā)過(guò)程中,燒錄程序是一項(xiàng)重要的工作。而燒錄程序通常需要使用串口線來(lái)實(shí)現(xiàn)。本文將介紹單片機(jī)
    的頭像 發(fā)表于 09-02 09:50 ?1005次閱讀

    單片機(jī)燒錄程序的線比單片機(jī)上的少還能燒錄

    的存儲(chǔ)器通常分為兩類:ROM(只讀存儲(chǔ)器)和RAM(隨機(jī)存取存儲(chǔ)器)。ROM用于存儲(chǔ)程序代碼,而RAM用于存儲(chǔ)程序運(yùn)行過(guò)程中的數(shù)據(jù)。燒錄過(guò)程就是將程序代碼寫入ROM中。
    的頭像 發(fā)表于 09-02 09:54 ?371次閱讀

    單片機(jī)燒錄程序可以重新燒嗎

    好的程序代碼通過(guò)特定的方式寫入單片機(jī)的存儲(chǔ)器中,使其能夠按照預(yù)定的邏輯執(zhí)行任務(wù)。單片機(jī)燒錄程序可以重新
    的頭像 發(fā)表于 09-02 10:04 ?786次閱讀

    單片機(jī)燒錄程序用什么軟件

    單片機(jī)燒錄程序單片機(jī)開發(fā)過(guò)程中的一個(gè)重要環(huán)節(jié),涉及到將編寫好的程序代碼通過(guò)燒錄器寫入
    的頭像 發(fā)表于 09-02 10:05 ?739次閱讀