日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

您好,歡迎進(jìn)入深圳市穎特新科技有限公司官方網(wǎng)站!

您現(xiàn)在的位置:首頁 新聞資訊 >> 新聞?lì)^條 >> 關(guān)于MCU的燒錄,下載與其他接口的比較(一)
新聞資訊
NEWS INFORMATION

關(guān)于MCU的燒錄,下載與其他接口的比較(一)

發(fā)布時(shí)間:2019-05-22

今天呢,犯了一個(gè)很嚴(yán)重的錯(cuò)誤,我不知道這會(huì)產(chǎn)生什么樣的影響,但我知道,如果我以后再?zèng)]有具體的了解,仔細(xì)認(rèn)真地觀察,認(rèn)證,只會(huì)滑到無底的深淵。做技術(shù)來不得半點(diǎn)虛假,切記一知半解,凡事都要弄得清楚明白,認(rèn)識(shí)東西是有順序的,從簡(jiǎn)單到困難,從外觀,到內(nèi)部,一個(gè)東西起什么樣的作用,為什么會(huì)起這樣的作用,也是很重要的,一直以來,我都認(rèn)為自己是一個(gè)很較真的人,但最近發(fā)現(xiàn),我都沒有把把這優(yōu)點(diǎn)用到正地方,好了,開始今天的正題,今天,講的是我犯的一個(gè)錯(cuò)誤,一個(gè)技術(shù)不該犯得錯(cuò)誤。

這篇文章是給自己提個(gè)醒,給自己一個(gè)承諾,不要馬虎,不要想當(dāng)然,也不要沖動(dòng),不要得過且過,學(xué)習(xí)不痛苦,那就不是學(xué)習(xí),成長(zhǎng)不痛苦,那叫什么成長(zhǎng)。

好,上主題

眾所周知,MCU都會(huì)有調(diào)試,燒錄,下載的工具,比如JLINK,STLINK,NULINK,等很多,不同廠家,不同品牌幾乎都會(huì)有他們自己燒錄,下載的方式,那么今天我給大家講講從各種燒錄器的歷史,廠家,和他們的硬件部分的不同,至于軟件部分,有些東西我也不是很清楚,所以,等我了解清楚之后,我在進(jìn)行講解。如果見到這篇文章得人恰好懂得這一部分,或者是有人愿意指導(dǎo)或一起學(xué)習(xí),歡迎交流,我也要向您虛心受教,本文雖是經(jīng)過仔細(xì)驗(yàn)證,但是總會(huì)有些紕漏,歡迎指正。

首先講講新唐的燒錄方式:

再講之前,有必要先講講ICP,IAP,ISP的關(guān)系

我之前也一直搞不太清楚他們之間的區(qū)別。今天查了資料后總結(jié)整理如下。

ISP:In System Programing          在系統(tǒng)編程
IAP:In applicating Programing    在應(yīng)用編程
ICP:In Circuit Programing          在電路編程

區(qū)別:
1、ISP是把房子拆了再重造一間,那么在造好之前當(dāng)然是不能住人的啦!
2、IAP是在造好的房子里邊進(jìn)行一些裝修,裝修的時(shí)候人還住在里面!
3、ICP是在電路編程,是LPC芯片的編程方式,相當(dāng)于ATMEL的ISP,而LPC的ISP就相當(dāng)于ATMEL的IAP了。

ISP是指可以在板級(jí)上進(jìn)行編程,而不用把芯片拆下來放到燒寫器中,即不脫離系統(tǒng),所以稱作“在系統(tǒng)編程”,它是對(duì)整個(gè)程序的擦除和寫入,通過單片機(jī)專用的串行編程接口對(duì)單片機(jī)內(nèi)部的Flash存儲(chǔ)器進(jìn)行編程。即使芯片焊接在電路板上,只要留出和上位機(jī)接口的串行口就能進(jìn)行燒寫。

IAP同樣是在板級(jí)上進(jìn)行編程,MCU獲取新代碼并對(duì)程序的某部分重新編程,即可用程序來改變程序,修改程序的一部分達(dá)到升級(jí)、消除bug的目的,而不影響系統(tǒng)的其它部分,燒寫過程中程序可以繼續(xù)運(yùn)行,另外接口程序是自已寫的,這樣可以進(jìn)行遠(yuǎn)程升級(jí)而不影響應(yīng)用。IAP的實(shí)現(xiàn)更加靈活,通常可利用單片機(jī)的串行口接到計(jì)算機(jī)的RS232口,通過專門設(shè)計(jì)的固件程序來編程內(nèi)部存儲(chǔ)器。

