国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> EMC單片機(jī)實(shí)現(xiàn)多次燒錄的辦法

EMC單片機(jī)實(shí)現(xiàn)多次燒錄的辦法

關(guān)鍵字:EMC 單片機(jī) 燒錄 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-18  瀏覽:45

一般來(lái)說(shuō),EMC的OTP類(lèi)型芯片是只能進(jìn)行一次燒錄的。但是如果在第一次燒錄時(shí),某一位為被燒為“1”,則該位可以再次被燒錄成“0”;反之,如果已經(jīng)被燒錄成“0”了,則無(wú)法再次燒錄成“1”。由此,有人發(fā)現(xiàn)了以下文章中介紹的這種多次燒錄OTP芯片的方法。

在EMC單片機(jī)中,“ADD A,@0xFF”的機(jī)器碼為全1。在下面這篇文章中,介紹的是用“ADD A,@0xFF”指令來(lái)預(yù)填,方便下次的改寫(xiě)。其實(shí),還有更方便的辦法:

文中提到的辦法如下

ORG 0X000

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

MAIN1:

其實(shí),可以改寫(xiě)成下面的程序,達(dá)到的效果和前面的方法是一樣一樣一樣樣的。

ORG 0X000

ORG 0X007 ;注意這條ORG定義

MAIN1:

另外,還有一種辦法,是可以用NOP指令覆蓋擦除原來(lái)的程序。因?yàn)镹OP指令的機(jī)器碼是全0。也就是說(shuō),任何指令都可以用NOP指令來(lái)擦除。如果靈活利用,也可以實(shí)現(xiàn)多次燒錄的目的。這里就不展開(kāi)說(shuō)了。

補(bǔ)充一下,關(guān)于這種方法,如果用于學(xué)習(xí),確實(shí)可以節(jié)省一些芯片。但是如果在正式工作中采用這種方法,耗費(fèi)的時(shí)間和精力會(huì)比省下的芯片價(jià)值更多,有點(diǎn)得不償失的味道。因此,匠人個(gè)人覺(jué)得沒(méi)有太大的必要。畢竟現(xiàn)在EMC的芯片已經(jīng)夠便宜的了,而時(shí)間和精力才是更寶貴。

下文為網(wǎng)上裝載文章,供網(wǎng)友參考:

ADD A,@0xFF的妙用

EMC的單片機(jī)全部是OTP的,開(kāi)發(fā)時(shí)只能使用仿真器,但很多情況下,仿真器并不能仿真實(shí)際的運(yùn)行環(huán)境,如工作電壓為3.3V左右、測(cè)試系統(tǒng)的功耗、測(cè)試系統(tǒng)的穩(wěn)定性、測(cè)試ADC、DAC、看門(mén)狗使用等,如果使用仿真器會(huì)根實(shí)際情況有很大差別,只有燒片子才能測(cè)試到實(shí)際結(jié)果,這樣一次試驗(yàn)下來(lái),如果運(yùn)氣不好,可能需要浪費(fèi)10~20個(gè)芯片,造成很大的浪費(fèi)。

要有效使用ADD A,@0xFF這條指令,需要對(duì)單片機(jī)系統(tǒng)編程進(jìn)行一些分析,從仿真結(jié)果(包含硬件仿真器)根實(shí)際芯片運(yùn)行的差異方面分析程序,可以把程序分為兩個(gè)相對(duì)獨(dú)立的系統(tǒng):算法級(jí)程序和硬件級(jí)程序。

算法級(jí)程序:指與硬件無(wú)關(guān)的程序,如加減乘除算法,控制算法等,總之不涉及硬件單元的操作,這些程序由于其硬件無(wú)關(guān)性,使用仿真器和芯片結(jié)果肯定相同。

硬件級(jí)程序:與硬件相關(guān)的程序,如WDT、計(jì)數(shù)器、端口、中斷、休眠、喚醒等等,特別是WDT、中斷、休眠、喚醒等需要在芯片上才能測(cè)試出實(shí)際的結(jié)果,比如測(cè)試休眠狀態(tài)的功耗,用仿真器無(wú)論如何是試驗(yàn)不出來(lái)的。

閑話少說(shuō),書(shū)歸正傳。

有效使用ADD A,@0xFF可以將一個(gè)芯片當(dāng)作數(shù)片使用,甚至可以到數(shù)十片,原理如下:

EMC單片機(jī)寫(xiě)燒寫(xiě)的過(guò)程實(shí)際就是將為1的熔絲位熔斷成為0,即可以從1寫(xiě)為0,但不能從0到1,ADD A,@0xFF的機(jī)器碼剛好是0x1FFF,全為1。例程如下:

第一次編程代碼如下:

ORG 0X000

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

MAIN1:

...

...

JMP MAIN1

如果MAIN1程序運(yùn)行結(jié)果不能達(dá)到預(yù)期目標(biāo),需要修改程序,假定為MAIN2。修改后代碼如下:

ORG 0X000

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

ADD A,@0XFF

JMP MAIN2

MAIN1:

...

...

JMP MAIN1

MAIN2:

...

...

JMP MAIN2

擴(kuò)展閱讀:?jiǎn)纹瑱C(jī)可以燒寫(xiě)多少次程序?

編輯:admin  最后修改時(shí)間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

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

Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4