KOL Korteks-M - ARM Cortex-M

NXP ve Silicon Labs'den ( Energy Micro ) ARM Cortex-M0 ve Cortex-M3 mikrodenetleyici IC'leri
Die bir STM32F100C4T6B IC. 16 KB flash bellek , 4 KB RAM ile 
24  MHz ARM Cortex-M3 mikrodenetleyici .
STMicroelectronics tarafından üretilmiştir .

Kol Cortex-M bir grup olduğu bir 32-bit RISC ARM lisanslı işlemci çekirdekleri Kol Holdings . Bu çekirdekler, on milyarlarca tüketici cihazına yerleştirilmiş düşük maliyetli ve enerji verimli entegre devreler için optimize edilmiştir. Genellikle mikrodenetleyici yongalarının ana bileşeni olmalarına rağmen , bazen diğer yonga türlerinin içine de gömülürler. Cortex-M ailesi, Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-M35P, Cortex-M55'ten oluşur. Cortex-M4 / M7 / M33 / M35P / M55 çekirdekleri bir FPU silikon seçeneğine sahiptir ve silikona dahil edildiğinde bu çekirdekler bazen "FPU'lu Cortex-Mx" veya "Cortex-MxF" olarak bilinir, burada 'x' çekirdek varyantı.

genel bakış

32 bit
Yıl Çekirdek
2004 Korteks-M3
2007 Korteks-M1
2009 Korteks-M0
2010 Korteks-M4
2012 Korteks-M0+
2014 Korteks-M7
2016 Korteks-M23
2016 Korteks-M33
2018 Korteks-M35P
2020 Korteks-M55

ARM Cortex-M ailesi, mikrodenetleyicilerde , ASIC'lerde , ASSP'lerde , FPGA'larda ve SoC'lerde kullanılmak üzere tasarlanmış ARM mikroişlemci çekirdekleridir . Cortex-M çekirdekleri yaygın olarak özel mikro denetleyici yongaları olarak kullanılır, ancak aynı zamanda güç yönetimi denetleyicileri, G/Ç denetleyicileri, sistem denetleyicileri, dokunmatik ekran denetleyicileri, akıllı pil denetleyicileri ve sensör denetleyicileri olarak SoC yongalarının içinde "gizlidir".

Cortex-A çekirdeğinden temel farkı, bellek yönetim biriminin (MMU) olmamasıdır . Tam teşekküllü bir işletim sistemi normalde bu işlemci sınıfında çalışmaz.

Geçmişte 8-bit mikrodenetleyiciler çok popüler olmasına rağmen, Cortex-M, düşük kaliteli Cortex-M çiplerinin fiyatları aşağı doğru hareket ettiğinden, 8-bit pazarında yavaş yavaş ufalanıyor. Cortex-M, 32-bit matematik işlemlerinden yararlanan ve ARM7 ve ARM9 gibi eski ARM çekirdeklerinin yerini alan uygulamalarda 8-bit yongaların popüler bir alternatifi haline geldi .

Lisans

Arm Holdings , kendi tasarımlarına göre CPU cihazları üretmez veya satmaz, bunun yerine işlemci mimarisini ilgili taraflara lisanslar. Arm, maliyet ve çıktılara göre değişen çeşitli lisans koşulları sunar. Arm, tüm lisans sahiplerine ARM çekirdeğinin entegre edilebilir bir donanım tanımının yanı sıra eksiksiz yazılım geliştirme araç seti ve ARM CPU'yu içeren üretilmiş silikon satma hakkı sağlar .

Silikon özelleştirme

Entegre Cihaz Üreticileri (IDM) ARM İşlemci almak IP olarak sentezlenebilir RTL (yazılmış Verilog ). Bu formda, mimari düzeyde optimizasyon ve uzantıları gerçekleştirme yeteneğine sahiptirler. Bu, üreticinin daha yüksek saat hızı, çok düşük güç tüketimi, komut seti uzantıları (kayan nokta dahil), boyut optimizasyonları, hata ayıklama desteği vb. gibi özel tasarım hedeflerine ulaşmasını sağlar. Belirli bir ARM'de hangi bileşenlerin bulunduğunu belirlemek için CPU çipi, üretici veri sayfasına ve ilgili belgelere bakın.

Cortex-M çekirdekleri için bazı silikon seçenekleri şunlardır:

  • SysTick zamanlayıcı: Hem işlemcinin hem de İç İçe Vektörlü Kesme Denetleyicisinin (NVIC) işlevselliğini artıran 24 bitlik bir sistem zamanlayıcısı. Mevcut olduğunda, ayrıca yapılandırılabilir bir öncelik SysTick kesmesi sağlar. SysTick zamanlayıcı isteğe bağlı olsa da, onsuz bir Cortex-M mikro denetleyici bulmak çok nadirdir. Bir Cortex-M33 mikro denetleyicisinde Güvenlik Uzantısı seçeneği varsa, biri Güvenli ve biri Güvenli Olmayan olmak üzere iki SysTick'e sahiptir.
  • Bit-Band: Bit-band bölgesindeki tek bir bitin üzerine tam bir bellek kelimesini eşler. Örneğin, bir takma ad sözcüğüne yazmak, bit bandı bölgesindeki ilgili biti ayarlayacak veya temizleyecektir. Bu, bit bandı bölgesindeki her bir bitin, kelime hizalı bir adresten doğrudan erişilebilir olmasını sağlar. Özellikle, bireysel bitler, komutların okuma-değiştirme-yazma sırası gerçekleştirilmeden C/C++'dan ayarlanabilir, temizlenebilir veya değiştirilebilir. Bit bandı isteğe bağlı olsa da, onsuz bir Cortex-M3 ve Cortex-M4 mikro denetleyici bulmak daha az yaygındır. Bazı Cortex-M0 ve Cortex-M0+ mikro denetleyicilerinde bit bandı bulunur.
  • Bellek Koruma Birimi (MPU): Ayrıcalık ve erişim kurallarını zorlayarak bellek bölgelerinin korunması için destek sağlar. Her biri sekiz eşit büyüklükte alt bölgeye ayrılabilen sekiz adede kadar farklı bölgeyi destekler.
  • Sıkıca Birleştirilmiş Bellek (TCM): Kritik rutinleri, verileri ve yığınları tutmak için kullanılan düşük gecikme süreli RAM. Önbellek dışında, genellikle mikrodenetleyicideki en hızlı RAM'dir.
