π
<-
Chat plein-écran
[^]

Correctif TI-Python flottants + complexes sur Trinket M0

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Re: Correctif TI-Python flottants + complexes sur Trinket M0

Unread postby Lionel Debroux » 23 Feb 2019, 22:05

Un petit rebase sur le dernier code d'upstream, ce qui permet de supprimer quelques hacks que j'ai dû faire. Pas d'autres changements. Mon repo https://github.com/debrouxl/circuitpython est à jour :)

* branche master: DPFP + cmath + fonctions spéciales maths + LONGLONG longint + storage + os:
Code: Select all
LINK build-trinket_m0/firmware.elf

864 bytes free in flash out of 188416 bytes ( 184.0 kb ).
26652 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Create build-trinket_m0/firmware.bin
Create build-trinket_m0/firmware.uf2
Converting to uf2, output size: 375296, start address: 0x2000
Wrote 375296 bytes to build-trinket_m0/firmware.uf2.


* branche master2: DPFP + cmath + fonctions spéciales maths + MPZ longint:
Code: Select all
LINK build-trinket_m0/firmware.elf

272 bytes free in flash out of 188416 bytes ( 184.0 kb ).
26760 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Create build-trinket_m0/firmware.bin
Create build-trinket_m0/firmware.uf2
Converting to uf2, output size: 376320, start address: 0x2000
Wrote 376320 bytes to build-trinket_m0/firmware.uf2.
Attachments
circuitpython_trinketm0_dpfp_mpzlongint_20190223_2138_debrouxl.tar.bz2
Version avec entiers longs longs, mais pas io, os et storage
(271.82 KiB) Downloaded 1 time
circuitpython_trinketm0_dpfp_longlonglongint_20190223_2142_debrouxl.tar.bz2
Version avec entiers longs moyens, os, storage
(281.87 KiB) Downloaded 2 times
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxModo.G
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.8%
 
Posts: 6221
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
Class: -
GitHub: debrouxl

Re: Correctif TI-Python flottants + complexes sur Trinket M0

Unread postby Lionel Debroux » 18 Mar 2019, 22:42

Encore un petit rebase sur le dernier code d'upstream, légèrement postérieur à 4.0.0-beta.5 ( b4b8ffa0e23a276f20aa8f9d689da420a71a4ab2 ). Comme d'habitude, mon repo https://github.com/debrouxl/circuitpython est à jour. Pour une fois, je n'ai pas eu à résoudre de conflits... c'est appréciable :)

Un petit changement depuis la dernière fois: comme des bugfixes dans le code upstream ont augmenté la taille de plusieurs centaines d'octets, j'ai dû désactiver MICROPY_PY_BUILTINS_STR_SPLITLINES, mais la taille du build MPZ longint est encore plus proche de la limite que la fois précédente...

* branche master: DPFP + cmath + fonctions spéciales maths + LONGLONG longint + storage + os:
Code: Select all
LINK build-trinket_m0/firmware.elf

772 bytes free in flash out of 188416 bytes ( 184.0 kb ).
26652 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Create build-trinket_m0/firmware.bin
Create build-trinket_m0/firmware.uf2
Converting to uf2, output size: 375296, start address: 0x2000
Wrote 375296 bytes to build-trinket_m0/firmware.uf2.


* branche master2: DPFP + cmath + fonctions spéciales maths + MPZ longint:
Code: Select all
LINK build-trinket_m0/firmware.elf

180 bytes free in flash out of 188416 bytes ( 184.0 kb ).
26760 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Create build-trinket_m0/firmware.bin
Create build-trinket_m0/firmware.uf2
Converting to uf2, output size: 376832, start address: 0x2000
Wrote 376832 bytes to build-trinket_m0/firmware.uf2.
Attachments
circuitpython_trinketm0_dpfp_mpzlongint_20190318_2236_debrouxl.tar.bz2
Version avec entiers longs longs, mais pas io, os et storage
(271.7 KiB) Downloaded 4 times
circuitpython_trinketm0_dpfp_longlonglongint_20190318_2235_debrouxl.tar.bz2
Version avec entiers longs moyens, os, storage
(282.45 KiB) Downloaded 2 times
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxModo.G
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.8%
 
Posts: 6221
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
Class: -
GitHub: debrouxl

Re: Correctif TI-Python flottants + complexes sur Trinket M0

Unread postby Lionel Debroux » 29 Mar 2019, 19:20

Et un nouveau rebase sur upstream, commit 5478610e591f404baeb60d01d0997754ba4734cb . Comme d'habitude, mon repo https://github.com/debrouxl/circuitpython est à jour.

La taille de CircuitPython ayant encore augmenté, j'ai dû passer de MICROPY_ERROR_REPORTING_DETAILED à MICROPY_ERROR_REPORTING_NORMAL pour gagner plus de 500 octets et rester dans la limite de 184 KB... C'est dommage, c'était un des points sur lesquels mes firmwares étaient plus avancés que le firmware de TI, qui semble utiliser MICROPY_ERROR_REPORTING_NORMAL, d'après un message d'erreur qu'on trouve dans l'image binaire - c'est la version NORMAL et non la version DETAILED.

* branche master: DPFP + cmath + fonctions spéciales maths + LONGLONG longint + storage + os:
Code: Select all
LINK build-trinket_m0/firmware.elf

736 bytes free in flash out of 188160 bytes ( 183.75 kb ).
26648 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Create build-trinket_m0/firmware.bin
Create build-trinket_m0/firmware.uf2
Converting to uf2, output size: 375296, start address: 0x2000
Wrote 375296 bytes to build-trinket_m0/firmware.uf2.


* branche master2: DPFP + cmath + fonctions spéciales maths + MPZ longint:
Code: Select all
LINK build-trinket_m0/firmware.elf

160 bytes free in flash out of 188160 bytes ( 183.75 kb ).
26744 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Create build-trinket_m0/firmware.bin
Create build-trinket_m0/firmware.uf2
Converting to uf2, output size: 376320, start address: 0x2000
Wrote 376320 bytes to build-trinket_m0/firmware.uf2.
Attachments
circuitpython_trinketm0_dpfp_mpzlongint_20190329_1835_debrouxl.tar.bz2
Version avec entiers longs longs, mais pas os et storage
(271.93 KiB) Downloaded 2 times
circuitpython_trinketm0_dpfp_longlonglongint_20190329_1833_debrouxl.tar.bz2
Version avec entiers longs moyens, os, storage
(282.2 KiB) Downloaded 3 times
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxModo.G
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.8%
 
Posts: 6221
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
Class: -
GitHub: debrouxl

Re: Correctif TI-Python flottants + complexes sur Trinket M0

Unread postby Lionel Debroux » 23 Apr 2019, 07:27

Un nouveau rebase sur upstream, commit 03f9048778ecad2bbd7d07d01f3b64153a36c177 , et l'habituelle mise à jour de mon repo https://github.com/debrouxl/circuitpython .

J'ai eu pas mal de soucis pour réaliser cette version, parce que les changements dans upstream, en particulier une mise à jour du submodule tinyusb et la nécessité d'activer le module board, avaient à la fois cassé la communication USB avec l'ordinateur et fait dépasser la taille disponible. Le pauvre critor a testé plus de versions qui ne fonctionnaient pas que de versions qui fonctionnaient, avant que je puisse comprendre en partie et poster dans un bug report. Il s'est avéré que ce n'était pas le même problème que l'autre utilisateur, je n'enlevais simplement pas les capacités USB HID, USB MIDI et les strings correspondantes des descripteurs USB. Auparavant, cela ne posait pas de problème, mais maintenant, si. Quand on vire toutes ces données inutiles des descripteurs, on gagne de l'ordre de 400 octets (2 pour mille), en plus...
Quant à la limite de taille, j'ai fini par voir que le module board référençait I2C, SPI et UART, dont on se contre-fiche sur le TI-Python Adapter, faute de ports. Si on désactive les références à chacun de ces trois objets, on gagne immédiatement environ 10 KB (!), parce que plein d'éléments de code et données non référencés peuvent alors être éliminés par le linker. En fin de compte, pour rester dans la limite des 183.75 KB tout en ne réduisant pas trop la fonctionnalité pour les autres boards à base d'ATSAMD21 qui proposent les I/O habituelles, j'ai choisi d'activer l'implémentation MPZ des entiers longs - comme le fait TI - ainsi qu'os et storage, et de désactiver seulement l'I2C. Avec ça, il reste de la marge - qui sera partiellement rognée avec l'inclusion de l'émulation de la protection de TI - et il n'y a donc, pour l'instant, plus besoin que d'une seule version des binaires :)

* branche master: DPFP + cmath + fonctions spéciales maths + MPZ longint + storage + os:
Code: Select all
LINK build-trinket_m0/firmware.elf

1036 bytes free in flash out of 188160 bytes ( 183.75 kb ).
26736 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Create build-trinket_m0/firmware.bin
Create build-trinket_m0/firmware.uf2
Converting to uf2, output size: 374272, start address: 0x2000
Wrote 374272 bytes to build-trinket_m0/firmware.uf2.
Attachments
circuitpython_trinketm0_dpfp_longint_20190422_2237_debrouxl.tar.bz2
Version avec entiers longs longs, os et storage
(270.83 KiB) Downloaded 2 times
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxModo.G
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.8%
 
Posts: 6221
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
Class: -
GitHub: debrouxl

Previous

Return to News TI-z80 (TI-73, 76, 80, 81, 82, 83, 84, 85, 86)

Who is online

Users browsing this forum: nicolas86742 and 2 guests

Campagne de dons
Pour nous aider à financer nos déplacements sur les salons/congrès qui vous donnent du contenu exclusif

Vous aurez droit aux avantages VIP et des goodies !
30%
-
Search
-
Featured topics
Avantages VIP et goodies pour les donateurs !
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
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 
-
Stats.
522 utilisateurs:
>467 invités
>49 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)