Bug #90
closedproblème d'alignement mémoire dans basic_parameter.c
0%
Description
La fonction BP1_set génère une erreur de type "0x07 = Memory access to un-aligned address" à l'exécution dès que i = 1 au niveau de l'instruction:
*pt_u_short_int = psd | (tmp_u_short_int << nbitsig);
Le soft s'arrête immédiatement.
Le problème vient de l'instruction qui précère:
pt_u_short_int = (unsigned short int*)&LFR_BP1[i*9+2];
Si i = 1, 1*9+2 = 11. Les short doivent être alignés sur des addresses multiple de 2.
Solution envisagée: n'utiliser que des type char, unsigned char, int, unsigned int pour accéder aux données.
Updated by thomas chust over 10 years ago
- Status changed from New to In Progress
Nouvelle version de basic_parameter.c (version 1.2). Le pb d'alignement est réglé pour BP1. Au passage, usage de sdtint.h pour la définition des types integer (uint16_t, ...). Pour BP2 cela reste encore à faire.
=> commit R6 sur Hephaistos"
ici
Updated by thomas chust over 10 years ago
- Status changed from In Progress to Closed