ARM Cortex-M isteğe bağlı bileşenler
kol çekirdeği korteks
M0
Korteks
M0+
korteks
M1
korteks
M3
korteks
M4
Korteks
M7
Korteks
M23
Korteks
M33
Korteks
M35P
SysTick 24-bit Zamanlayıcı Opsiyonel
(0,1)
Opsiyonel
(0,1)
Opsiyonel
(0,1)
Evet
(1)
Evet
(1)
Evet
(1)
Opsiyonel
(0,1,2)
Evet
(1,2)
Evet
(1,2)
Tek döngülü G/Ç bağlantı noktası Numara İsteğe bağlı Numara Numara Numara Numara İsteğe bağlı Numara Numara
Bit Bantlı bellek Numara Numara Numara* İsteğe bağlı İsteğe bağlı İsteğe bağlı Numara Numara Numara
Bellek Koruma
Birimi (MPU)
Numara Opsiyonel
(0,8)
Numara Opsiyonel
(0,8)
Opsiyonel
(0,8)
Opsiyonel
(0,8,16)
Opsiyonel
(0,4,8,12,16)
Opsiyonel
(0,4,8,12,16)
Opsiyonel
*
Güvenlik İlişkilendirme
Birimi (SAU) ve
Yığın Sınırları
Numara Numara Numara Numara Numara Numara Opsiyonel
(0,4,8)
Opsiyonel
(0,4,8)
Opsiyonel
*
talimat TCM Numara Numara İsteğe bağlı Numara Numara İsteğe bağlı Numara Numara Numara
Veri TCM'si Numara Numara İsteğe bağlı Numara Numara İsteğe bağlı Numara Numara Numara
Talimat Önbelleği Numara Numara Numara Numara Numara İsteğe bağlı Numara Numara İsteğe bağlı
Veri Önbelleği Numara Numara Numara Numara Numara İsteğe bağlı Numara Numara Numara
Vektör Tablo Ofset
Kaydı (VTOR)
Numara Opsiyonel
(0,1)
Opsiyonel
(0,1)
Opsiyonel
(0,1)
Opsiyonel
(0,1)
Opsiyonel
(0,1)
Opsiyonel
(0,1,2)
Evet
(1,2)
Evet
(1,2)
  • Not: Çoğu Cortex-M3 ve M4 yongası, bit bandına ve MPU'ya sahiptir. Bit-band seçeneği, Cortex-M Sistem Tasarım Kiti kullanılarak M0/M0+'a eklenebilir.
  • Not: Yazılım, kullanmayı denemeden önce bir özelliğin varlığını doğrulamalıdır.
  • Not: Teknik Referans Kılavuzu yayınlanana kadar Cortex-M35P için sınırlı genel bilgi mevcuttur .

Ek silikon seçenekleri:

  • Veri endianness: Küçük endian veya büyük endian. Eski ARM çekirdeklerinden farklı olarak Cortex-M, bu seçeneklerden biri olarak kalıcı olarak silikona sabitlenmiştir.
  • Kesintiler: 1 ila 32 (M0/M0+/M1), 1 ila 240 (M3/M4/M7/M23), 1 ila 480 (M33/M35P).
  • Uyandırma kesinti denetleyicisi: İsteğe bağlı.
  • Vektör Tablo Ofset Kaydı: Opsiyonel. (M0 için mevcut değildir).
  • Talimat getirme genişliği: Yalnızca 16 bit veya çoğunlukla 32 bit.
  • Kullanıcı/ayrıcalık desteği: İsteğe bağlı.
  • Tüm kayıtları sıfırla: İsteğe bağlı.
  • Tek döngülü G/Ç bağlantı noktası: İsteğe bağlı. (M0+/M23).
  • Hata Ayıklama Erişim Bağlantı Noktası (DAP): Yok, SWD, JTAG ve SWD. (tüm Cortex-M çekirdekleri için isteğe bağlı)
  • Hata ayıklama desteğinin durdurulması: İsteğe bağlı.
  • İzleme noktası karşılaştırıcılarının sayısı: 0 ila 2 (M0/M0+/M1), 0 ila 4 (M3/M4/M7/M23/M33/M35P).
  • Kesme noktası karşılaştırıcı sayısı: 0 ila 4 (M0/M0+/M1/M23), 0 ila 8 (M3/M4/M7/M33/M35P).

Komut setleri

Cortex-M0 / M0+ / M1, ARMv6-M mimarisini uygular, Cortex-M3, ARMv7-M mimarisini uygular , Cortex-M4 / Cortex-M7, ARMv7E-M mimarisini uygular , Cortex-M23 / M33 / M35P uygulaması ARMv8-M mimari ve Cortex-M55 uygular ARMv8.1-M mimarisi. Mimariler, ARMv6-M'den ARMv7-M'ye ve ARMv7E-M'ye kadar ikili komutlarla uyumludur. Cortex-M0 / Cortex-M0+ / Cortex-M1 için mevcut ikili talimatlar, Cortex-M3 / Cortex-M4 / Cortex-M7 üzerinde değişiklik yapılmadan yürütülebilir. Cortex-M3 için mevcut olan ikili komutlar, Cortex-M4 / Cortex-M7 / Cortex-M33 / Cortex-M35P üzerinde değişiklik yapılmadan yürütülebilir. Cortex-M mimarilerinde yalnızca Thumb-1 ve Thumb-2 komut setleri desteklenir; eski 32-bit ARM komut seti desteklenmez.

Tüm Cortex-M çekirdekleri, çoğu Thumb-1, bazı Thumb-2'den oluşan ve 32-bit sonuç çarpması dahil olmak üzere ortak bir talimat alt kümesini uygular. Cortex-M0 / Cortex-M0+ / Cortex-M1 / Cortex-M23, en küçük silikon kalıbı oluşturmak için tasarlandı, böylece Cortex-M ailesinin en az talimatına sahip oldu.

Cortex-M0 / M0+ / M1, ARMv7-M mimarisine eklenen yeni talimatlar (CBZ, CBNZ, IT) dışında Thumb-1 komutlarını içerir. Cortex-M0 / M0+ / M1, Thumb-2 talimatlarının (BL, DMB, DSB, ISB, MRS, MSR) küçük bir alt kümesini içerir. Cortex-M3 / M4 / M7 / M33 / M35P, tüm temel Thumb-1 ve Thumb-2 talimatlarına sahiptir. Cortex-M3, üç Thumb-1 talimatı, tüm Thumb-2 talimatları, donanım tamsayı bölme ve doygunluk aritmetik talimatları ekler . Cortex-M4, DSP talimatları ve isteğe bağlı tek duyarlıklı kayan nokta birimi (VFPv4-SP) ekler. Cortex-M7, isteğe bağlı bir çift duyarlıklı FPU (VFPv5) ekler. Cortex-M23 / M33, TrustZone talimatlarını ekler .

