avr-libc-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-libc-dev] [bug #28108] bug with winavr20090313


From: Brn Gomes
Subject: [avr-libc-dev] [bug #28108] bug with winavr20090313
Date: Mon, 30 Nov 2009 11:17:47 +0000
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10

Follow-up Comment #1, bug #28108 (project avr-libc):

If I want a CAN msg with ID=0xFDFFFFF0 on msg2

it sends 

ID=0xFDFDFFF0.... 

#define TEST_CAN_MSG1_ID 0xFDFFFFE0L 
#define TEST_CAN_MSG2_ID 0xFDFFFFD0L 
#define TEST_CAN_MSG3_ID 0xFDFFFFC0L 

#define TEST_CAN_TX_MSG0_ID TEST_CAN_MSG3_ID 
#define TEST_CAN_TX_MSG1_ID TEST_CAN_MSG1_ID 
#define TEST_CAN_TX_MSG2_ID TEST_CAN_MSG2_ID 

typedef struct 
{ 
uint32_t id; 
uint32_t id_msk; 
uint8_t *data_ptr; 
uint8_t status; 
uint8_t proc; 
void *action_ptr; 
uint8_t max_size; 
uint8_t size; 
uint8_t mob_num; 
uint8_t wdlc; 
uint8_t mob_assign; 
} can_msg_t; 

static volatile can_msg_t can_tx_msg0; 
static volatile can_msg_t can_tx_msg1; 
static volatile can_msg_t can_tx_msg2; 

static volatile uint8_t can_buf_out_msg0[10]; 
static volatile uint8_t can_buf_out_msg1[10]; 
static volatile uint8_t can_buf_out_msg2[10]; 


funtion called in C code: 

void InitCan(void){ 

/* 
* Msg 0 
*/ 
can_tx_msg0.id = TEST_CAN_TX_MSG0_ID; 
can_tx_msg0.data_ptr = (uint8_t *) can_buf_out_msg0; 
can_tx_msg0.max_size = 8; 
can_tx_msg0.size = 8; 
can_tx_msg0.status = NOT_SENT; 
can_tx_msg0.mob_num = 0; 
can_tx_msg0.mob_assign = FIXED_MOB; 

/* send dummy data... */ 
can_buf_out_msg0[0] = 0; 
can_buf_out_msg0[1] = 0; 
can_buf_out_msg0[2] = 0; 
can_buf_out_msg0[3] = 0; 
can_buf_out_msg0[4] = 0xDE; 
can_buf_out_msg0[5] = 0xAD; 
can_buf_out_msg0[6] = 0xFA; 
can_buf_out_msg0[7] = 0xCE; 

/* 
* Msg 1 
*/ 
can_tx_msg1.id = TEST_CAN_TX_MSG1_ID; 
can_tx_msg1.data_ptr = (uint8_t *) can_buf_out_msg1; 
can_tx_msg1.max_size = 8; 
can_tx_msg1.size = 8; 
can_tx_msg1.status = NOT_SENT; 
can_tx_msg1.mob_assign = FLOATING_MOB; 

/* send dummy data... */ 
can_buf_out_msg1[0] = 0xDE; 
can_buf_out_msg1[1] = 0xAD; 
can_buf_out_msg1[2] = 0xFA; 
can_buf_out_msg1[3] = 0xCE; 
can_buf_out_msg1[4] = 0; 
can_buf_out_msg1[5] = 0; 
can_buf_out_msg1[6] = 0; 
can_buf_out_msg1[7] = 0; 

/* 
* Msg 2 
*/ 
can_tx_msg2.id = TEST_CAN_TX_MSG2_ID; 
can_tx_msg2.data_ptr = (uint8_t *) can_buf_out_msg2; 
can_tx_msg2.max_size = 8; 
can_tx_msg2.size = 8; 
can_tx_msg2.status = NOT_SENT; 
can_tx_msg2.mob_assign = FLOATING_MOB; 

/* send dummy data... */ 
can_buf_out_msg2[0] = 0xDE; 
can_buf_out_msg2[1] = 0xAD; 
can_buf_out_msg2[2] = 0xFA; 
can_buf_out_msg2[3] = 0xCE; 
can_buf_out_msg2[4] = 0; 
can_buf_out_msg2[5] = 0; 
can_buf_out_msg2[6] = 0; 
can_buf_out_msg2[7] = 0; 

......-----------......

the .lss file generated with the error at line 724:

can_tx_msg2.id = TEST_CAN_TX_MSG2_ID; 
71a:    00 ed ldi       r16, 0xD0       ; 208 
71c:    e0 2e mov       r14, r16 
71e:    0f ef ldi       r16, 0xFF       ; 255 
720:    f0 2e mov       r15, r16 
722:    0f ef ldi       r16, 0xFF       ; 255 
724:    00 2f mov       r16, r16 
726:    0d ef ldi       r16, 0xFD       ; 253 
728:    10 2f mov       r17, r16 
72a:    e0 92 0f 02 sts 0x020F, r14 
72e:    f0 92 10 02 sts 0x0210, r15 
732:    00 93 11 02 sts 0x0211, r16 
736:    10 93 12 02 sts 0x0212, r17 
can_tx_msg2.data_ptr = (uint8_t *) can_buf_out_msg2; 
73a:    86 e3 ldi       r24, 0x36       ; 54 
73c:    92 e0 ldi       r25, 0x02       ; 2 
73e:    90 93 18 02 sts 0x0218, r25 
742:    80 93 17 02 sts 0x0217, r24 
can_tx_msg2.max_size = 8; 
746:    60 93 1d 02 sts 0x021D, r22 
can_tx_msg2.size = 8; 
74a:    60 93 1e 02 sts 0x021E, r22 
can_tx_msg2.status = NOT_SENT; 
74e:    70 93 19 02 sts 0x0219, r23

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?28108>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]