From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Schweigstill Date: Wed, 24 Aug 2005 16:09:41 +0200 Subject: [U-Boot-Users] Hello World application - Resets the CPU In-Reply-To: <1124886940.8a0b2efcS3092131@student.rmit.edu.au> References: <1124886940.8a0b2efcS3092131@student.rmit.edu.au> Message-ID: <430C7FA5.4080500@schweigstill.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Swapnil! Swapnil Ashok Narkhede schrieb: >>## Starting application at 0x0C100000 >>pc : [<0c140388>] lr : [] >>sp : a2f9fe40 ip : ffffffff fp : 00000000 >>r10: 00000000 r9 : 00000000 r8 : a2f9ffdc >>r7 : 00000000 r6 : 00000007 r5 : a2fe02e4 r4 : 0c100000 >>r3 : 40100000 r2 : 00000001 r1 : a2fe02e4 r0 : e59ff014 >>Flags: nZCv IRQs off FIQs off Mode SVC_32 The contents of several registers don't look like typical data pattern but like ARM instructions. These could either be there from the copy operations or from improper initialisation of the stacks or C runtime library. Especially R0 looks like code but LR can be code, too. LR should always contain an address of valid code memory; otherwise it really look like a stack corruption. So please check your stack initialisation and sizes. And you are aware that variables with function scope are being put on the stack and not on the heap, are you? I recommend picking a proper JTAG debugger and steps through your initialisation code. With best regards Andreas Schweigstill -- Dipl.-Phys. Andreas Schweigstill Schweigstill IT | Embedded Systems Schauenburgerstra?e 116, D-24118 Kiel, Germany Phone: (+49) 431 5606-435, Fax: (+49) 431 5606-436 Mobile: (+49) 171 6921973, Web: http://www.schweigstill.de/