ARM Cortex-M talimat varyasyonları
kol çekirdeği korteks
M0
Korteks
M0+
korteks
M1
korteks
M3
korteks
M4
Korteks
M7
Korteks
M23
Korteks
M33
Korteks
M35P
Korteks
M55
ARM mimarisi ARMv6-M ARMv6-M ARMv6-M ARMv7-M ARMv7E-M ARMv7E-M ARMv8-M
Temel Çizgisi
ARMv8-M
Ana Hat
ARMv8-M
Ana Hat
Armv8.1-M
Bilgisayar Mimarisi Von Neumann Von Neumann Von Neumann Harvard Harvard Harvard Von Neumann Harvard Harvard Harvard
talimat hattı 3 aşama 2 aşama 3 aşama 3 aşama 3 aşama 6 aşama 2 aşama 3 aşama 3 aşama 4 ila 5 aşama
Başparmak-1 talimatları Çoğu Çoğu Çoğu Bütün Bütün Bütün Çoğu Bütün Bütün Bütün
Başparmak-2 talimatları Biraz Biraz Biraz Bütün Bütün Bütün Biraz Bütün Bütün Bütün
Çarpma talimatları
32x32 = 32 bit sonuç
Evet Evet Evet Evet Evet Evet Evet Evet Evet Evet
Çarpma talimatları
32x32 = 64-bit sonuç
Numara Numara Numara Evet Evet Evet Numara Evet Evet Evet
Komutları bölme
32/32 = 32 bit bölüm
Numara Numara Numara Evet Evet Evet Evet Evet Evet Evet
Doymuş talimatlar Numara Numara Numara Biraz Evet Evet Numara Evet Evet Evet
DSP talimatları Numara Numara Numara Numara Evet Evet Numara İsteğe bağlı İsteğe bağlı İsteğe bağlı
Tek Hassasiyetli (SP)
Kayan nokta talimatları
Numara Numara Numara Numara İsteğe bağlı İsteğe bağlı Numara İsteğe bağlı İsteğe bağlı İsteğe bağlı
Çift Hassasiyetli (DP)
Kayan nokta talimatları
Numara Numara Numara Numara Numara İsteğe bağlı Numara Numara Numara İsteğe bağlı
Yarı Hassasiyet (HP) Numara Numara Numara Numara Numara Numara Numara Numara Numara İsteğe bağlı
TrustZone talimatları Numara Numara Numara Numara Numara Numara İsteğe bağlı İsteğe bağlı İsteğe bağlı İsteğe bağlı
Yardımcı işlemci talimatları Numara Numara Numara Numara Numara Numara Numara İsteğe bağlı İsteğe bağlı İsteğe bağlı
helyum teknolojisi Numara Numara Numara Numara Numara Numara Numara Numara Numara İsteğe bağlı
Kesinti gecikmesi
(sıfır bekleme durumu RAM ise)
16 döngü 15 döngü
IRQ için NMI 26 için 23
12 döngü 12 döngü 12 döngü
14 en kötü durum
15 güvenlik harici harici
27 güvenlik harici
12 güvenlik harici
?? güvenlik dahili
TBD TBD
  • Not: Cortex-M0 / M0+ / M1, şu 16 bitlik Thumb-1 talimatlarını içermez: CBZ, CBNZ, IT.
  • Not: Cortex-M0 / M0+ / M1 yalnızca şu 32-bit Thumb-2 talimatlarını içerir: BL, DMB, DSB, ISB, MRS, MSR.
  • Not: Cortex-M0 / M0+ / M1 / ​​M23, yalnızca 32 bitlik daha düşük bir sonuçla (32 bit × 32 bit = daha düşük 32 bit) 32 bit çarpma talimatlarına sahiptir, burada Cortex-M3 / M4 / M7 / M33 / M35P 64 bit sonuçlarla (32 bit × 32 bit = 64 bit) ek 32 bit çarpma talimatları içerir. Cortex-M4 / M7 (isteğe bağlı olarak M33 / M35P), (16bit × 16bit = 32bit), (32bit × 16bit = üst 32bit), (32bit × 32bit = üst 32bit) çarpmalar için DSP talimatlarını içerir.
  • Not: Çarpma ve bölme talimatlarını tamamlamak için gereken döngü sayısı, ARM Cortex-M çekirdek tasarımları arasında değişiklik gösterir. Bazı çekirdekler, hızlı hız veya küçük boyut (yavaş hız) seçimi için bir silikon seçeneğine sahiptir, bu nedenle çekirdekler, daha yüksek döngü sayısının dezavantajı ile daha az silikon kullanma seçeneğine sahiptir. Bir bölme talimatının veya yavaş yinelemeli çarpma talimatının yürütülmesi sırasında meydana gelen bir kesinti, işlemcinin talimatı terk etmesine ve ardından kesme geri döndükten sonra yeniden başlatmasına neden olur.
    • Çarpma talimatları "32 bit sonuç" – Cortex-M0/M0+/M23 1 veya 32 döngü silikon seçeneğidir, Cortex-M1 3 veya 33 döngü silikon seçeneğidir, Cortex-M3/M4/M7/M33/M35P 1 döngüdür.
    • Çarpma talimatları "64 bit sonuç" – Cortex-M3 3–5 döngüdür (değerlere bağlı olarak), Cortex-M4/M7/M33/M35P 1 döngüdür.
    • Bölme talimatları – Cortex-M3/M4, 2–12 döngüdür (değerlere bağlı olarak), Cortex-M7 3–20 döngüdür (değerlere bağlı olarak), Cortex-M23 17 veya 34 döngü seçeneğidir, Cortex-M33 2–11'dir döngüler (değerlere bağlı olarak), Cortex-M35P TBD'dir.
  • Not: Korteks-M4 / M7 / M33 / M35P herhangi bir silikon seçenek bir seçim vardır FPU veya tek hassasiyetli ( SP ) FPU ve Cortex-M7 hem tek hem de hassas (SP) ve destek üçüncü bir silikon seçeneği ekler çift -hassasiyet ( DP ). Cortex-M4 / M7 / M33 / M35P'nin bir FPU'su varsa, o zaman Cortex-M4 F / Cortex-M7 F / Cortex-M33 F / Cortex-M35P F olarak bilinir .
  • Not: Cortex-M serisi uyku modu için üç yeni 16-bit Thumb-1 talimatı içerir: SEV, WFE, WFI.
  • Not: Kesinti gecikme döngüsü sayısı şunları varsaymaktadır: 1) sıfır bekleme durumundaki RAM'de bulunan yığın, 2) şu anda yürütülmeyen başka bir kesme işlevi, 3) Ek döngüler eklediğinden Güvenlik Uzantısı seçeneği mevcut değildir. Harvard bilgisayar mimarisine sahip Cortex-M çekirdekleri, Von Neumann bilgisayar mimarisine sahip Cortex-M çekirdeklerinden daha kısa bir kesinti gecikmesine sahiptir.
