Non-aligned Access: Thumb Instruction : on ARM LPC2214 error
Discussion in "ARM Development" started by hbaocr May 3, 2008.
Sat May 03 2008, 10:29 am
thank for attension on my problem
i'm using LPC2214 to collect data form ADC chanel control and store it in the ARRAY data by timer interrupt match each 1ms.That means I samples sample per 1 milisecons.And after 50milisecond I genearate all 50 collected data in ARRAY to PC through UART port.but I have problem
that is "Non-aligned Access: Thumb Instruction at 00000674H, Memory Access at 000009EBH"
when run in simulation by Keil C.
And when I load the HEX file of that code into my uc LPC2214 it only output through UART port 2 times and stand by,don't do anything until I reset uC LPC2214.
what can I do to solve that problem
here are code
void IRQ_Match0_timer0(void)__irq;//match0 Timer0;
unsigned int FIR_LPF(unsigned int data_update,int *arraybuffer);
in the function
int buffer_temp_array1[11]={0};
int buffer_temp_array2[11]={0};
int datacollected1[50]={0};
main()
{
setup all information for my application(VIC ,timer,UART)
.......
index=0;
While(1)
{
datacollected1[index]=FIR_LPF(dataonADC1,buffer_temp_array1);
datacollected2[index]=FIR_LPF(dataonADC2,buffer_temp_array2);
//here appear error when I see on ASM code generate of that code on DISSASEMBLY window on keil ""Non-aligned Access: Thumb Instruction at 00000674H, Memory Access at 000009EBH" on LDR instruction??///
}
}
void IRQ_Match0_timer0(void)__irq;//interrupt Timer0 each ones milisecons
{
dataonADC1=readadcchanel(1);
dataonADC2=readadcchanel(2);
index++
if (index>=50)
{index=0;
outUART(datacollected1);//output all of datacollected and filter by LPF digital filter
outUART(datacollected2);
}
}
}
Please show me how I can solve that problem !thank you verry much.
i'm using LPC2214 to collect data form ADC chanel control and store it in the ARRAY data by timer interrupt match each 1ms.That means I samples sample per 1 milisecons.And after 50milisecond I genearate all 50 collected data in ARRAY to PC through UART port.but I have problem
that is "Non-aligned Access: Thumb Instruction at 00000674H, Memory Access at 000009EBH"
when run in simulation by Keil C.
And when I load the HEX file of that code into my uc LPC2214 it only output through UART port 2 times and stand by,don't do anything until I reset uC LPC2214.
what can I do to solve that problem
here are code
void IRQ_Match0_timer0(void)__irq;//match0 Timer0;
unsigned int FIR_LPF(unsigned int data_update,int *arraybuffer);
in the function
int buffer_temp_array1[11]={0};
int buffer_temp_array2[11]={0};
int datacollected1[50]={0};
main()
{
setup all information for my application(VIC ,timer,UART)
.......
index=0;
While(1)
{
datacollected1[index]=FIR_LPF(dataonADC1,buffer_temp_array1);
datacollected2[index]=FIR_LPF(dataonADC2,buffer_temp_array2);
//here appear error when I see on ASM code generate of that code on DISSASEMBLY window on keil ""Non-aligned Access: Thumb Instruction at 00000674H, Memory Access at 000009EBH" on LDR instruction??///
}
}
void IRQ_Match0_timer0(void)__irq;//interrupt Timer0 each ones milisecons
{
dataonADC1=readadcchanel(1);
dataonADC2=readadcchanel(2);
index++
if (index>=50)
{index=0;
outUART(datacollected1);//output all of datacollected and filter by LPF digital filter
outUART(datacollected2);
}
}
}
Please show me how I can solve that problem !thank you verry much.
[ Edited Sat May 03 2008, 10:30 am ]
Mon May 05 2008, 01:18 am
try increasing the stack size...
cant comment until we cud see the
FIR_LPF(unsigned int data_update,int *arraybuffer);
definition!
cant comment until we cud see the
FIR_LPF(unsigned int data_update,int *arraybuffer);
definition!
Powered by e107 Forum System