Découverte spécifications nouvelle NumWorks N0120 EX
Posted: 24 Feb 2022, 09:45
Dans une actualité précédente, nous découvrions et t'annoncions la sortie prochaine d'une calculatrice NumWorks N0120 EX, nouvellement autorisée aux examens du Portugal dès la session 2022.
Rappelons les spécifications des modèles précédents :
Rappelons les spécifications des modèles précédents :
- rentrée 2017 - NumWorks N0100 : microcontrôleur STM32F412 (processeur Cortex-M4 ARMv7 à 100 MHz + 256 Kio de mémoire RAM + 1 Mio de mémoire Flash)
- rentrée 2019 - NumWorks N0110 : microcontrôleur STM32F730 (processeur Cortex-M7 ARMv7 à 216 MHz + 256 Kio de mémoire RAM + 64 Kio de mémoire Flash) + 8 Mio de mémoire Flash externe
Ces deux modèles nous permettaient en Python 32K de stockage et 32K de heap (mémoire de tas), ce dernier étant très hautement insuffisant à l'exécution de scripts, nous empêchant de réaliser de grandes choses.
Une interrogation cruciale concernait donc les spécifications de la NumWorks N0120 EX. Après 5 ans de douloureuse attente, allait-on enfin avoir de quoi élargir le heap Python ?
Une interrogation cruciale concernait donc les spécifications de la NumWorks N0120 EX. Après 5 ans de douloureuse attente, allait-on enfin avoir de quoi élargir le heap Python ?
Et bien tu n'attendras pas plus longtemps, la réponse c'est maintenant !
La communauté des firmwares tiers Omega/Upsilon n'a pas été sage, mais ce n'est pas pour nous déplaire. M4x1m3 nous annonce que RapidZapper a pu trouver des informations juteuses dans un fichier Javascript public (celui servant aux transferts), nous détaillant tout cela en clair !
Y sont donc listés 4 modèles, dont 2 que tu connais déjà bien. Les 2 supplémentaires sont donc :
De cela nous pouvons déjà faire 2 hypothèses :
Niveau spécifications, nous avons déjà une première bonne nouvelle à t'apprendre. Un simple calcul
Nous avons donc 64 Kio de RAM supplémentaire, et nous espérons qu'ils seront en grande partie alloués à l'augmentation du heap Python, voir accessoirement à celle de la mémoire de stockage même si ce problème est bien négligeable à côté du précédent.
Mais ce n'est pas tout. Les informations du script permettent de trouver des fichiers de données .json associés à 2 firmwares différents concernant chacune de ces NumWorks N0120 :
Et il est alors possible d'accéder aux fichiers .dfu contenant les firmwares en question, et nous apportant quelques informations complémentaires :
Nous aurions donc toujours 8 Mio de mémoire Flash externe, mais la Flash interne au microcontrôleur serait ici plus grosse que sur le modèle précédent, non plus 64 Kio mais 1 Mio, soit 16 fois plus !
Bref pour résumer, la NumWorks N0120 EX c'est donc :
La communauté des firmwares tiers Omega/Upsilon n'a pas été sage, mais ce n'est pas pour nous déplaire. M4x1m3 nous annonce que RapidZapper a pu trouver des informations juteuses dans un fichier Javascript public (celui servant aux transferts), nous détaillant tout cela en clair !
- Code: Select all
{N0100:{name:"N0100",ElectronicSignatureAddress:536836624,RAMAddressStart:536870912,RAMAddressEnd:537133056},
N0110:{name:"N0110",ElectronicSignatureAddress:535853584,RAMAddressStart:536870912,RAMAddressEnd:537133056},
N0120:{name:"N0120",ElectronicSignatureAddress:535947264,RAMAddressStart:603979776,RAMAddressEnd:604307456},
N0120Prototype:{displayed_name:"N0120",name:"N0120_PORTUGAL_PROTOTYPE_20210930",ElectronicSignatureAddress:535947264,RAMAddressStart:603979776,RAMAddressEnd:604307456}}
Y sont donc listés 4 modèles, dont 2 que tu connais déjà bien. Les 2 supplémentaires sont donc :
- une NumWorks N0120
- une NumWorks N0120 Portugal Prototype avec une date au 30 septembre 2021
De cela nous pouvons déjà faire 2 hypothèses :
- soit la prochaine génération N0120 sera déclinée en 2 modèles différents, une NumWorks N0120 EX pour le Portugal, et une NumWorks N0120 peut-être un peu moins verrouillée pour le reste du monde
- soit l'entrée supplémentaire comme son nom l'indique correspond simplement à un prototype non final envoyé au Portugal (la validation des modèles à autoriser aux examens nécessitant bien évidemment des tests plusieurs mois avant l'annonce qui vient de tomber), et il n'y aura bien qu'une seule NumWorks N0120 à la fin
Niveau spécifications, nous avons déjà une première bonne nouvelle à t'apprendre. Un simple calcul
RAMAddressEnd-RAMAddressStart
nous apprend en effet que nous n'avons plus 256 Kio de RAM, mais 320 Kio ! Nous avons donc 64 Kio de RAM supplémentaire, et nous espérons qu'ils seront en grande partie alloués à l'augmentation du heap Python, voir accessoirement à celle de la mémoire de stockage même si ce problème est bien négligeable à côté du précédent.
Mais ce n'est pas tout. Les informations du script permettent de trouver des fichiers de données .json associés à 2 firmwares différents concernant chacune de ces NumWorks N0120 :
- Code: Select all
{"id":76,"version":"16.3.5","patch_level":"5176779","device_model":{"id":6,"name":"N0120"},"size":3230445}
{"id":75,"version":"16.3.5","patch_level":"2181d13","device_model":{"id":5,"name":"N0120_PORTUGAL_PROTOTYPE_20210930"},"size":3230557}
Et il est alors possible d'accéder aux fichiers .dfu contenant les firmwares en question, et nous apportant quelques informations complémentaires :
- Code: Select all
Element 0 : Address: 0x8000000 Size: 0xffc38 <internal>
Element 1 : Address: 0x903f0000 Size: 0x10000 <external>
Element 2 : Address: 0x907f0000 Size: 0x10000 <external>
Element 3 : Address: 0x90000000 Size: 0xfa6e8 <external>
Element 4 : Address: 0x90400000 Size: 0xfa6e8 <external>
Nous aurions donc toujours 8 Mio de mémoire Flash externe, mais la Flash interne au microcontrôleur serait ici plus grosse que sur le modèle précédent, non plus 64 Kio mais 1 Mio, soit 16 fois plus !
Bref pour résumer, la NumWorks N0120 EX c'est donc :
- un microcontrôleur avec 320 Kio de mémoire RAM et 1 Mio de mémoire Flash
- 8 Mio de mémoire Flash externe
Reste encore un dernier mystère, à savoir le microcontrôleur en question et donc son processeur.
La question va rester en suspens car il y a deux approches qui pour le moment donne des résultats contradictoires.
Une recherche par spécifications (320 Kio de RAM + 1 Mio de Flash) par Lionel Debroux, nous amène à la série des STM32F7, et plus précisément aux STM32F745, STM32F746 ou STM32F756, modèles listés équipés de équipés de 320K de RAM et 1M de Flash sur certaines déclinaisons.
M4x1m3 a pour sa part procédé différemment, en décompilant les firmwares trouvés par RapidZapper. Les registres totalement incompatibles avec le STM32F730 de la NumWorks N0110 l'amènent à chercher ailleurs. Un microcontrôleur compatible serait selon lui le STM32H743, sauf que quelque chose cloche. Il n'a pas 320K de RAM mais 1M...
Nous continuons à creuser et t'en dirons davantage dès que possible.
La question va rester en suspens car il y a deux approches qui pour le moment donne des résultats contradictoires.
Une recherche par spécifications (320 Kio de RAM + 1 Mio de Flash) par Lionel Debroux, nous amène à la série des STM32F7, et plus précisément aux STM32F745, STM32F746 ou STM32F756, modèles listés équipés de équipés de 320K de RAM et 1M de Flash sur certaines déclinaisons.
M4x1m3 a pour sa part procédé différemment, en décompilant les firmwares trouvés par RapidZapper. Les registres totalement incompatibles avec le STM32F730 de la NumWorks N0110 l'amènent à chercher ailleurs. Un microcontrôleur compatible serait selon lui le STM32H743, sauf que quelque chose cloche. Il n'a pas 320K de RAM mais 1M...
Nous continuons à creuser et t'en dirons davantage dès que possible.
Source : viewtopic.php?f=97&t=25503&start=20#p266790