Page 1 of 3

Identification processeur Zero: STM32F412/413 Arm Cortex-M4

Unread postPosted: 04 Apr 2022, 12:42
by critor
Dans une actualité précédente nous t'annoncions pour la rentrée 2022 la sortie d'une toute nouvelle calculatrice graphique, la Zero. Le projet se veut offrir une version améliorée et plus abordable de la TI-84 Plus CE, équivalent à l'international de notre TI-83 Premium CE française, tout en étant compatible avec ces dernières niveau utilisation.

Par rapport à ce dernier point, on peut justement noter les claviers aux inscriptions absolument identiques :


Les nombreuses améliorations concernent le logiciel et le matériel.

Niveau logiciel par exemple, on peut noter une fenêtre graphique tirant grandement profit de la définition en 320×240 pixels de l'écran, alors que Texas Instruments la limite pour sa part à une zone centrale de 265×165 pixels alors entourée d'une épaisse bordure inesthétique et totalement inutile sur ses parties latérales.

Niveau matériel nous en savons déjà un peu plus. La Zero utilise :
  • à la place du processeur 8 bits eZ80 à 48 MHz des TI-84 Plus CE, un 32 bits à pas moins de 100 MHz ! :bj:
  • à la place de l'antique port mini-USB AB des TI-84 Plus CE, une connectivité USB enfin contemporaine et facile avec un port USB-C, première calculatrice graphique au monde à nous proposer cette évolution tant attendue ! :bj:
  • par rapport aux 4 Mio de Flash des TI-84 Plus CE 20% de stockage supplémentaire, ce qui nous amène donc à 5 Mio (que l'on peut supposer répartis sur 2 puces de capacités respectives 4 Mio et 1 Mio, règle binaire des puissances de 2 oblige)

Imagine ce que donneront tes programmes TI-Basic pour TI-83 Premium CE et TI-84 Plus CE avec une telle puissance...

Restait toutefois une question essentielle par rapport à la possibilité de faire tourner des programmes écrits en langage assembleur.

Quel pouvait bien être le processeur utilisé ?

Et bien RapidZapper de la communauté NumWorks Omega a étudié le fichier de mise à jour en version 1.0.106 présent sur le site officiel.

Sans avoir donc la calculatrice entre les mains, il réussit l'exploit d'identifier son processeur. Cela l'amène en effet à conclure à l'utilisation d'une puce microcontrôleur STM32 comme sur les calculatrices NumWorks, et plus précisément à un membre de la famille STM32F4, tous basés sur un processeur Arm Cortex-M4.

Cela fait beaucoup de choix, il en existe pas moins de 11 :
STM32F401, STM32F405, STM32F407, STM32F410, STM32F411, STM32F412, STM32F413, STM32F427, STM32F429 ou STM32F469

Mais nous savons que le processeur doit tourner à 100 MHz, ce qui nous permet de réduire le choix à seulement 4 puces :
STM32F410, STM32F411, STM32F412 ou STM32F413

On peut affiner encore un petit peu. Nous avons vu plus haut que la mémoire de stockage Flash était scindée en deux espaces de 4 Mio et 1 Mio répartis sur 2 puces. Sans doute que les 1 Mio sont sur une Flash interne au microcontrôleur. Cela nous permet de réduire le choix à seulement 2 puces :
STM32F412 ou STM32F413

À bientôt pour la réponse...

Source : viewtopic.php?f=121&t=25579#p267378

Crédits photos : TIFreak8x

Re: Identification processeur Zero: STM32F412/413 Arm Cortex

Unread postPosted: 04 Apr 2022, 14:38
by coco33920
C'est drôle, c'est des specs comparable à la N0100 sur le CPU, le MCU de la N0100 était un STM32F412 si je me souviens bien en plus

Re: Identification processeur Zero: STM32F412/413 Arm Cortex

Unread postPosted: 04 Apr 2022, 14:57
by critor
Justement j'y pensais ; puisque les spécifications sont comparables et que la Zero se met également à jour via des fichiers .dfu, quand est-ce que vous nous sortez Omega pour Zero ? ;) :favorite:

Re: Identification processeur Zero: STM32F412/413 Arm Cortex

Unread postPosted: 04 Apr 2022, 15:29
by critor
Pour vous dire si c'est un STM32F412 ou un STM32F413, il me faudrait une information sur la RAM intégrée.
C'est 256K pour le STM32F412, et 320K pour le STM32F413.

Re: Identification processeur Zero: STM32F412/413 Arm Cortex

Unread postPosted: 04 Apr 2022, 16:03
by coco33920
Je suis pas hyper forte en HW mais si c'est exactement le même CPU le soucis va plus être de flasher dessus que de porter epsilon. Le keyboard aura besoin d'être réécris tho, Ion aussi sûrement en partie. Mais ça devrait compiler

Re: Identification processeur Zero: STM32F412/413 Arm Cortex

Unread postPosted: 04 Apr 2022, 16:08
by parisse
critor wrote:Justement j'y pensais ; puisque les spécifications sont comparables et que la Zero se met également à jour via des fichiers .dfu, quand est-ce que vous nous sortez Omega pour Zero ? ;) :favorite:

En tassant un peu (en enlevant une partie de la doc online par exemple), KhiCAS pourrait rentrer. Mais pourra-t-on installer son propre firmware sur la Zero ?

Re: Identification processeur Zero: STM32F412/413 Arm Cortex

Unread postPosted: 04 Apr 2022, 16:31
by DoOmnimaga
J'espère toujours que l'OS de cette calculatrice ne raffraichira pas l'écran de calcul à chaque appui sur les flèches ou touches de calcul de base, car c'est un des gros défaut de la CE qui la rend lente et la HP Prime a le même problème mais au lieu de la lenteur c'est le contenu de l'écran qui clignote.

Re: Identification processeur Zero: STM32F412/413 Arm Cortex

Unread postPosted: 05 Apr 2022, 12:23
by critor
Dans la section processeur des tableaux comparatifs, il y a maintenant un champ pour la référence du microcontrôleur / ASIC.
Pour l'instant je ne l'ai complété que pour certaines modèles couleur récents de milieu ou haut de gamme.

Cela permet d'y voir plus clair :
https://tiplanet.org/forum/compare.php?mode=QCC2021&nw100,nw110,primeg1,primeg2,nscxcas,nscxcascr4,nscx2cas

Donc la NumWorks N0100 de 2017, c'était le STM32F412.
La Zero de 2022 aurait soit le même STM32F412, soit le STM32F413 très voisin. La Zero serait donc une NumWorks N0100 sensiblement améliorée :
  • Flash externe de 4 Mio qui s'ajoute à la Flash de 1 Mio interne au microcontrôleur (donc 5 Mio pour la Zero au lieu de 1 Mio pour la NumWorks N0100)
  • si il s'agit du STM32F413, RAM de 320 Kio pour la Zero, au lieu des 256 Kio de la NumWorks N0100

Re: Identification processeur Zero: STM32F412/413 Arm Cortex

Unread postPosted: 05 Apr 2022, 14:11
by TIny_Hacker
A little while ago, RoccoLox Programs and I sent some emails to the company and RoccoLox got a response with hardware specifications. Here's what they told him:

CPU - STM32F413VGT6
RAM - 832 kB
Battery - 2200 mA hour Lipo

Also, according to an email they sent me, they "want to build a calculator enthusiasts will love" and will hopefully be allowing more native development without the need for a jailbreak! 👍️

Re: Identification processeur Zero: STM32F412/413 Arm Cortex

Unread postPosted: 05 Apr 2022, 18:46
by critor
Thank you very much.
So STM32F413, great, it's the best case. :D
It means 320K internal RAM.

And 832K = 320K + 512K
Which means additional external 512K RAM chips, a very precious information, thank you very very much ! :favorite:
So much better than the NumWorks N0100 ! :bj: