Operácie

Procesory ARM: Rozdiel medzi revíziami

Z SensorWiki

 
(15 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 4: Riadok 4:
 
* https://embedded.fel.cvut.cz/
 
* https://embedded.fel.cvut.cz/
  
 +
 +
== Comparison of Cortex-M Architectures ==
 +
 +
{| class="wikitable" style="text-align:center;"
 +
|- style="font-weight:bold;"
 +
! style="font-weight:normal; text-align:left;" |
 +
! style="background-color:#ffffc7; color:#329a9d;" | M0
 +
! style="background-color:#ffffc7; color:#329a9d;" | M0+
 +
! style="background-color:#ffffc7; color:#329a9d;" | M1
 +
! style="background-color:#ffffc7; color:#329a9d;" | M3
 +
! style="background-color:#ffffc7; color:#329a9d;" | M4
 +
! style="background-color:#ffffc7; color:#329a9d;" | M7
 +
|-
 +
| style="font-weight:bold; text-align:left;" | ARM Architecture
 +
| ARMv6-M
 +
| ARMv6-M
 +
| ARMv6-M
 +
| ARMv7-M
 +
| ARMv7E-M
 +
| ARMv7E-M
 +
|-
 +
| style="font-weight:bold;" | Pipeline
 +
| 3-Stage
 +
| 2-Stage
 +
| 3-Stage
 +
| 3-Stage <br />+ branch speculation
 +
| 3-Stage <br />+ branch speculation
 +
| 6-Stage <br />+ branch speculation
 +
|-
 +
| style="font-weight:bold;" | Architecture
 +
| von Neumann
 +
| von Neumann
 +
| von Neumann
 +
| Harvard
 +
| Harvard
 +
| Harvard
 +
|-
 +
| style="font-weight:bold;" | Functions:
 +
| Optimised for <br />physical silicon <br />die size + cost
 +
| Superset of M0
 +
| Optimized core<br />designed to be loaded <br />into  FPGA chips.
 +
| All Thumb <br />instructions
 +
| Essentially M3 + DSP
 +
| High performance, <br />~2x efficiency of M4
 +
|-
 +
| style="text-align:left;" |
 +
| Supports Thumb-1 <br />and some of Thumb-2
 +
| Optional MTB <br />(micro trace buffer)
 +
|
 +
| H/W divide
 +
| DSP: MAC + SIMD
 +
| Superscaler
 +
|-
 +
| style="text-align:left;" |
 +
|
 +
| Optional MPU <br />(memory protection unit)
 +
|
 +
| Saturation arithmetic
 +
| Optional FPU
 +
| 64-Bit Instruction <br />+ Data buses
 +
|- style="text-align:left;"
 +
|
 +
|
 +
|
 +
|
 +
| style="text-align:center;" | Optional MPU <br />(memory protection unit)
 +
| style="text-align:center;" | Optional MPU <br />(memory protection unit)
 +
|
 +
|}
 +
 +
 +
*Most information here taken from https://en.wikipedia.org/wiki/ARM_Cortex-M*
  
 
Vysvetlivky:
 
Vysvetlivky:
 
* (m) - Matlab / Simulink Support Package Available  
 
* (m) - Matlab / Simulink Support Package Available  
 
* (M) - Matlab / Simulink Support Package Available and Tested
 
* (M) - Matlab / Simulink Support Package Available and Tested
* (O) - mbedOS available (o2 - version 2), (o5, o6) verzia  
+
* (-S) zatial neexistuje podpora pre Simulink
* (A,a) - Arduino programming possible, tested/not tested
+
* (mbed) - mbedOS available (v2 - version 2), (v5, v6) verzia  
 +
* (+A,a) - Arduino programming possible, tested/not tested
  
 
== mbedOS ==
 
== mbedOS ==
Riadok 17: Riadok 90:
 
== Procesory Nordic Semiconductor ==
 
== Procesory Nordic Semiconductor ==
  
* micro:bit  (M),(O2),(A)
+
* micro:bit  (M),(mbed2),(A)
 +
** nRF51822 - Cortex M0 (microbot v1.3 a 1.5)
 +
** nRF52833 - Cortex M4 (microbit v2)
 
** Attila Hriňa: Procesory ARM. Bc. práca FEI STU 2023
 
** Attila Hriňa: Procesory ARM. Bc. práca FEI STU 2023
 
** Pozri aj [[Mbed OS]] s vzorovymi programami
 
** Pozri aj [[Mbed OS]] s vzorovymi programami
 +
** Simulink: https://www.mathworks.com/help/supportpkg/microbit/ alebo aj https://www.mathworks.com/academia/courseware/microbit.html
 +
** Simulink: https://www.mathworks.com/matlabcentral/fileexchange/61738-simulink-lessons-and-examples-for-bbc-micro-bit?status=SUCCESS
 +
* Arduino Nano 33 BLE Sense
 +
** nRF52840 - Cortex M4
 +
  
 
== Procesory NXP ==
 
== Procesory NXP ==
  
 
Rozličné FRDM dosky, doplň prehľad
 
Rozličné FRDM dosky, doplň prehľad
* FRDM KL-25Z (M),(O)
+
* FRDM KL-25Z (M),(mbed) - Cortex M0+
  
  
 
== Procesory STM32 ==
 
== Procesory STM32 ==
  
* Pill  
+
Marking:
 +
 
 +
STM Manufacturer (STMicroelectronics) —-
 +
32    32-bit MCU                         —-
 +
  F    Type of MCU                         F: Mainstream, L: Low power, H: High Performance, W: Wireless, C: Cost effective
 +
  1 ARM Core Type                         0: M0, 1: M3, 2: M3, 3: M4, 4: M4, 7: M7
 +
03    Line of MCU                         Details about speed, peripherals, Silicon Process, etc.
 +
  C    No. of Pins                         F: 20, G: 28, K: 32, T: 36, S: 44, C: 48, R: 64,66, V: 100, Z: 144, I: 176
 +
  8    Flash Size                         4: 16, 6: 32, 8: 64, B: 128, C: 256, D: 384, E: 512, F: 768, G: 1024, H: 1536, I: 2048 KB
 +
  T    Package                         P: TSOOP, H: BGA, U: VFQFPN, T: LQFP, Y: WLCSP
 +
  6    Temperature Range                 6: -40°C to 85°C, 7: -40°C to 105°C
 +
 
 +
Programovanie:
 +
 
 +
* 0 Bare Bone
 +
* 1 CMSIS
 +
* 1 STM LL
 +
* 2 HAL (CubeMX)
 +
** https://www.waveshare.com/wiki/STM32CubeMX_Tutorial_Series
 +
* 2 libopencm - https://github.com/libopencm3/libopencm3-miniblink/blob/master/template_stm32.c
 +
* 3 API napr.  mbedOS
 +
* 3 Arduino https://github.com/stm32duino
 +
* 4 Simulink https://github.com/ATM-HSW/mbed_target
 +
 
 +
Courses:
 +
* https://www.youtube.com/@steppeschool3629
 +
 
 +
* '''Pill'''
 
** Blue Pill STM32F103C8T6 (a) (Cortex M3 @72 MHz, vrátane klonu [https://techfun.sk/produkt/vyvojova-doska-arm-stm32f103c8t6/ CKS32F103C8T6 z Techfun.SK])
 
** Blue Pill STM32F103C8T6 (a) (Cortex M3 @72 MHz, vrátane klonu [https://techfun.sk/produkt/vyvojova-doska-arm-stm32f103c8t6/ CKS32F103C8T6 z Techfun.SK])
 +
*** CMSIS priklady tu: https://github.com/sandynomike?tab=repositories
 +
*** mbedOS https://os.mbed.com/users/hudakz/code/mbed-os-bluepill/
 +
 
** Black Pill STM32F411CEU6 (a) (Cortex M4 @100 MHz, aj z [https://techfun.sk/produkt/stm32f411ceu6-vyvojova-doska-32-bit-100mhz/ Techfun.SK]
 
** Black Pill STM32F411CEU6 (a) (Cortex M4 @100 MHz, aj z [https://techfun.sk/produkt/stm32f411ceu6-vyvojova-doska-32-bit-100mhz/ Techfun.SK]
* Nucleo boards
+
*** Priklady od bare bone po HAL: https://www.codeinsideout.com/blog/stm32/blink/
** STM32C031C6T6 (o?) - najmenší 32-bitový procesor, cenovo ako náhrada za 8-bitové (2023)
+
*** CMSIS tu https://mcturra2000.wordpress.com/2021/11/18/using-cmsis-and-systick-to-blink-an-led-on-an-stm32f4/
 +
*** BareBone tu https://github.com/lowbyteproductions/bare-metal-series/  (GCC and libopencm3)
 +
 
 +
* '''Nucleo boards'''
 +
** '''STM32C031C6T6''' (mbed?)(-S)(+A) - najmenší 32-bitový procesor, cenovo ako náhrada za 8-bitové (2023)
 
*** Web:
 
*** Web:
 
*** YouTube MOOC course: https://www.youtube.com/playlist?list=PLnMKNibPkDnG_5q6DLNTMSBo5V24VXUDn
 
*** YouTube MOOC course: https://www.youtube.com/playlist?list=PLnMKNibPkDnG_5q6DLNTMSBo5V24VXUDn
 
*** Potom rozširujúce príklady tu https://github.com/STMicroelectronics/STM32CubeC0
 
*** Potom rozširujúce príklady tu https://github.com/STMicroelectronics/STM32CubeC0
 +
** '''STM32L073RZT6''' Cortex M0+ @32 MHz  (-S)(+A)
 +
*** mbed: https://os.mbed.com/platforms/ST-Nucleo-L073RZ/
 +
***  Vojtěch Skřivánek: [https://www.martinus.sk/?uItem=1489477 Programujeme STM32: zdolejte jednočipy profesionálů], TZ-one, 2022.
 +
***  Vojtěch Skřivánek: [https://www.martinus.sk/?uItem=1489475 Programujeme STM32: bez knihoven], TZ-one, 2022.
 +
***  Vojtěch Skřivánek: [https://www.martinus.sk/?uItem=1894035 Používáme FreeRTOS na mikrokontroleru STM32], TZ-one, 2023.
 +
 +
 +
 +
[[Category:ARM]]

Aktuálna revízia z 10:30, 7. august 2023

Všeobecné informácie


Comparison of Cortex-M Architectures

M0 M0+ M1 M3 M4 M7
ARM Architecture ARMv6-M ARMv6-M ARMv6-M ARMv7-M ARMv7E-M ARMv7E-M
Pipeline 3-Stage 2-Stage 3-Stage 3-Stage
+ branch speculation
3-Stage
+ branch speculation
6-Stage
+ branch speculation
Architecture von Neumann von Neumann von Neumann Harvard Harvard Harvard
Functions: Optimised for
physical silicon
die size + cost
Superset of M0 Optimized core
designed to be loaded
into FPGA chips.
All Thumb
instructions
Essentially M3 + DSP High performance,
~2x efficiency of M4
Supports Thumb-1
and some of Thumb-2
Optional MTB
(micro trace buffer)
H/W divide DSP: MAC + SIMD Superscaler
Optional MPU
(memory protection unit)
Saturation arithmetic Optional FPU 64-Bit Instruction
+ Data buses
Optional MPU
(memory protection unit)
Optional MPU
(memory protection unit)


Vysvetlivky:

  • (m) - Matlab / Simulink Support Package Available
  • (M) - Matlab / Simulink Support Package Available and Tested
  • (-S) zatial neexistuje podpora pre Simulink
  • (mbed) - mbedOS available (v2 - version 2), (v5, v6) verzia
  • (+A,a) - Arduino programming possible, tested/not tested

mbedOS

Procesory Nordic Semiconductor


Procesory NXP

Rozličné FRDM dosky, doplň prehľad

  • FRDM KL-25Z (M),(mbed) - Cortex M0+


Procesory STM32

Marking:

STM	Manufacturer (STMicroelectronics) 	—-
32     32-bit MCU 	                        —- 
 F     Type of MCU 	                        F: Mainstream, L: Low power, H: High Performance, W: Wireless, C: Cost effective
 1	ARM Core Type 	                        0: M0, 1: M3, 2: M3, 3: M4, 4: M4, 7: M7
03     Line of MCU 	                        Details about speed, peripherals, Silicon Process, etc.
 C     No. of Pins 	                        F: 20, G: 28, K: 32, T: 36, S: 44, C: 48, R: 64,66, V: 100, Z: 144, I: 176
 8     Flash Size 	                        4: 16, 6: 32, 8: 64, B: 128, C: 256, D: 384, E: 512, F: 768, G: 1024, H: 1536, I: 2048 KB
 T     Package 	                        P: TSOOP, H: BGA, U: VFQFPN, T: LQFP, Y: WLCSP
 6     Temperature Range 	                6: -40°C to 85°C, 7: -40°C to 105°C

Programovanie:

Courses: