Difference between revisions of "EEPROJ Selecting Low-End MCU for our projects"
| (3 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
TODO see other page why M4F. | TODO see other page why M4F. | ||
=== IC Selection === | === Hardware === | ||
==== IC Selection ==== | |||
Selection criteria: | Selection criteria: | ||
| Line 424: | Line 426: | ||
| | | | ||
|- | |- | ||
|Datasheet | |||
| | | | ||
| | | | ||
| Line 429: | Line 432: | ||
| | | | ||
| | | | ||
| | |[https://www.st.com/resource/en/datasheet/stm32f469bi.pdf stm32f469ae.pdf] | ||
| | | | ||
| | | | ||
| Line 450: | Line 452: | ||
| | | | ||
|} | |} | ||
==== Reference Designs ==== | |||
===== Evaluation Boards ===== | |||
STMicroelectronics STM32F469: | |||
32F469IDISCOVERY | |||
TODO | |||
Microchip Technology | |||
TODO | |||
NXP | |||
TODO | |||
===== Third-Party ===== | |||
TODO | |||
=== Software === | |||
==== Programming Language ==== | |||
Programming language for all of our projects shall be real C. | |||
We explicitly choose to NOT care about any interpreted or shell languages, because of their waste and low efficiency. | |||
If available, we can pass-thru any of vendor's or third party support for related languages, like Arduino and others, but won't use it in our own projects. | |||
==== Operating System ==== | |||
Although simple projects can be, and have historically been based on simplistic programming approaches like Super Loop / Infinite Loop / Foreground-Background systems, typically using ISRs (interrupts) to handle high-priority functions with prompt attention, given the complexity of our projects, we will be using a pseudo-RTOS. We say pseudo because with MCUs nothing is actually real-time, and nothing truly works in parallel. | |||
Among what is available, uC/OS-III has always caught our attention, but its cost used to be the only factor constraining us. Now that it has been released as open source, we will be defaulting to it in our projects. uC/OS-III has awesome documentation, awesome additional documentation like books, plenty of community support, very capable and full-featured RTOS, etc. | |||
FreeRTOS we always could not stomach. Incomplete documentation was just the start. Sorry, we are going to pass unless situation improves. | |||
==== IDEs ==== | |||
STMicroelectronics ARM Cortex MCUs IDE is STM32CubeProgrammer. It also runs on Linux natively. The combination of three factors: large IC pinout for the relevant series, Linux support, and Open Source Hardware principles has all of our attention! | |||
Microchip Technology TODO IDE. | |||
NXP TODO IDE. | |||
TODO | |||
=== TODO continue === | |||
Latest revision as of 20:23, 4 February 2022
Introduction
TODO see other page why M4F.
Hardware
IC Selection
Selection criteria:
Only paying attention to Microchip Technology, STMicroelectronics, and NXP per TODO.
For low-end projects, will prefer non-FN, non-BGA packages, to significantly decrease project design cost, improve manufacturability, testability, repairability, and ability of CCA assembly without professional, precision, and high-cost equipment.
The following MCUs fit "low-end" criteria for our projects:
| Microchip Technology | STMicroelectronics | NXP | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Family | Family | Family | Family | Family | Family | Family | Family | Family | Family | Family | ||||||||||||||
| Family Name | SAM E54 | SAM E53 | SAM E51 | SAM D51 | STM32F3 | STM32F4 | STM32G4 | STM32L4 | STM32L4R | STM32L4S | ||||||||||||||
| Family Type | Mixed-signal microcontrollers | High-performance | Mixed-signal microcontrollers | Ultra-low power | Ultra-low power | Ultra-low power | ||||||||||||||||||
| Sub-family type | Advanced | Foundation | Access | |||||||||||||||||||||
| Sub-family PN | STM32F469/479 | STM32F429/439 | STM32F427/437 | STM32F446 | STM32F407/417 | STM32F405/415 | STM32F401 | STM32F410 | STM32F411 | STM32F412 | STM32F413/F423 | |||||||||||||
| Sub-family explanation | 469: No Encryption | 479: Encryption | ||||||||||||||||||||||
| Largest non-BGA package | 128-TQFP | 128-TQFP | 128-TQFP | 128-TQFP | 208-LQFP | |||||||||||||||||||
| Largest BGA package | 120-TFBGA | 120-TFBGA | 120-TFBGA | 120-TFBGA | 216-TFBGA | |||||||||||||||||||
| Features | With Ethernet and CAN | With Ethernet, without CAN | Without Ethernet, but with CAN | Without Ethernet or CAN | ||||||||||||||||||||
| SPI | ||||||||||||||||||||||||
| USB | ||||||||||||||||||||||||
| Ethernet | ||||||||||||||||||||||||
| Advantages | Documentation, community support, user base, Arduino bootloader | Pinout, M7 family, open source hardware | ||||||||||||||||||||||
| Disadvantages | Limited pin count compared to STM, NXP | Less refined documentation compared to Microchip | ||||||||||||||||||||||
| Software | ||||||||||||||||||||||||
| Best non-BGA IC PN | ATSAME54P20A-AU
$9.36 128-TQFP |
STM32F469BIT6
$23.02 208-LQFP |
STM32F479BIT6
$23.90 208-LQFP |
|||||||||||||||||||||
| Best BGA IC PN | ATSAME54P20A-CTUT
$9.78 120-TFBGA |
STM32F469NIH6
$23.02 216-TFBGA |
STM32F479NIH6
$23.90 216-TFBGA |
|||||||||||||||||||||
| Datasheet | stm32f469ae.pdf | |||||||||||||||||||||||
Reference Designs
Evaluation Boards
STMicroelectronics STM32F469:
32F469IDISCOVERY
TODO
Microchip Technology
TODO
NXP
TODO
Third-Party
TODO
Software
Programming Language
Programming language for all of our projects shall be real C.
We explicitly choose to NOT care about any interpreted or shell languages, because of their waste and low efficiency.
If available, we can pass-thru any of vendor's or third party support for related languages, like Arduino and others, but won't use it in our own projects.
Operating System
Although simple projects can be, and have historically been based on simplistic programming approaches like Super Loop / Infinite Loop / Foreground-Background systems, typically using ISRs (interrupts) to handle high-priority functions with prompt attention, given the complexity of our projects, we will be using a pseudo-RTOS. We say pseudo because with MCUs nothing is actually real-time, and nothing truly works in parallel.
Among what is available, uC/OS-III has always caught our attention, but its cost used to be the only factor constraining us. Now that it has been released as open source, we will be defaulting to it in our projects. uC/OS-III has awesome documentation, awesome additional documentation like books, plenty of community support, very capable and full-featured RTOS, etc.
FreeRTOS we always could not stomach. Incomplete documentation was just the start. Sorry, we are going to pass unless situation improves.
IDEs
STMicroelectronics ARM Cortex MCUs IDE is STM32CubeProgrammer. It also runs on Linux natively. The combination of three factors: large IC pinout for the relevant series, Linux support, and Open Source Hardware principles has all of our attention!
Microchip Technology TODO IDE.
NXP TODO IDE.
TODO