Operácie

Procesory ARM: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
Bez shrnutí editace
Balogh (diskusia | príspevky)
Bez shrnutí editace
 
(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: