Posté le 09/12/2018 16:32
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 134 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 09/12/2018 16:33 | #
Bonjour,
Alors sur les Graph 35 ++ (comprend tweakée) il y a 256 Ko de RAM je crois
Citer : Posté le 09/12/2018 16:49 | #
256 ko ? C'est beaucoup plus que je ne pensais
N'y a-t'il pas une différence entre sh3 et sh4 par hasard ?
(Personnellement, quand j'ai la prétention de demander 50ko, j'ai droit à une belle "TLB ERROR !!!")
Citer : Posté le 09/12/2018 17:29 | #
Si je me souviens bien, 48 Ko de RAM dynamique, 16 KO de stack, et 8 KO de statique.
Sur les sh4, y'a bien 256k supplémentaires mais il faut les avoir par adresse explicite, ils sont ignorés par le système. Du coup il faut potentiellement refaire un malloc qui vient chercher dans cette zone : https://www.planet-casio.com/Fr/forums/topic15344-1-Implementer_un_malloc()_qui_tire_avantage_des_256_ko_sur_SH4.html
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 09/12/2018 17:44 | #
D'accord, ça m'a l'air de coller parfaitement aux limitations que j'avais expérimenté.
Du coup, merci infiniment, voilà une info que je ne risque pas d'oublier de sitôt
Citer : Posté le 09/12/2018 19:05 | #
Zezombye a quasiment tout dit, mais voilà quelques détails de plus.
→ La RAM dynamique s'appelle tas, c'est là que travaille malloc().
→ Il y a une erreur de copie, c'est bien 16 ko comme indiqué par Zezombye et non 18 ko de pile.
→ La RAM statique est mappée au démarrage du programme et ne peut pas être exécutée (!). C'est quelle qui contient les sections B & R sous le SDK.
Le buffer de 256 ko est bien sur SH4 et non sur les Graph modifiées (désolé Shadow).
Tu peux y ajouter diverses zones dans lesquelles tu peux fureter, notamment un buffer de 32 ko que Kristaba exploitait sur SH3, dont au moins les 12 ko de fin sont safe sur SH4 ; c'est ici que gint s'installe.
Quelques détails de plus dans la doc de SimLo.
(Personnellement, quand j'ai la prétention de demander 50ko, j'ai droit à une belle "TLB ERROR !!!")
Tu as surtout un NULL en réponse de malloc(), tu ne segfault que si tu utilises le buffer sans vérifier si l'allocation a marché
Citer : Posté le 09/12/2018 19:13 | #
Vu et corrigé, pour les 16ko de stack.
Tu as surtout un NULL en réponse de malloc(), tu ne segfault que si tu utilises le buffer sans vérifier si l'allocation a marché
Vu le programme sur lequel je travaille, c'est certainement ça.
S'agirait peut-être que je me mette à vérifier le succès de mes allocations dynamiques, moi