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
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 ?
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
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