Restaurer le logiciel de sa Numworks
Posted: 07 Sep 2021, 11:44
!! NE FONCTIONNE PAS SUR N0120/EX et N0115, NE PAS TENTER SOUS PEINE DE BRICK PERMANENT !!
Vous possédez une Calculatrice Numworks ? Vous êtes un peu bidouilleur et vous avez tenté de faire de votre Numworks votre plateforme de développement pour les Vacances ? Super !
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) (Raspberry Pico) Bouée de sauvetage pour les bidouilleurs du quartier ou les endormis | N0110 ≥ E16
Nouveauté 2022, en plein contexte de pénurie où les prix et les stock du Raspberry Pi se retrouvent fortement impactés, ils est maintenant possible d'utiliser le Raspberry Pico, le petit bonhomme de la gamme afin de retrouver le plein pouvoir sur votre Numworks !
Sans plus tarder passons aux 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 (le pack fourni est destiné à Windows mais devrait pouvoir être utilisé sur linux avec ajustements)
x1 Raspberry Pi Pico (de préférence modèle H ou WH ou standard avec soudures des câbles)
Afin d'éviter tout problème il est très fortement recommandé d'avoir un header pour connecter des jumper femelle-mâle au Pico ou de souder des jumper Mâle-Mâle à celui-ci, le contact doit être parfait afin d'éviter tout problème dans la procédure.
Cette méthode se destine à Windows, cependant il devrait être possible d'adapter la commande openocd à linux (non testé).
Aperçu vidéo : https://www.youtube.com/watch?v=ByPRX63qQMY
1) Téléchargez le pack zip et l'extraire à un endroit approprié https://tiplanet.org/modules/archives/download.php?id=3900283
2) En connectant votre Pico avec le bouton appuyé, vous devriez obtenir l'accès au pico depuis l'explorateur de fichier,
Déposez "picoprobe.uf2" dans le Pico, il va redémarrer et sera ainsi prêt
3) Connectez les câbles selon le schéma si ce n'est pas déjà fait.
4) Pour un fonctionnement optimal de la procédure, rendez-vous dans le menu recovery via reset+6, une fois l'écran de récupération affiché, procédez à la suite.
5) Connectez le pico au PC et rendez-vous dans le dossier extrait précédemment, lancez "unlock.bat"
6) Procédez au redémarrage de la calculatrice avec "reset.bat" puis vérifiez le bon déroulement de la procédure avec "readInfo.bat"
Si cela s'est bien passé vous devriez avoir cet écran :
Si boot_add1 = 0x0080 alors l'opération n'a pas fonctionné, recommencez à l'étape 5)
Maintenant débranchez le pico de 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)
2 (BIS)) (Tout Pi sous Linux 2/3/4/0) 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/0 sous Raspberry OS de préférence
1) Pour commencer on va installer OpenOCD 0.12.0 c'est parti pour quelques commandes
On installe d'abord XPM
Puis on installe OpenOCD depuis XPM !
L'installation devrait se trouver ici sur une installation standard :
/home/pi/.local/xPacks/@xpack-dev-tools/openocd/0.12.0-1.1/.content/bin/openocd
Essayez de lancer openOCD, si vous voyez un écran indiquant OpenOCD 0.12.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
forcedfu.run
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é
Pour tout autre Pi, vous devrez sûrement adapter des fichier/branchements, je n'ai pas testé et aucune assistance ne sera fourni pour tout pi hors 2/3/4.
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 :
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
Vous possédez une Calculatrice Numworks ? Vous êtes un peu bidouilleur et vous avez tenté de faire de votre Numworks votre plateforme de développement pour les Vacances ? Super !
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) (Raspberry Pico) Bouée de sauvetage pour les bidouilleurs du quartier ou les endormis | N0110 ≥ E16
Nouveauté 2022, en plein contexte de pénurie où les prix et les stock du Raspberry Pi se retrouvent fortement impactés, ils est maintenant possible d'utiliser le Raspberry Pico, le petit bonhomme de la gamme afin de retrouver le plein pouvoir sur votre Numworks !
Sans plus tarder passons aux 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 (le pack fourni est destiné à Windows mais devrait pouvoir être utilisé sur linux avec ajustements)
x1 Raspberry Pi Pico (de préférence modèle H ou WH ou standard avec soudures des câbles)
Afin d'éviter tout problème il est très fortement recommandé d'avoir un header pour connecter des jumper femelle-mâle au Pico ou de souder des jumper Mâle-Mâle à celui-ci, le contact doit être parfait afin d'éviter tout problème dans la procédure.
Cette méthode se destine à Windows, cependant il devrait être possible d'adapter la commande openocd à linux (non testé).
Aperçu vidéo : https://www.youtube.com/watch?v=ByPRX63qQMY
1) Téléchargez le pack zip et l'extraire à un endroit approprié https://tiplanet.org/modules/archives/download.php?id=3900283
2) En connectant votre Pico avec le bouton appuyé, vous devriez obtenir l'accès au pico depuis l'explorateur de fichier,
Déposez "picoprobe.uf2" dans le Pico, il va redémarrer et sera ainsi prêt
3) Connectez les câbles selon le schéma si ce n'est pas déjà fait.
4) Pour un fonctionnement optimal de la procédure, rendez-vous dans le menu recovery via reset+6, une fois l'écran de récupération affiché, procédez à la suite.
5) Connectez le pico au PC et rendez-vous dans le dossier extrait précédemment, lancez "unlock.bat"
6) Procédez au redémarrage de la calculatrice avec "reset.bat" puis vérifiez le bon déroulement de la procédure avec "readInfo.bat"
Si cela s'est bien passé vous devriez avoir cet écran :
Si boot_add1 = 0x0080 alors l'opération n'a pas fonctionné, recommencez à l'étape 5)
Maintenant débranchez le pico de 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)
2 (BIS)) (Tout Pi sous Linux 2/3/4/0) 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/0 sous Raspberry OS de préférence
1) Pour commencer on va installer OpenOCD 0.12.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.12.0-1.1/.content/bin/openocd
Essayez de lancer openOCD, si vous voyez un écran indiquant OpenOCD 0.12.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é
Pour tout autre Pi, vous devrez sûrement adapter des fichier/branchements, je n'ai pas testé et aucune assistance ne sera fourni pour tout pi hors 2/3/4.
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