Mais maintenant votre calculatrice ne démarre plus ou vous souhaitez retourner sur une base "stable", nous allons voir ici 2 méthodes pour remettre en route votre Numworks !
1) La méthode "officielle" | N0100 & N0110 sur Firmware Epsilon < 16
Cette méthode est très probablement la plus simple pour restaurer votre Numworks, en plus elle ne nécessite qu'un ordinateur avec un navigateur WebUSB tel que Chrome ou le nouveau Edge.
Pré-requis :
x1 Calculatrice Numworks N0100 ou N0110 sur Firmware Epsilon < 16
x1 Câble microUSB permettant la connexion à votre ordinateur ou appareil correspondant
x1 Ordinateur sans condition d'OS
Ressources :
Pour pouvoir installer le firmware, il faut installer un firmware léger de recovery qui va permettre l'installation d'un firmware standard.
Pour cela vous avez 2 possibilités :
Par le site Numworks (Nécessite un compte) : https://my.numworks.com/devices/
Par le site d'Omega (Sans compte !) : https://getomega.dev/install/latest
Pour ce tutoriel, nous allons utiliser le site du firmware OMEGA pour la simplicité du site et les fonctions de l'OS bien plus intéressantes !
Par la suite vous pourrez retourner sur Epsilon à votre convenance.
1) Placez la calculatrice en mode "Bootloader" en effectuant la combinaison "6+reset (bouton au dos)"
2) Connectez la calculatrice au PC et rendez-vous sur le site d'installation d'Omega (ci-dessus)
3) Sélectionnez "RECOVERY" afin d'installer le firmware de récupération.
4) Sur la fenêtre qui apparait, sélectionnez "STM32 BOOTLOADER", le firmware s'installera alors.
Attention: Si la calculatrice indique "numworks.com/rescue" à l'écran ou est reconnu comme N???, Epsilon 16 à été installé, si vous êtes sur N0100 vous pouvez procéder à l'installation d'Omega sinon sur N0110, vous pouvez soit installer le firmware officiel sur le site de Numworks (ci-dessus) soit procéder à la méthode 2 pour installer Omega.
5) Sur le site, un bouton "Installer OMEGA" s'affichera, cliquez et l'installation s'effectuera.
Votre calculatrice est de nouveau fonctionnelle !
Sinon procédez à la méthode 2, utile uniquement pour les N0110 avec une version 16 ou ultérieur.
2) Bouée de sauvetage pour les bidouilleurs du quartier ou les endormis | N0110 ≥ E16
Suite à la mise à jour Epsilon V16, les modification du système et donc le développement sur la plateforme ont été rendu presque impossible mais aujourd'hui on va voir comment remettre votre chère Numwork en état d'obéir à votre code ! Car bon c'est pour ça que vous l'avez probablement acheté ?
Pré-requis :
x1 Calculatrice Numworks N0110 sur Firmware Epsilon ≥ 16
x1 Câble microUSB permettant la connexion à votre ordinateur ou appareil correspondant
x1 Ordinateur sans condition d'OS
x1 Raspberry Pi 2/3/4 sous Raspberry OS de préférence
1) Pour commencer on va installer OpenOCD 0.11.0 c'est parti pour quelques commandes

On installe d'abord XPM
- Code: Select all
sudo npm install -y -global xpm@latest
Puis on installe OpenOCD depuis XPM !
- Code: Select all
xpm install --global @xpack-dev-tools/openocd@latest
L'installation devrait se trouver ici sur une installation standard :
/home/pi/.local/xPacks/@xpack-dev-tools/openocd/0.11.0-1.1/.content/bin/openocd
Essayez de lancer openOCD, si vous voyez un écran indiquant OpenOCD 0.11.0 vous êtes bon ! Sinon réessayez de localiser OpenOCD et de le relancer.
2) Création de fichier dédiés à la calculatrice :
Ici, nous allons créer 2 fichiers, le premier contiendra la configuration pour se connecter à la calculatrice et le second les commandes pour la déverrouiller.
Dans le répertoire de votre choix créer :
n0110.cfg
- Code: Select all
source [find interface/sysfsgpio-raspberrypi.cfg]
transport select swd
source [find target/stm32f7x.cfg]
reset_config none separate
forcedfu.run
- Code: Select all
mww 0x40023C08 0x08192A3B
mww 0x40023C08 0x4C5D6E7F
mww 0x40023C18 0x00400080
mww 0x40023C14 0xC0FFAAFE
Je reviendrais sur une explication de ces commandes à la fin.
3) Les branchements
Voici un petit schéma pour les branchements qui devrait être compatible Pi 2/3/4, aucune soudure n'est nécessaire avec de l'agilité

Ici, je pose le GND sur le shield du port microUSB afin de maintenir les 2 câbles à la main sur les pads, les câbles utilisés sont des simples câbles jumper utilisés sur Arduino ou RPI.

Vous pouvez aussi souder des fils mais le risque est à vous, et votre garantie ne pourra pas être usé en cas de dommage.
4) Abracadabra, les commandes !
Maintenant que tout est branché, retournez dans le terminal dans le répertoire avec nos 2 fichiers, et exécutez :
- Code: Select all
openocd -f "n0110.cfg" -c "init" -f "forcedfu.run"
Maintenant débranchez votre calculatrice et rebranchez là en USB sur votre ordinateur en maintenant la touche 6, vous devriez maintenant pouvoir réinstaller Omega et reprendre vos expériences sur la calculatrice ! Pour l'installation d'Omega, suivez la méthode 1.
Explications:
Etant donné le caractère open-source de la calculatrice, bon nombre d'infos sont disponible directement sur le site de Numworks https://www.numworks.com/resources/engi ... chematics/
On retrouve ainsi la documentation du MCU STM32 qui contient les instructions de remise à 0 de la mémoire Flash permettant un retour à "blanc" de celui-ci dans ce PDF https://www.numworks.com/resources/engi ... 6e1356.pdf
Voici un détail des commandes de "forcedfu.run" :
Ainsi les 2 premières commandes sont issues de 3.7.2 et permettent de déverrouiller l'écriture et l'effacement de la mémoire
La 3ème est dû au changement de l'adresse du bootloader pour le bootloader custom de Numworks par la mise à jour E16, ainsi on rechange l'adresse de BOOT1 pour celle du bootloader STM32 (3.7.7)
Enfin la 4ème permet le passage en RDP0 "sans protection" en effaçant tout le contenu de la calculatrice et en permettant la réécriture de la calculatrice.
Toute la magie de cette calculatrice est de nouveau de retour