ARM Cortex-M talimat grupları
Grup Instr
bitleri
Talimatlar Korteks
M0,M0+,M1
korteks
M3
korteks
M4
Korteks
M7
Korteks
M23
Korteks
M33, M35P
Korteks
M55
başparmak-1 16 ADC, ADD, ADR, AND, ASR, B, BIC, BKPT, BLX, BX, CMN, CMP, CPS, EOR, LDM, LDR, LDRB, LDRH, LDRSB, LDRSH, LSL, LSR, MOV, MUL, MVN, NOP, ORR, POP, PUSH, REV, REV16, REVSH, ROR, RSB, SBC, SEV, STM, STR, STRB, STRH, SUB, SVC, SXTB, SXTH, TST, UXTB, UXTH, WFE, WFI, Verim Evet Evet Evet Evet Evet Evet Evet
başparmak-1 16 CBNZ, CBZ Numara Evet Evet Evet Evet Evet Evet
başparmak-1 16 O Numara Evet Evet Evet Numara Evet Evet
başparmak-2 32 BL, DMB, DSB, ISB, MRS, MSR Evet Evet Evet Evet Evet Evet Evet
başparmak-2 32 SDIV, UDIV Numara Evet Evet Evet Evet Evet Evet
başparmak-2 32 ADC, ADD, ADR, VE, ASR, B, BFC, BFI, BIC, CDP, CLREX, CLZ , CMN, CMP, DBG, EOR, LDC, LDM, LDR, LDRB, LDRBT, LDRD, LDREX, LDREXB, LDREXH, LDRH, LDRHT, LDRSB, LDRSBT, LDRSH, LDRSHT, LDRT, LSL, LSR, MCR, MCRR, MLA, MLS, MOVT, MOVW, MRC, MRRC, MUL, MVN, NOP, ORN, ORR, PLD, PLDW, PLI, POP, PUSH, RBIT, REV, REV16, REVSH, ROR, RRX, RSB, SBC, SBFX, SEV, SMLAL, SMULL, SSAT, STC, STM, STR, STRB, STRBT, STRD, STREX, STREXB, STREXH, STRH, STRHT, STRT, SUB, SXTB, SXTH, TBB, TBH, TEQ, TST, UBFX, UMLAL, UMULL, USAT, UXTB, UXTH, WFE, WFI, Verim Numara Evet Evet Evet Numara Evet Evet
DSP 32 PKH, QADD, QADD16, QADD8, QASX, QDADD, QDSUB, QSAX, QSUB, QSUB16, QSUB8, SADD16, SADD8, SASX, SEL, SHADD16, SHADD8, SHASX, SHSAX, SHSUB16, SHSUB8, SMLABB, SMLABB, SMLAD, SMLALBB, SMLALBT, SMLALTB, SMLALTT, SMLALD, SMLAWB, SMLAWT, SMLSD, SMLSLD, SMMLA, SMMLS, SMMUL, SMUAD, SMULBB, SMULBT, SMULTT, SMULTB, SMULWT, SMULWB, SSUB, SSUB, SAT16, SSSM, SXTAB, SXTAB16, SXTAH, SXTB16, UADD16, UADD8, UASX, UHADD16, UHADD8, UHASX, UHSAX, UHSUB16, UHSUB8, UMAAL, UQADD16, UQADD8, UQASX, UQSAX, UQSUBDA, USAD8, UQSUB16, USAD8, USTSUB16 USUB8, UXTAB, UXTAB16, UXTAH, UXTB16 Numara Numara Evet Evet Numara İsteğe bağlı Evet
SP Şamandıra 32 VABS, VADD, VCMP, VCMPE, VCVT, VCVTR, VDIV, VLDM, VLDR, VMLA, VMLS, VMOV, VMRS, VMSR, VMUL, VNEG, VNMLA, VNMLS, VNMUL, VPOP, VPUSH, VSQRT, VSTMVS, UBVSTR, Numara Numara İsteğe bağlı İsteğe bağlı Numara İsteğe bağlı İsteğe bağlı
DP Şamandırası 32 VCVTA, VCVTM, VCVTN, VCVTP, VMAXNM, VMINNM, VRINTA, VRINTM, VRINTN, VRINTP, VRINTR, VRINTX, VRINTZ, VSEL Numara Numara Numara İsteğe bağlı Numara Numara İsteğe bağlı
TrustZone 16 BLXNS, BXNS Numara Numara Numara Numara İsteğe bağlı İsteğe bağlı İsteğe bağlı
TrustZone 32 SG, TT, TTT, TTA, TTAT Numara Numara Numara Numara İsteğe bağlı İsteğe bağlı İsteğe bağlı
yardımcı işlemci 16 CDP, CDP2, MCR, MCR2, MCRR, MCRR2, MRC, MRC2, MRRC, MRRC2 Numara Numara Numara Numara Numara İsteğe bağlı İsteğe bağlı
  • Not: MOVW, 32 bit "geniş" MOV talimatı anlamına gelen bir takma addır.
  • Not: Cortex-M1 için WFE / WFI / SEV talimatları mevcuttur, ancak bir NOP talimatı olarak yürütülür.
  • Not: Tek hassasiyetli (SP) FPU talimatları, Cortex-M4 / M7 / M33 / M35P'de yalnızca silikonda SP FPU seçeneği mevcut olduğunda geçerlidir.
  • Not: Çift duyarlıklı (DP) FPU talimatları, Cortex-M7'de yalnızca silikonda DP FPU seçeneği mevcut olduğunda geçerlidir.

kullanımdan kaldırmalar

ARM Cortex-M serisi için ARM mimarisi, eski çekirdeklerden bazı özellikleri kaldırdı:

  • 32-bit ARM komut seti, Cortex-M çekirdeklerine dahil değildir.
  • Endianness, Cortex-M çekirdeklerinde silikon uygulamasında seçilir. Eski çekirdekler, veri endian modunun "anında" değiştirilmesine izin verdi .
  • Yardımcı işlemci , ARM Cortex-M33/M35P çekirdekleri için "ARMv8-M Mainline"da silikon seçeneği yeniden sunulana kadar Cortex-M çekirdeklerinde desteklenmedi.

32-bit ARM komut setinin yetenekleri, Thumb-1 ve Thumb-2 komut setleri tarafından birçok şekilde çoğaltılır, ancak bazı ARM özellikleri benzer bir özelliğe sahip değildir:

  • SWP ve SWPB (takas) ARM komutları Cortex-M'de benzer bir özelliğe sahip değildir.

16 bitlik Thumb-1 komut seti, ARMv4T mimarisi ile eski ARM7T çekirdeklerinde ilk kez piyasaya sürülmesinden bu yana zaman içinde gelişti . Her eski ARMv5 / ARMv6 / ARMv6T2 mimarisi yayınlandıkça yeni Thumb-1 talimatları eklendi. Bazı 16-bit Thumb-1 komutları Cortex-M çekirdeklerinden kaldırıldı:

  • Thumb-1'den ARM komut setine geçmek için kullanıldığından "BLX <immediate>" komutu mevcut değil. "BLX <register>" talimatı Cortex-M'de hala mevcuttur.
  • SETEND mevcut değil çünkü veri endian modunun anında geçişi artık desteklenmiyor.
  • Yardımcı işlemci talimatları, ARM Cortex-M33/M35P çekirdekleri için "ARMv8-M Mainline"da silikon seçeneği yeniden sunulana kadar Cortex-M çekirdeklerinde desteklenmedi.
  • Komut ikili kodlaması aynı olmasına rağmen, SWI komutu SVC olarak yeniden adlandırıldı. Ancak, istisna modellerindeki değişiklikler nedeniyle SVC işleyici kodu SWI işleyici kodundan farklıdır.

Korteks-M0

Korteks-M0
Mimari ve sınıflandırma
mikromimari ARMv6-M
Komut seti Thumb-1 (çoğu),
Thumb-2 (bazıları)

Cortex-M0 çekirdeği, küçük silikon kalıp boyutu ve en düşük fiyatlı yongalarda kullanım için optimize edilmiştir.

Cortex-M0 çekirdeğinin temel özellikleri şunlardır:

  • ARMv6-M mimarisi
  • 3 aşamalı boru hattı
  • Komut setleri:
    • Thumb-1 (çoğu), eksik CBZ, CBNZ, IT
    • Thumb-2 (bazıları), yalnızca BL, DMB, DSB, ISB, MRS, MSR
    • 32 bit donanım tamsayısının 32 bit sonuçla çarpması
  • 1 ila 32 kesme artı NMI

Silikon seçenekleri:

  • Donanım tamsayı çarpma hızı: 1 veya 32 döngü.

cips

Aşağıdaki mikrodenetleyiciler Cortex-M0 çekirdeğini temel alır:

Aşağıdaki yongalar, ikincil çekirdek olarak bir Cortex-M0'a sahiptir:

  • NXP LPC4300 (bir Cortex-M4F + bir Cortex-M0)
  • Texas Instruments SimpleLink Kablosuz MCU'lar CC1310 ve CC2650 (bir programlanabilir Cortex-M3 + bir Cortex-M0 ağ işlemcisi + bir tescilli Sensör Kontrol Motoru)

Korteks-M0+

Korteks-M0+
Mimari ve sınıflandırma
mikromimari ARMv6-M
Komut seti Thumb-1 (çoğu) ,
Thumb-2 (bazıları)
KL25Z128VLK ile NXP ( Freescale ) FRDM-KL25Z Board (Kinetis L)

Cortex-M0+, Cortex-M0'ın optimize edilmiş bir üst kümesidir. Cortex-M0+, Cortex-M0 ile tam komut seti uyumluluğuna sahiptir, böylece aynı derleyici ve hata ayıklama araçlarının kullanımına izin verir. Cortex-M0+ boru hattı, güç kullanımını azaltan 3 aşamadan 2 aşamaya düşürüldü. Mevcut Cortex-M0'daki hata ayıklama özelliklerine ek olarak, Cortex-M0+'a, basit bir talimat izleme arabelleği sağlayan Micro Trace Buffer (MTB) adı verilen bir silikon seçeneği eklenebilir. Cortex-M0+ ayrıca, bellek koruma birimi (MPU) ve vektör tablosu yer değiştirme gibi silikon seçenekleri olarak eklenebilen Cortex-M3 ve Cortex-M4 özelliklerini de aldı .

