[U-Boot] Uboot application problem

robin robinpv at iwavesystems.com
Wed Apr 28 07:06:40 CEST 2010


Hi,

I have a couple of custom application for uboot.
I am able to build and run the application individually 
If i power up the board and run the first application, It executes
without powering off the board if i load second application to same
location, the system hangs.
Both the application has been compiled for same location 0x80000000.
i have tested both application seperately, both are fine.
But when i execute one after another without power off, then system
hangs.
i compiled one application for 0x80000000 and another for 0x81000000
then both application executes without requiring reboot.
i am using the below lds file for applications.

Can some one suggest if it is a stack issue or some other issue.
i had defined usrstack area in my application and verified it using map
file.
but after execution of application i check that area, its not at all
modified,
its 0xFFFFFFFF, i think its using uboot's stack area not the one defined
by my application.
what is causing this behavior and how to resolve it ?

Regards,
Robin


=========================================
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(main)

MEMORY
{
        ram      : o = 0x80000000, l = 256k
        usrstack : o = 0x83000000, l = 64k
}

SECTIONS
{

  /* Code and Constants */
  .text :
    {
    . = 0x00;

      __text_start = .;
      *.o(.text)
      *.o(.strings)
      *.o(.rodata)
      *.o(.rodata.*)
      *.o(.comment)
      *.o(.debug*)
      *(.rodata.*)
      *(.rodata)
       *(.eh_frame)
       . = ALIGN(32);
      __text_end = .;
    } > ram
  /* Initialized data */
  .init :
    {
     . = ALIGN(32);
      __data_start = .;
       . = ALIGN(32);
      *(.data)
      *(.glue_7)
      *(.glue_7t)
      . = ALIGN(32);
      __data_end = .;
      . = ALIGN(32);
    } > ram

  .bss :
    {
      __bss_start = .;
      *(.bss)
      *(COMMON)
      . = ALIGN(32);
      __bss_end = .;
    } > ram

  /* Application stack */
  .stack :
    {
      __stack_start = .;
      *(.stack)
      __stack_end = .;
      . = ALIGN(32);
    } > usrstack
}
                       

------------------------------------------------------------------------------- 
DISCLAIMER: This e-mail and any attachment (s) is for authorised use by the
intended recipient (s) only. It may contain proprietary material, confidential
information and/or be subject to the legal privilege of iWave Systems
Technologies Private Limited. If you have received this message in error,
please notify the originator immediately. If you are not the intended
recipient, you are notified that you are strictly prohibited from retaining,
using, copying, alerting or disclosing the content of this message. Thank you
for your co-operation. 
------------------------------------------------------------------------------



More information about the U-Boot mailing list