After executing the instructon bl read_nand_to_sdram, my arm program will not execute the instruction ldr sp,=0x34000000 , but goback to execute the instruction bl init_sdram,why?
.global _start .text _start: ldr sp,=4095 bl init_sdram bl read_nand_to_sdram ldr sp,=0x34000000 ldr lr,=loop ldr pc,=main loop: b loop
Hi,
I think the initial SP value would not be good.
The SP value should be aligned by 8 bytes.
Why did you set SP to 4095?
You'd better set it 4096 or 4088.
Best regards,
Yasuhiko Koumoto.
4095 points to the last byte in the first 4K block. Maybe just a simple mistake in trying to make SP initially pointing to the top of the 4K block.
owen's entire code is in the other post in Software Development Tools, in my arm program,why the program can't execute the instruction ldr pc,=main ,my program can't go into the main function,but goback to execue bl init_sdram.
thankyou,i forgot to disable watchdog,i am careless
Thanks also for posting that you already solved the problem and letting us know the cause of the trouble.