π
<-
Chat plein-écran
[^]

Challenge NumWorks++ | Flash chip hardware mod

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby M4x1m3 » 02 Aug 2020, 09:29

Merci zardam. J'ai re-jeté un œil au code. Je l'ai passé en Single pour tester, voir si ça changeait quelque chose. Par rapport au changement de mode, Epsilon le fait. Je vais essayer de repasser en QSPI et d'ajuster les timings.

Edit: Merci beaucoup, j'ai réussi à intégrer ton patch, j'arrive à lire et à écrire sur la flash externe. Je vais juste devoir batailler avec LD pour déplacer une partie du système sur la flash externe comme sur N0110...

"Regression testing"? What's that? If it compiles, it is good, if it boots up it is perfect.
User avatar
M4x1m3Programmeur
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 61.5%
 
Posts: 108
Joined: 13 Oct 2019, 21:10
Location: Bas-Rhin (67)
Gender: Male
Calculator(s):
Class: 1ere année DUT Informatique
GitHub: M4xi1m3

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby zardam » 02 Aug 2020, 11:21

Super !

Attention, l’exécution depuis la flash externe est assez lente sur la n0100. J'avais porté le script de linker de la n110 pour essayer, et la différence était assez flagrante.

En plus, le STM32F412 n'est pas capable de debugger du code dans la flash externe, et c'est assez pénible...
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 34.6%
 
Posts: 233
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby zardam » 02 Aug 2020, 11:58

PS : j'ai retrouvé la branche, et le changeset : https://github.com/zardam/epsilon/commi ... 8702fc7ba2

C'est un peu vieux, mais je n'ai pas mieux.
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 34.6%
 
Posts: 233
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby M4x1m3 » 02 Aug 2020, 14:04

J'ai l'impression que me patch ressemble étonnamment au tiens, mais le mien ne fonctionne pas. J'ai essayé de virer le driver du mode examen (et la section associée dans le fichier du linker) sans succès. Je vais essayer de compiler ta version et de la lancer sur ma N0100++...

Edit1: Désolé si j'ai l'air de poser des questions débiles, mais je navigue un poil à l'aveugle, mon stlink v2 ne fonctionne pas (donc je peux pas debug), j'en ai commandé un nouveau mais avec le covid tout ça je l'aurais pas avant deux semaines, et je n'y connais pas beaucoup en tout ce qui est très bas niveau...

Edit2: Je comprends de moins en moins... Ta version ne marche pas chez moi...