ISP、IAP、ICP與傳統(tǒng)燒寫方式的區(qū)別

1)在開發(fā)階段
改code時(shí), 不再需要將MCU從板子上拔起來, 拿到燒錄器上燒, 然后再裝回去. 可以直接利用ISP/ICP Programmer做板上燒錄, 為開發(fā)者提供了極大的便利性.
2)在量產(chǎn)階段
客戶可以采用”先焊到板子上再燒code”的方式, 將燒code的動(dòng)作安排在生產(chǎn)線的某一站.
那么傳統(tǒng)的方式 (先將code燒好再焊到板子上)有什么缺點(diǎn)?
傳統(tǒng)的方式是這樣的: 拆封–>從tray盤取出chip–>燒錄–>把chip放回tray盤.
這樣的流程比起上面建議的方式: 增加了燒錄時(shí)間, 容易造成QFP包裝的chip彎腳, 或忘了燒code即放回tray盤.
3)在成品階段
已組裝好的成品若要改code, 可以透過預(yù)留的接口, 利用ISP或ICP, 更新MCU, 不需要拆機(jī).
什么是 IAP (In-Application Programming)?
IAP指的是, MCU在運(yùn)行的狀態(tài)下, 利用ISP的機(jī)制, 不透過外接工具 (例如: ISP Programmer) 的幫忙, 去更新APROM, DataFlash 或 CONFIG. 要實(shí)現(xiàn)這種功能,
系統(tǒng)必須有取得更新數(shù)據(jù)的能力, 例如: 處于某一種聯(lián)機(jī)的狀態(tài).
(注: 有時(shí)候, ISP/IAP的分別并不是那么清楚!)

現(xiàn)在單獨(dú)說一說它們:
ISP(In-System Programming)在系統(tǒng)可編程,指電路板上的空白器件可以編程寫入最終用戶代碼,而不需要從電路板上取下器件,已經(jīng)編程的器件也可以用ISP方式擦除或再編程。ISP技術(shù)是未來發(fā)展方向。
  ISP的工作原理
  ISP 的實(shí)現(xiàn)相對(duì)要簡(jiǎn)單一些,一般通用做法是內(nèi)部的存儲(chǔ)器可以由上位機(jī)的軟件通過串口來進(jìn)行改寫。對(duì)于單片機(jī)來講可以通過SPI或其它的串行接口接收上位機(jī)傳來的數(shù)據(jù)并寫入存儲(chǔ)器中。所以即使我們將芯片焊接在電路板上,只要留出和上位機(jī)接口的這個(gè)串口,就可以實(shí)現(xiàn)芯片內(nèi)部存儲(chǔ)器的改寫,而無須再取下芯片。
  ISP的優(yōu)點(diǎn)
  ISP技術(shù)的優(yōu)勢(shì)是不需要編程器就可以進(jìn)行單片機(jī)的實(shí)驗(yàn)和開發(fā),單片機(jī)芯片可以直接焊接到電路板上,調(diào)試結(jié)束即成成品,免去了調(diào)試時(shí)由于頻繁地插入取出芯片對(duì)芯片和電路板帶來的不便。
 
ICP的定義:ICP是一種串行編程方式,其通過一根時(shí)鐘線和一根數(shù)據(jù)線串行傳輸編程指令及數(shù)據(jù)。
ICP的特點(diǎn):在產(chǎn)品發(fā)貨前,可以隨時(shí)裝載最新版軟件程序。
                    在開發(fā)過程中,不需將芯片從系統(tǒng)板上取下,即可實(shí)現(xiàn)重新編程。
                    不占用程序存儲(chǔ)空間(ISP要占用一定空間駐留ISP服務(wù)程序)。
                    不受串口的影響。
ICP的應(yīng)用:利用ICP的功能,實(shí)現(xiàn)在電路編程,可以提高電子產(chǎn)品的功能,甚至改變電子產(chǎn)業(yè)的科技。
 
