新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > EMC單片機實現多次燒錄的辦法

        EMC單片機實現多次燒錄的辦法

        作者: 時間:2013-02-26 來源:網絡 收藏

        一般來說,EMC的OTP類型芯片是只能進行一次燒錄的。但是如果在第一次燒錄時,某一位為被燒為“1”,則該位可以再次被燒錄成“0”;反之,如果已經被燒錄成“0”了,則無法再次燒錄成“1”。由此,有人發現了以下文章中介紹的這種OTP芯片的方法。

        中,“ADD A,@0xFF”的機器碼為全1。在下面這篇文章中,介紹的是用“ADD A,@0xFF”指令來預填,方便下次的改寫。其實,還有更方便的辦法:

        文中提到的辦法如下

        ORG 0X000

        ADD A,@0XFF

        ADD A,@0XFF

        ADD A,@0XFF

        ADD A,@0XFF

        ADD A,@0XFF

        ADD A,@0XFF

        ADD A,@0XFF

        MAIN1:

        其實,可以改寫成下面的程序,達到的效果和前面的方法是一樣一樣一樣樣的。

        ORG 0X000

        ORG 0X007 ;注意這條ORG定義

        MAIN1:

        另外,還有一種辦法,是可以用NOP指令覆蓋擦除原來的程序。因為NOP指令的機器碼是全0。也就是說,任何指令都可以用NOP指令來擦除。如果靈活利用,也可以實現的目的。這里就不展開說了。

        補充一下,關于這種方法,如果用于學習,確實可以節省一些芯片。但是如果在正式工作中采用這種方法,耗費的時間和精力會比省下的芯片價值更多,有點得不償失的味道。因此,匠人個人覺得沒有太大的必要。畢竟現在EMC的芯片已經夠便宜的了,而時間和精力才是更寶貴。

        下文為網上裝載文章,供網友參考:

        ADD A,@0xFF的妙用

        EMC的單片機全部是OTP的,開發時只能使用,但很多情況下,并不能仿真實際的運行環境,如工作電壓為3.3V左右、測試系統的功耗、測試系統的穩定性、測試ADC、DAC、看門狗使用等,如果使用會根實際情況有很大差別,只有燒片子才能測試到實際結果,這樣一次試驗下來,如果運氣不好,可能需要浪費10~20個芯片,造成很大的浪費。

        要有效使用ADD A,@0xFF這條指令,需要對單片機系統編程進行一些分析,從仿真結果(包含硬件仿真器)根實際芯片運行的差異方面分析程序,可以把程序分為兩個相對獨立的系統:算法級程序和硬件級程序。

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 西青区| 且末县| 平遥县| 梅河口市| 五大连池市| 芜湖市| 特克斯县| 灌南县| 泾源县| 托克托县| 宣城市| 丽江市| 海原县| 永宁县| 贵州省| 香港| 凌源市| 福鼎市| 宁德市| 海伦市| 乌鲁木齐市| 彰化市| 靖远县| 丰台区| 佛坪县| 岳阳市| 诸暨市| 武胜县| 宁波市| 呈贡县| 昌黎县| 临清市| 平凉市| 沁水县| 方城县| 平远县| 拉萨市| 清原| 阿拉善左旗| 兴文县| 会宁县|