arm cortex-m處理器家族發展至今(2016),已有5代產品,分別是cm0/cm0+、cm1、cm3、cm4、cm7。
為了能做到cortex-m軟體重用,arm公司在設計cortex-m處理器時為其賦予了處理器向下相容、軟體二進位制向上相容特性。
首先看什麼是二進位制相容,這個特性主要是針對軟體而言,這裡指的是當某軟體(程式)依賴的標頭檔案或庫檔案分別公升級時,軟體功能不受影響。要做到二進位制相容,被軟體所依賴的標頭檔案或庫檔案公升級時必須是二進位制相容的。
那麼什麼又是向上相容,向上相容又叫向前相容,指的是在較低版本處理器上編譯的軟體可以在較高版本處理器上執行。
跟向上相容相對的另乙個概念叫向下相容,向下相容又叫向後相容,指的是較高版本處理器可以正確執行在較低版本處理器上編譯的軟體。
所以其實既可以用向上相容,也可以用向下相容來形容cortex-m特性,只不過描述的主語不一樣,我們可以說cortex-m程式是向上相容的,也可以說cortex-m處理器是向下相容的。
具體到cortex-m處理器時,這個相容特性表現為:
由於cm1主要是用在fpga產品中,故下面對比忽略cm1。我們知道cm處理器是向下相容的,故cm功能模組是隨著版本的公升級而逐步增加的,我們逐步從最低版本開始對比。先來聊聊cm0與cm0+,從最基準的cm0模組看起:
那麼cm0+到底改進了什麼?
那麼cm0+到底增加了什麼? 2.2 cm0+ vs cm3前面比較完了cm0與cm0+,再來看看cm3比cm0+增強在了**:
那麼cm3到底改進了什麼?
那麼cm3到底增加了什麼?額,cm3相比cm0+並沒有增加什麼獨有模組,反倒是少了fast i/o port。
前面比較完了cm0+與cm3,再來看看cm4比cm3增強在了**:
那麼cm4到底改進了什麼?
那麼cm4到底增加了什麼?
前面比較完了cm3與cm4,再來看看cm7比cm4增強在了**:
那麼cm7到底改進了什麼?
那麼cm7到底增加了什麼?difflib模組 difflib模組對比檔案差異
usr bin env python import difflib import sys file1 sys.ar 1 file2 sys.ar 2 def readline filename filehandle open filename,rb text filehandle.read spli...
WIFI模組對比介紹
一.esp8266 官網 1 簡介 樂鑫智慧型互聯平台 escp 擁有高效能無線soc,給移動平台設計師帶來福音,它 以最低成本提供最大實用性,為wifi 功能嵌入其他系統提供無限可能。2 技術概述 esp8266 是乙個完整且自成體系的wi fi 網路解決方案,能夠搭載軟體應用,或通過 另乙個應用...
difflib模組之文字對比
什麼是difflib?用來做什麼?difflib為python的標準庫模組,無需安裝。作用是對比文字之間的差異。並且支援輸出可讀性比較強的html文件,與linux下的diff命令相似。在版本控制方面非常有用。2符號理解 符號含義 包含在第乙個系列行中,但不包含第二個。包含在第二個系列行中,但不包含...