8051 Microcontroller Projects AVR PIC Microcontroller Projects Tutorials Ebooks Libraries, interfacing tutorials, lcd tutorial, stepper motor, dc motor 8051 assembly language programming electronics and communication ECE CSE pdf ebooks library BE final year project ideas Embedded systems

 
8051 microcontroller 8051 microcontroller
Forums

8051 Microcontroller Projects AVR PIC Projects Tutorials Ebooks Libraries codes :: Forums :: Discuss and Learn :: ARM Development
 
<< Previous thread | Next thread >>
Non-aligned Access: Thumb Instruction : on ARM LPC2214 error
Moderators: Ajay, Junied , abbas1707, Arun Kumar V, pdi33, Shailesh NAYAK, ۞ TPS ۞, shyam, sashijoseph
Author Post
hbaocr
Fri May 02 2008, 09:59PM
 User Offline
Registered Member #5280
Joined: Fri Dec 28 2007, 08:21AM

Posts: 16
Thanked 0 times in 0 posts
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.



[ Edited Fri May 02 2008, 10:00PM ]

I'M A NEWCOMMER
Back to top


shyam
Sun May 04 2008, 12:48PM

 User Offline

Registered Member #2984
Joined: Mon Aug 06 2007, 11:33AM

Posts: 665
Thanked 93 times in 89 posts
try increasing the stack size...


cant comment until we cud see the

FIR_LPF(unsigned int data_update,int *arraybuffer);
definition!


lProgress is not made by early risers or hard workers, but by LAZY people, trying to find easier ways to do the same........
Back to top


 

Jump:     Back to top

Syndicate this thread: rss 0.92 Syndicate this thread: rss 2.0 Syndicate this thread: RDF
Powered by e107 Forum System

8051 Microcontroller Projects 8051 AVR tutorials PIC microcontroller, 8051 assembly language programming electronics and communication ECE CSE pdf ebooks library BE final year project ideas Embedded systems