Edit3: Je viens de test avec la Winbond, marche pas non plus. C'est peut-être parce que j'ai dû faire une modif pour que ça link? Cf. patch joint.
Code: Select all
diff --git a/ion/src/device/n0100/flash.ld b/ion/src/device/n0100/flash.ld
index 00bf7b8d1..843a468ba 100644
--- a/ion/src/device/n0100/flash.ld
+++ b/ion/src/device/n0100/flash.ld
@@ -98,6 +98,7 @@ SECTIONS {
     *(.text._ZN3Ion6Device6Timing8shutdownEv)
     *(.text._ZN3Ion6Timing6msleepEj)
     *(.text._ZN3Ion6Device5Board17setClockFrequencyENS1_9FrequencyE)
+    *(.text._ZNK3Ion6Device4Regs3TIMINS1_8RegisterItEEE4BaseEv.isra.0.lto_priv.0)

     /* Optimization */
     */libgcc.a:(.text)

"Regression testing"? What's that? If it compiles, it is good, if it boots up it is perfect.
User avatar
M4x1m3Programmeur
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 61.5%
 
Posts: 108
Joined: 13 Oct 2019, 21:10
Location: Bas-Rhin (67)
Gender: Male
Calculator(s):
Class: 1ere année DUT Informatique
GitHub: M4xi1m3

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby zardam » 03 Aug 2020, 01:33

Il y a un souci dans le descripteur DFU :

Code: Select all
diff --git a/ion/src/device/n0100/drivers/config/usb.h b/ion/src/device/n0100/drivers/config/usb.h
index f94bee902..f8cf2e8c7 100644
--- a/ion/src/device/n0100/drivers/config/usb.h
+++ b/ion/src/device/n0100/drivers/config/usb.h
@@ -15,7 +15,7 @@ constexpr static AFGPIOPin DmPin(GPIOA, 11, GPIO::AFR::AlternateFunction::AF10,
constexpr static AFGPIOPin DpPin(GPIOA, 12, GPIO::AFR::AlternateFunction::AF10, GPIO::PUPDR::Pull::None, GPIO::OSPEEDR::OutputSpeed::Fast);

#if EXTERNAL_FLASH_8M
-constexpr static const char * InterfaceStringDescriptor = "@Flash/0x08000000/04*016Kg,01*064Kg,07*128Kg/0x90000000/08*004Kg,01*032Kg,63*064Kg,64*064Kg";
+constexpr static const char * InterfaceStringDescriptor = "@Flash/0x08000000/04*016Kg,01*064Kg,07*128Kg/0x90000000/08*004Kg,01*032Kg,64*064Kg,64*064Kg";
#else
constexpr static const char * InterfaceStringDescriptor = "@Flash/0x08000000/04*016Kg,01*064Kg,07*128Kg";
#endif


63*064Kg -> 64*064Kg à la fin (le secteur pour le mode examen est utilisable sur la n100).

Ça fonctionne chez moi (avec un gcc 7).
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 34.6%
 
Posts: 233
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby M4x1m3 » 03 Aug 2020, 12:19

Ça me parait bizarre, parce que quand j'additionne avec le 63 je tombe sur 8192K (aka. 8M) alors qu'avec le 64 je tombe sur 8256K. Je vais voir.

J'utilise GCC 9 (directement du site d'ARM), est-ce que ça se peut que ça soit ça ?

Est-ce que tu peux me donner une image compilée que je puisse tester sur ma calculatrice ?

"Regression testing"? What's that? If it compiles, it is good, if it boots up it is perfect.
User avatar
M4x1m3Programmeur
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 61.5%
 
Posts: 108
Joined: 13 Oct 2019, 21:10
Location: Bas-Rhin (67)
Gender: Male
Calculator(s):
Class: 1ere année DUT Informatique
GitHub: M4xi1m3

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby zardam » 03 Aug 2020, 19:05

Effectivement, j'ai oublié le fractionnement du premier secteur, donc mon changement est incorrect.

Par contre, j'ai juste recompilé ta branche, avec le dernier gcc 9 de chez ARM et ça fonctionne très bien maintenant (alors qu'elle partait en boucle de reboot lors de mon premier essai).
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 34.6%
 
Posts: 233
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby M4x1m3 » 03 Aug 2020, 19:16

Peux-tu me fournir des binaires ? Comment flash-tu ? J'utilise ma version modifiée du projet tiplanet webdfu Numworks, peut-être que ça viens de là ?

"Regression testing"? What's that? If it compiles, it is good, if it boots up it is perfect.
User avatar
M4x1m3Programmeur
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 61.5%
 
Posts: 108
Joined: 13 Oct 2019, 21:10
Location: Bas-Rhin (67)
Gender: Male
Calculator(s):
Class: 1ere année DUT Informatique
GitHub: M4xi1m3

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby zardam » 03 Aug 2020, 22:31

Les binaires sont ici : https://we.tl/t-jNXXyLKIh2

J'utilise le target "epsilon_flash" du Makefile, et la calculatrice en DFU pour flasher.
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 34.6%
 
Posts: 233
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

Re: Challenge NumWorks++ | Flash chip hardware mod

Unread postby M4x1m3 » 04 Aug 2020, 08:47

Je ne sais plus quoi faire, surement un problème de soudure ou jsp, mais tes binaires ne marchent pas non plus. Comment ça se fait que j'arrive à faire tourner ta version d'epsilon avec giac... ?

Edit: J'ai doublé le diviseur de fréquence de la flash externe et ça marche, wtf ?

"Regression testing"? What's that? If it compiles, it is good, if it boots up it is perfect.
User avatar
M4x1m3Programmeur
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 61.5%
 
Posts: 108
Joined: 13 Oct 2019, 21:10
Location: Bas-Rhin (67)
Gender: Male
Calculator(s):
Class: 1ere année DUT Informatique
GitHub: M4xi1m3

PreviousNext

Return to News NumWorks

Who is online

Users browsing this forum: No registered users and 3 guests

-
Search
-
Featured topics
L'OS 5.5 de la TI-83 Premium CE / 84 Plus CE supprime l'assembleur - la plupart des jeux et certains programme ne fonctionneront plus
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
Découvre les nouvelles fonctionnalités en Python de l'OS 5.5 pour la 83PCE/84+C-T Python Edition
Comparaisons des meilleurs prix pour acheter sa calculatrice !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
484 utilisateurs:
>465 invités
>13 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)