IAP是In Application Programming的首字母縮寫,IAP是用戶自己的程序在運(yùn)行過程中對(duì)User Flash的部分區(qū)域進(jìn)行燒寫,目的是為了在產(chǎn)品發(fā)布后可以方便地通過預(yù)留的通信口對(duì)產(chǎn)品中的固件程序進(jìn)行更新升級(jí)。
通常在用戶需要實(shí)現(xiàn)IAP功能時(shí),即用戶程序運(yùn)行中作自身的更新操作,需要在設(shè)計(jì)固件程序時(shí)編寫兩個(gè)項(xiàng)目代碼,第一個(gè)項(xiàng)目程序不執(zhí)行正常的功能操作,而只是通過某種通信管道(如USB、USART)接收程序或數(shù)據(jù),執(zhí)行對(duì)第二部分代碼的更新;第二個(gè)項(xiàng)目代碼才是真正的功能代碼。這兩部分項(xiàng)目代碼都同時(shí)燒錄在User Flash中,當(dāng)芯片上電后,首先是第一個(gè)項(xiàng)目代碼開始運(yùn)行,它作如下操作:
1)檢查是否需要對(duì)第二部分代碼進(jìn)行更新
2)如果不需要更新則轉(zhuǎn)到4)
3)執(zhí)行更新操作
4)跳轉(zhuǎn)到第二部分代碼執(zhí)行
第一部分代碼必須通過其它手段,如JTAG或ISP燒入;第二部分代碼可以使用第一部分代碼IAP功能燒入,也可以和第一部分代碼一道燒入,以后需要程序更新是再通過第一部分IAP代碼更新。
對(duì)于STM32來說,因?yàn)樗闹袛嘞蛄勘砦挥诔绦虼鎯?chǔ)器的最低地址區(qū),為了使第一部分代碼能夠正確地響應(yīng)中斷,通常會(huì)安排第一部分代碼處于Flash的開始區(qū)域,而第二部分代碼緊隨其后。
在第二部分代碼開始執(zhí)行時(shí),首先需要把CPU的中斷向量表映像到自己的向量表,然后再執(zhí)行其他的操作。
如果IAP程序被破壞,產(chǎn)品必須返廠才能重新燒寫程序,這是很麻煩并且非常耗費(fèi)時(shí)間和金錢的。針對(duì)這樣的需求,STM32在對(duì)Flash區(qū)域?qū)嵭凶x保護(hù)的同時(shí),自動(dòng)地對(duì)用戶Flash區(qū)的開始4頁設(shè)置為寫保護(hù),這樣可以有效地保證IAP程序(第一部分代碼)區(qū)域不會(huì)被意外地破壞。
 

好回到正題,不過我要先問一個(gè)問題,你知道什么是SWD接口么?

你可能知道JLINK的JTAG接口,先來一張圖,看看它們之間的對(duì)應(yīng)關(guān)系:

 

 

關(guān)于STLINK的4SWIM四線接口我覺得有必要說明一下:

下面是由于STM8的SWIM接口只需要4根連接線,所以ST-LINK/V2連接至STM8目標(biāo)板時(shí)需要注意連接位置。

 關(guān)于SWD,SWIM和JTAG之間的區(qū)別與聯(lián)系,弄清楚明白剩下的就好理解了。今天先到這里,后續(xù)我會(huì)補(bǔ)上,上一篇是關(guān)于N76E003的學(xué)習(xí)的第一篇,我會(huì)繼續(xù)完善的。

本文參考鏈接:http://blog.csdn.net/u014124220/article/details/50829713

                         http://blog.csdn.net/lj9010/article/details/51861605

誰知道明天什么結(jié)果,我只要把當(dāng)前事做好就夠了,不管能不能得到我想要的,只要我天天都在往前走,就夠了。

聯(lián)系方式0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

化州市| 内江市| 丰都县| 南涧| 钟祥市| 山阳县| 山阳县| 都匀市| 和政县| 德阳市| 武陟县| 来安县| 嘉兴市| 昌黎县| 贵南县| 宣城市| 页游| 轮台县| 吉水县| 吐鲁番市| 涞水县| 东至县| 博罗县| 互助| 淅川县| 遵义市| 乌拉特后旗| 亚东县| 积石山| 兴安盟| 呼和浩特市| 鄂州市| 诸城市| 云安县| 长沙市| 文昌市| 濮阳市| 保靖县| 英德市| 武冈市| 长治市|