Cortex-M0+ çekirdeğinin temel özellikleri şunlardır:

  • ARMv6-M mimarisi
  • 2 aşamalı boru hattı (Cortex-M0'dan bir tane daha az)
  • Komut setleri: (Cortex-M0 ile aynı)
    • Thumb-1 (çoğu), eksik CBZ, CBNZ, IT
    • Thumb-2 (bazıları), yalnızca BL, DMB, DSB, ISB, MRS, MSR
    • 32 bit donanım tamsayısının 32 bit sonuçla çarpması
  • 1 ila 32 kesme artı NMI

Silikon seçenekleri:

  • Donanım tamsayı çarpma hızı: 1 veya 32 döngü
  • 8 bölgeli bellek koruma birimi (MPU) (M3 ve M4 ile aynı)
  • Vektör tablosunun yer değiştirmesi (M3, M4 ile aynı)
  • Tek döngülü G/Ç bağlantı noktası (M0+/M23'te mevcuttur)
  • Mikro İz Tamponu (MTB) (M0+/M23/M33/M35P'de mevcuttur)

cips

Aşağıdaki mikrodenetleyiciler Cortex-M0+ çekirdeğini temel alır:

Aşağıdaki yongalarda ikincil çekirdek olarak bir Cortex-M0+ bulunur:

  • Cypress PSoC 6200 (bir Cortex-M4F + bir Cortex-M0+)
  • ST WB (bir Cortex-M4F + bir Cortex-M0+)

En küçük ARM mikro denetleyicileri Cortex-M0+ tipindedir (2014 itibariyle, 1,6 mm'ye 2 mm'lik en küçük Kinetis KL03'tür).

21 Haziran 2018'de, Michigan Üniversitesi araştırmacıları tarafından 2018 Sempozyumu'nda ARM Cortex-M0+ tabanlı (ve RAM ve kablosuz vericiler ve fotovoltaik tabanlı alıcılar dahil) " dünyanın en küçük bilgisayarı " veya bilgisayar cihazı duyuruldu . VLSI Teknolojisi ve Devreleri, " Entegre Cortex-M0+ İşlemcili ve Hücresel Sıcaklık Ölçümü için Optik İletişimli 0.04mm 3 16nW Kablosuz ve Pilsiz Sensör Sistemi." Cihaz, IBM'in daha önce iddia edilen dünya rekoru büyüklüğündeki bilgisayarının, bir tuz tanesinden daha küçük olan, Mart 2018'de aylar öncesinden 1/10'u büyüklüğünde.

Korteks-M1

Korteks-M1
Mimari ve sınıflandırma
mikromimari ARMv6-M
Komut seti Thumb-1 (çoğu) ,
Thumb-2 (bazıları)

Cortex-M1, özellikle FPGA yongalarına yüklenmek üzere tasarlanmış optimize edilmiş bir çekirdektir .

Cortex-M1 çekirdeğinin temel özellikleri şunlardır:

  • ARMv6-M mimarisi
  • 3 aşamalı boru hattı .
  • Komut setleri:
    • Thumb-1 (çoğu), eksik CBZ, CBNZ, IT.
    • Thumb-2 (bazıları), yalnızca BL, DMB, DSB, ISB, MRS, MSR.
    • 32 bit donanım tamsayı, 32 bit sonuçla çarpılır.
  • 1 ila 32 kesme artı NMI .

Silikon seçenekleri:

  • Donanım tamsayı çarpma hızı: 3 veya 33 döngü.
  • İsteğe Bağlı Sıkı Bağlantılı Bellek (TCM): 0 ila 1 MB talimat-TCM, 0 ila 1 MB veri-TCM, her biri isteğe bağlı ECC'ye sahiptir.
  • Harici kesmeler: 0, 1, 8, 16, 32.
  • Hata ayıklama: yok, azaltılmış, dolu.
  • Veri endianness: küçük endian veya BE-8 büyük endian.
  • OS uzantısı: var veya yok.

cips

Aşağıdaki satıcılar, FPGA yongalarında Cortex-M1'i yumuşak çekirdekler olarak desteklemektedir:

  • Altera Siklon-II, Siklon-III, Stratix-II, Stratix-III
  • GOWIN M1
  • Actel / Microsemi / Microchip Fusion, IGLOO/e, ProASIC3L, ProASIC3/E
  • Xilinx Spartan-3, Virtex-2, Virtex-3, Virtex-4, Artix-7

Korteks-M3

Korteks-M3
Mimari ve sınıflandırma
mikromimari ARMv7-M
Komut seti Thumb-1 , Thumb-2 ,
Doymuş (bazıları), Böl
Atmel ATSAM3X8E ( ARM Cortex-M3 çekirdekli) mikro denetleyicili Arduino Due kartı
LPC1343 ile NXP LPCXpresso Geliştirme Kartı

Cortex-M3 çekirdeğinin temel özellikleri şunlardır:

  • ARMv7-M mimarisi
  • 3 aşamalı boru hattı ile şube spekülasyon .
  • Komut setleri:
    • Başparmak-1 (tamamı).
    • Başparmak-2 (tamamı).
    • 32 bit donanım tamsayısının 32 bit veya 64 bit sonuçla çarpımı, işaretli veya işaretsiz, çarpma işleminden sonra toplama veya çıkarma. 32 bit çarpma 1 döngüdür, ancak 64 bit çarpma ve MAC talimatları ekstra döngü gerektirir.
    • 32 bit donanım tamsayı bölme (2–12 döngü).
    • doygunluk aritmetik desteği.
  • 1 ila 240 kesme artı NMI .
  • 12 döngü kesinti gecikmesi.
  • Entegre uyku modları.

Silikon seçenekleri:

  • Opsiyonel Bellek Koruma Birimi (MPU): 0 veya 8 bölge.

cips

Aşağıdaki mikrodenetleyiciler Cortex-M3 çekirdeğini temel alır:

Aşağıdaki yongalarda ikincil çekirdek olarak bir Cortex-M3 bulunur:

Aşağıdaki FPGA'lar bir Cortex-M3 çekirdeği içerir:

Aşağıdaki satıcılar, FPGA yongalarında Cortex-M3'ü yumuşak çekirdekler olarak desteklemektedir:

  • Altera Siklon-II, Siklon-III, Stratix-II, Stratix-III
  • Xilinx Spartan-3, Virtex-2, Virtex-3, Virtex-4, Artix-7

Korteks-M4

Korteks-M4
Mimari ve sınıflandırma
mikromimari ARMv7E-M
Komut seti Thumb-1 , Thumb-2 ,
Doymuş , DSP ,
Böl, FPU (SP)
Silikon Laboratuvarları ( Energy Micro ) Wonder Gecko STK Kartı, EFM32 WG990 ile
LM4F120 ile TI Stellaris Launchpad Board

Kavramsal olarak Cortex-M4, bir Cortex-M3 artı DSP talimatları ve isteğe bağlı kayan nokta birimidir (FPU). FPU'lu bir çekirdek Cortex-M4F olarak bilinir.

Cortex-M4 çekirdeğinin temel özellikleri şunlardır:

  • ARMv7E-M mimarisi
  • 3 aşamalı boru hattı ile şube spekülasyon .
  • Komut setleri:
    • Başparmak-1 (tamamı).
    • Başparmak-2 (tamamı).
    • 32 bit donanım tamsayı, 32 bit veya 64 bit sonuçla çarpılır, işaretli veya işaretsiz, çarpma işleminden sonra toplama veya çıkarma. 32-bit Çarpma ve MAC 1 döngüdür.
    • 32 bit donanım tamsayı bölme (2–12 döngü).
    • Doygunluk aritmetik desteği.
    • DSP uzantısı: Tek döngülü 16/32 bit MAC , tek döngülü çift 16 bit MAC, 8/16 bit SIMD aritmetiği.
  • 1 ila 240 kesme artı NMI .
  • 12 döngü kesinti gecikmesi.
  • Entegre uyku modları.

Silikon seçenekleri:

  • İsteğe bağlı kayan nokta birimi (FPU): yalnızca tek duyarlıklı IEEE-754 uyumlu. FPv4-SP uzantısı olarak adlandırılır.
  • İsteğe bağlı bellek koruma birimi (MPU): 0 veya 8 bölge.

cips

Aşağıdaki mikrodenetleyiciler Cortex-M4 çekirdeğine dayanmaktadır:

Aşağıdaki mikrodenetleyiciler, Cortex-M4F (M4 + FPU ) çekirdeğini temel alır:

Aşağıdaki yongalar, ikincil çekirdek olarak bir Cortex-M4 veya M4F'ye sahiptir:

Korteks-M7

Korteks-M7
Mimari ve sınıflandırma
mikromimari ARMv7E-M
Komut seti Thumb-1 , Thumb-2 ,
Doymuş , DSP ,
Böl, FPU (SP & DP)

Cortex-M7, eski Cortex-M4'ün neredeyse iki katı güç verimliliğine sahip yüksek performanslı bir çekirdektir. Dallanma tahmini ile 6 aşamalı süperskalar boru hattına ve tek duyarlıklı ve isteğe bağlı olarak çift ​​duyarlıklı işlemler yapabilen isteğe bağlı bir kayan nokta birimine sahiptir . Talimat ve veri yolları, önceki 32-bit veri yollarına göre 64-bit genişliğe genişletildi. Bir çekirdek bir FPU içeriyorsa, Cortex-M7F olarak bilinir, aksi takdirde bir Cortex-M7'dir.

Cortex-M7 çekirdeğinin temel özellikleri şunlardır:

  • ARMv7E-M mimarisi.
  • 6 kademeli boru hattı ile şube spekülasyon . Tüm ARM Cortex-M çekirdeklerinin en uzunu.
  • Komut setleri:
    • Başparmak-1 (tamamı).
    • Başparmak-2 (tamamı).
    • 32 bit donanım tamsayı, 32 bit veya 64 bit sonuçla çarpılır, işaretli veya işaretsiz, çarpma işleminden sonra toplama veya çıkarma. 32-bit Çarpma ve MAC 1 döngüdür.
    • 32 bit donanım tamsayı bölme (2–12 döngü).
    • Doygunluk aritmetik desteği.
    • DSP uzantısı: Tek döngülü 16/32 bit MAC , tek döngülü çift 16 bit MAC, 8/16 bit SIMD aritmetiği.
  • 1 ila 240 kesme artı NMI .
  • 12 döngü kesinti gecikmesi.
  • Entegre uyku modları.

Silikon seçenekleri:

  • İsteğe bağlı kayan nokta birimi (FPU): (tek kesinlik) veya (tek ve çift kesinlik), her ikisi de IEEE-754-2008 uyumlu. FPv5 uzantısı olarak adlandırılır.
  • İsteğe bağlı CPU önbelleği : 0 ila 64 KB talimat önbelleği, 0 ila 64 KB veri önbelleği, her biri isteğe bağlı ECC'ye sahiptir .
  • İsteğe Bağlı Sıkı Bağlantılı Bellek (TCM): 0 ila 16 MB talimat-TCM, 0 ila 16 MB veri-TCM, her biri isteğe bağlı ECC'ye sahiptir.
  • Opsiyonel Bellek Koruma Birimi (MPU): 8 veya 16 bölge.
  • İsteğe Bağlı Gömülü İzleme Makro Hücresi (ETM): yalnızca talimat veya talimat ve veriler.
  • Uyku Modları için Opsiyonel Tutma Modu (Kol Gücü Yönetim Kiti ile).

cips

Aşağıdaki mikrodenetleyiciler Cortex-M7 çekirdeğini temel alır:

Korteks-M23

Korteks-M23
Mimari ve sınıflandırma
mikromimari ARMv8-M Temel Çizgisi
Komut seti Thumb-1 (çoğu) ,
Thumb-2 (bazıları) ,
Divide, TrustZone

Cortex-M23 çekirdeği Ekim 2016'da duyuruldu ve daha önce Kasım 2015'te duyurulan daha yeni ARMv8-M mimarisine dayanıyordu . Kavramsal olarak Cortex-M23, Cortex-M0+ plus tamsayı bölme talimatlarına ve TrustZone güvenlik özelliklerine benzer ve ayrıca 2 aşamalı bir talimat hattına sahiptir .

Cortex-M23 çekirdeğinin temel özellikleri şunlardır:

  • ARMv8-M Temel mimari.
  • 2 aşamalı boru hattı. (Cortex-M0+'a benzer)
  • TrustZone güvenlik talimatları. (yalnızca M23/M33/M35P'de mevcuttur)
  • 32 bit donanım tamsayı bölme (17 veya 34 döngü). (M0/M0+/M1'de mevcut değildir) (diğer tüm çekirdeklerde bölme işleminden daha yavaştır)
  • Yığın sınırı sınırları. (yalnızca SAU seçeneğiyle mevcuttur) (M23/M33/M35P'de mevcuttur)

Silikon seçenekleri:

  • Donanım tamsayı çarpma hızı: 1 veya 32 döngü.
  • Donanım tamsayı bölme hızı: maksimum 17 veya 34 döngü. Bölene bağlı olarak, talimat daha az döngüde tamamlanabilir.
  • Opsiyonel Bellek Koruma Birimi (MPU): 0, 4, 8, 12, 16 bölge.
  • Opsiyonel Güvenlik Atıf Birimi (SAU): 0, 4, 8 bölge.
  • Tek döngülü G/Ç bağlantı noktası (M0+/M23'te mevcuttur).
  • Mikro İz Tamponu (MTB) (M0+/M23/M33/M35P'de mevcuttur).

cips

Aşağıdaki mikrodenetleyiciler Cortex-M23 çekirdeğini temel alır:

Korteks-M33

Korteks-M33
Mimari ve sınıflandırma
mikromimari ARMv8-M Ana Hat
Komut seti Thumb-1 , Thumb-2 ,
Doymuş , DSP ,
Divide, FPU (SP),
TrustZone , Yardımcı işlemci

Cortex-M33 çekirdeği Ekim 2016'da duyuruldu ve daha önce Kasım 2015'te duyurulan daha yeni ARMv8-M mimarisine dayanıyordu . Kavramsal olarak Cortex-M33, Cortex-M4 ve Cortex- M23'ün bir geçişine benzer ve ayrıca bir 3 aşamalı talimat boru hattı .

Cortex-M33 çekirdeğinin temel özellikleri şunlardır:

  • ARMv8-M Ana hat mimarisi.
  • 3 kademeli boru hattı.
  • TrustZone güvenlik talimatları. (yalnızca M23/M33/M35P'de mevcuttur)
  • 32-bit donanım tamsayı bölme (maksimum 11 döngü). (M0/M0+/M1'de mevcut değildir)
  • Yığın sınırı sınırları. (yalnızca SAU seçeneğiyle mevcuttur) (M23/M33/M35P'de mevcuttur)

Silikon seçenekleri:

  • İsteğe Bağlı Kayan Nokta Birimi (FPU): yalnızca tek duyarlıklı IEEE-754 uyumlu. FPv5 uzantısı olarak adlandırılır.
  • Opsiyonel Bellek Koruma Birimi (MPU): 0, 4, 8, 12, 16 bölge.
  • Opsiyonel Güvenlik Atıf Birimi (SAU): 0, 4, 8 bölge.
  • Mikro İz Tamponu (MTB) (M0+/M23/M33/M35P'de mevcuttur).

cips

Aşağıdaki mikrodenetleyiciler Cortex-M33 çekirdeğini temel alır:

Korteks-M35P

Korteks-M35P
Mimari ve sınıflandırma
mikromimari ARMv8-M Ana Hat
Komut seti Thumb-1 , Thumb-2 ,
Doymuş , DSP ,
Divide, FPU (SP),
TrustZone , Yardımcı işlemci

Cortex-M35P çekirdeği, Mayıs 2018'de duyuruldu. Bu, kavramsal olarak yeni bir talimat önbelleğine, ayrıca ARM SecurCore ailesinden ödünç alınan yeni kurcalamaya karşı dayanıklı donanım konseptlerine ve yapılandırılabilir eşlik ve ECC özelliklerine sahip bir Cortex-M33 çekirdeğidir.

Teknik Referans Kılavuzu yayınlanana kadar Cortex-M35P için sınırlı genel bilgi mevcuttur .

cips

Aşağıdaki mikrodenetleyiciler Cortex-M35P çekirdeğini temel alır:

  • Temmuz 2021 itibariyle herhangi bir çip duyurusu yapılmadı.

Korteks-M55

Korteks-M55
Mimari ve sınıflandırma
mikromimari ARMv8.1-M Ana Hat Helyum
Komut seti Thumb-1 , Thumb-2 ,
Doymuş , DSP ,
Divide, FPU (VFPv5),
TrustZone , Yardımcı İşlemci , MVE

Cortex-M55 çekirdeği Şubat 2020'de duyuruldu ve daha önce Şubat 2019'da duyurulan Armv8.1-M mimarisini temel alıyor. Ayrıca 4 aşamalı bir talimat hattına sahip.

Cortex-M55 çekirdeğinin temel özellikleri şunları içerir:

  • ARMv8.1-M Ana Hat/Helyum mimarisi.
  • 4 aşamalı boru hattı.
  • Yığın sınırı sınırları (yalnızca SAU seçeneğiyle kullanılabilir).

Silikon seçenekleri:

  • Helyum (M-Profil Vektör Uzantısı, MVE)
  • Tek Hassasiyetli ve Çift Hassasiyetli kayan nokta
  • Dijital Sinyal İşleme (DSP) uzantısı desteği
  • TrustZone güvenlik uzantısı desteği
  • Güvenlik ve güvenilirlik (RAS) desteği
  • Yardımcı işlemci desteği
  • 0, 4, 8, 12 veya 16 bölgeli Güvenli ve Güvenli Olmayan MPU
  • 0, 4 veya 8 bölgeli SAU
  • 4KB, 8KB, 16KB, 32KB, 64KB boyutunda talimat önbelleği
  • 4KB, 8KB, 16KB, 32KB, 64KB boyutunda veri önbelleği
  • Önbelleklerde ve TCM'lerde ECC
  • 1-480 kesinti
  • 3-8 istisna öncelik biti
  • Dahili ve harici WIC seçenekleri, isteğe bağlı CTI, ITM ve DWT
  • ARM Özel Talimatları (gelecekteki bir sürümde mevcuttur)

cips

  • Eylül 2021 itibariyle herhangi bir cips açıklanmadı.

Geliştirme araçları

Segger J-Link PRO. ARM çipini hedeflemek için SWD veya JTAG arayüzü ve ana bilgisayara USB veya Ethernet arayüzleri ile hata ayıklama probu .

belgeler

ARM yongaları için belgeler kapsamlıdır. Geçmişte, 8-bit mikrodenetleyici belgeleri tipik olarak tek bir belgeye sığardı, ancak mikrodenetleyiciler geliştikçe onları desteklemek için gereken her şey de gelişti. ARM yongaları için bir belge paketi, tipik olarak, IC üreticisinin yanı sıra CPU çekirdek satıcısından ( Arm Holdings ) gelen bir belge koleksiyonundan oluşur .

Tipik bir yukarıdan aşağıya dokümantasyon ağacı:

Dokümantasyon ağacı (yukarıdan aşağıya)
  1. IC üreticisi web sitesi.
  2. IC üreticisi pazarlama slaytları.
  3. Tam fiziksel çip için IC üretici veri sayfası.
  4. Bir fiziksel çip ailesinin ortak çevre birimlerini ve özelliklerini açıklayan IC üreticisi referans kılavuzu.
  5. ARM çekirdek web sitesi.
  6. ARM core genel kullanım kılavuzu.
  7. ARM çekirdek teknik referans kılavuzu.
  8. ARM mimarisi referans kılavuzu.

IC üreticileri, değerlendirme panosu kullanıcı kılavuzları, uygulama notları, başlangıç ​​kılavuzları, yazılım kitaplığı belgeleri, hatalar ve daha fazlası gibi ek belgelere sahiptir. Resmi Arm belgelerine bağlantılar için Dış bağlantılar bölümüne bakın .

Ayrıca bakınız

Referanslar

daha fazla okuma

  • Assembly Dili ve C'de ARM Cortex-M Mikrodenetleyicileri ile Gömülü Sistemler ; 3. Baskı; Yifeng Zhu; 738 sayfa; 2017; ISBN  978-0982692660 .
  • Cortex-M İşlemci Ailesi için Tasarımcı Kılavuzu ; 2. Baskı; Trevor Martin; 490 sayfa; 2016; ISBN  978-0081006290 .
  • Gömülü Uygulamalar için ARM Montajı ; 3. Baskı; Daniel Lewis; 318 sayfa; 2017; ISBN  978-1543908046 .
  • ARM Cortex-M0 ve Cortex-M0+ İşlemciler için Kesin Kılavuz ; 2. Baskı; Joseph Yiu; 784 sayfa; 2015; ISBN  978-0128032770 .
  • ARM Cortex-M3 ve Cortex-M4 İşlemciler için Kesin Kılavuz ; 3. Baskı; Joseph Yiu; 600 sayfa; 2013; ISBN  978-0124080829 .
  • ARM Cortex-M4 ile Sayısal Sinyal İşleme ve Uygulamaları ; 1. Baskı; Donald Reay; 250 sayfa; 2014; ISBN  978-1118859049 .
  • Gömülü Sistemler: ARM Cortex-M Mikrodenetleyicilerine Giriş ; 5. Baskı; Jonathan Valvano; 506 sayfa; 2012; ISBN  978-1477508992 .
  • Assembly Dili Programlama: ARM Cortex-M3 ; 1. Baskı; Vincent Mahout; 256 sayfa; 2012; ISBN  978-1848213296 .

Dış bağlantılar

ARM Cortex-M resmi belgeleri
kol
çekirdeği
bit
genişliği
ARM
web sitesi
ARM genel
kullanım kılavuzu
ARM teknik
referans kılavuzu
ARM mimarisi
referans kılavuzu
Korteks-M0 32 Bağlantı Bağlantı Bağlantı ARMv6-M
Korteks-M0+ 32 Bağlantı Bağlantı Bağlantı ARMv6-M
Korteks-M1 32 Bağlantı Bağlantı Bağlantı ARMv6-M
Korteks-M3 32 Bağlantı Bağlantı Bağlantı ARMv7-M
Korteks-M4 32 Bağlantı Bağlantı Bağlantı ARMv7E-M
Korteks-M7 32 Bağlantı Bağlantı Bağlantı ARMv7E-M
Korteks-M23 32 Bağlantı Bağlantı Bağlantı ARMv8-M
Korteks-M33 32 Bağlantı Bağlantı Bağlantı ARMv8-M
Korteks-M35P 32 Bağlantı TBD TBD ARMv8-M
Korteks-M55 32 Bağlantı TBD TBD ARMv8.1-M
Hızlı referans kartları
  • Talimatlar: Thumb-1 ( 1 ), ARM ve Thumb-2 ( 2 ), Vector Floating-Point ( 3 ) – arm.com
  • Opkodlar: Thumb-1 ( 1 , 2 ), ARM ( 3 , 4 ), GNU Assembler Direktifleri ( 5 ).
Taşıma
Başka