您好,歡迎進(jìn)入深圳市穎特新科技有限公司官方網(wǎng)站!
今天呢,犯了一個(gè)很嚴(yán)重的錯(cuò)誤,我不知道這會(huì)產(chǎn)生什么樣的影響,但我知道,如果我以后再?zèng)]有具體的了解,仔細(xì)認(rèn)真地觀察,認(rèn)證,只會(huì)滑到無(wú)底的深淵。做技術(shù)來(lái)不得半點(diǎn)虛假,切記一知半解,凡事都要弄得清楚明白,認(rèn)識(shí)東西是有順序的,從簡(jiǎn)單到困難,從外觀,到內(nèi)部,一個(gè)東西起什么樣的作用,為什么會(huì)起這樣的作用,也是很重要的,一直以來(lái),我都認(rèn)為自己是一個(gè)很較真的人,但最近發(fā)現(xiàn),我都沒(méi)有把把這優(yōu)點(diǎn)用到正地方,好了,開(kāi)始今天的正題,今天,講的是我犯的一個(gè)錯(cuò)誤,一個(gè)技術(shù)不該犯得錯(cuò)誤。
這篇文章是給自己提個(gè)醒,給自己一個(gè)承諾,不要馬虎,不要想當(dāng)然,也不要沖動(dòng),不要得過(guò)且過(guò),學(xué)習(xí)不痛苦,那就不是學(xué)習(xí),成長(zhǎng)不痛苦,那叫什么成長(zhǎng)。
好,上主題
眾所周知,MCU都會(huì)有調(diào)試,燒錄,下載的工具,比如JLINK,STLINK,NULINK,等很多,不同廠家,不同品牌幾乎都會(huì)有他們自己燒錄,下載的方式,那么今天我給大家講講從各種燒錄器的歷史,廠家,和他們的硬件部分的不同,至于軟件部分,有些東西我也不是很清楚,所以,等我了解清楚之后,我在進(jìn)行講解。如果見(jiàn)到這篇文章得人恰好懂得這一部分,或者是有人愿意指導(dǎo)或一起學(xué)習(xí),歡迎交流,我也要向您虛心受教,本文雖是經(jīng)過(guò)仔細(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)行編程,而不用把芯片拆下來(lái)放到燒寫(xiě)器中,即不脫離系統(tǒng),所以稱作“在系統(tǒng)編程”,它是對(duì)整個(gè)程序的擦除和寫(xiě)入,通過(guò)單片機(jī)專用的串行編程接口對(duì)單片機(jī)內(nèi)部的Flash存儲(chǔ)器進(jìn)行編程。即使芯片焊接在電路板上,只要留出和上位機(jī)接口的串行口就能進(jìn)行燒寫(xiě)。
IAP同樣是在板級(jí)上進(jìn)行編程,MCU獲取新代碼并對(duì)程序的某部分重新編程,即可用程序來(lái)改變程序,修改程序的一部分達(dá)到升級(jí)、消除bug的目的,而不影響系統(tǒng)的其它部分,燒寫(xiě)過(guò)程中程序可以繼續(xù)運(yùn)行,另外接口程序是自已寫(xiě)的,這樣可以進(jìn)行遠(yuǎn)程升級(jí)而不影響應(yīng)用。IAP的實(shí)現(xiàn)更加靈活,通?衫脝纹瑱C(jī)的串行口接到計(jì)算機(jī)的RS232口,通過(guò)專門(mén)設(shè)計(jì)的固件程序來(lái)編程內(nèi)部存儲(chǔ)器。
ISP、IAP、ICP與傳統(tǒng)燒寫(xiě)方式的區(qū)別
1)在開(kāi)發(fā)階段
改code時(shí), 不再需要將MCU從板子上拔起來(lái), 拿到燒錄器上燒, 然后再裝回去. 可以直接利用ISP/ICP Programmer做板上燒錄, 為開(kāi)發(fā)者提供了極大的便利性.
2)在量產(chǎn)階段
客戶可以采用”先焊到板子上再燒code”的方式, 將燒code的動(dòng)作安排在生產(chǎn)線的某一站.
那么傳統(tǒng)的方式 (先將code燒好再焊到板子上)有什么缺點(diǎn)?
傳統(tǒng)的方式是這樣的: 拆封–>從tray盤(pán)取出chip–>燒錄–>把chip放回tray盤(pán).
這樣的流程比起上面建議的方式: 增加了燒錄時(shí)間, 容易造成QFP包裝的chip彎腳, 或忘了燒code即放回tray盤(pán).
3)在成品階段
已組裝好的成品若要改code, 可以透過(guò)預(yù)留的接口, 利用ISP或ICP, 更新MCU, 不需要拆機(jī).
什么是 IAP (In-Application Programming)?
IAP指的是, MCU在運(yùn)行的狀態(tài)下, 利用ISP的機(jī)制, 不透過(guò)外接工具 (例如: ISP Programmer) 的幫忙, 去更新APROM, DataFlash 或 CONFIG. 要實(shí)現(xiàn)這種功能,
系統(tǒng)必須有取得更新數(shù)據(jù)的能力, 例如: 處于某一種聯(lián)機(jī)的狀態(tài).
(注: 有時(shí)候, ISP/IAP的分別并不是那么清楚!)
好回到正題,不過(guò)我要先問(wèn)一個(gè)問(wèn)題,你知道什么是SWD接口么?
你可能知道JLINK的JTAG接口,先來(lái)一張圖,看看它們之間的對(duì)應(yīng)關(guān)系:
關(guān)于STLINK的4SWIM四線接口我覺(jué)得有必要說(shuō)明一下:
下面是由于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
誰(shuí)知道明天什么結(jié)果,我只要把當(dāng)前事做好就夠了,不管能不能得到我想要的,只要我天天都在往前走,就夠了。
掃碼關(guān)注我們
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08