Project

General

Profile

Bug #90

problème d'alignement mémoire dans basic_parameter.c

Added by paul leroy over 7 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
14/03/2014
Due date:
% Done:

0%

Estimated time:
revision:
r0

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.

History

#1 Updated by paul leroy over 7 years ago

  • Assignee set to thomas chust

#2 Updated by thomas chust over 7 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

#3 Updated by thomas chust over 7 years ago

  • Status changed from In Progress to Closed

Also available in: Atom PDF