Forums

Power PC bootloader - issue in calling function from other files

Started by jagan_cp August 20, 2007
Hi,

I am developing a bootloader for Power PC.
1. The bootloader is comprised of bootstrap and bootloader application.
2. The bootstrap runs from the flash, copies the bootlaoder to the RAM and
runs the bootloader from the RAM.
3. The bootloader needs to uncompress the Main Image in the flash and run
the main image from RAM.

I am sucessful in the bootstrap and the bootloader to some extent.

I have an issue while executing the zlib inflate routines from the Vxworks
tool chain.

The bootloader is made of 2 object files bootloader.c and inflate.c.
The bootloader.c calls infalte() in inflate.c
I am able to link and run the bootloader, but the call to inflate fails.
The execution does not reach the inflate() on calling it.

I tried a work around, move the inflate()definition in the inflate.c as
the first function definition in inflate.c. 
This works !!!. But further call from infalte() to other functions in
infalte.c() have the same issue.

I am using the VxWorks GNU compiler for compiling and building my
sources.

Please help me in this regard.


Regards,
Jagan 





On Aug 20, 3:12 pm, "jagan_cp" <jagan...@hotmail.com> wrote:
> Hi, > > I am developing a bootloader for Power PC. > 1. The bootloader is comprised of bootstrap and bootloader application. > 2. The bootstrap runs from the flash, copies the bootlaoder to the RAM and > runs the bootloader from the RAM. > 3. The bootloader needs to uncompress the Main Image in the flash and run > the main image from RAM. > > I am sucessful in the bootstrap and the bootloader to some extent. > > I have an issue while executing the zlib inflate routines from the Vxworks > tool chain. > > The bootloader is made of 2 object files bootloader.c and inflate.c. > The bootloader.c calls infalte() in inflate.c > I am able to link and run the bootloader, but the call to inflate fails. > The execution does not reach the inflate() on calling it. > > I tried a work around, move the inflate()definition in the inflate.c as > the first function definition in inflate.c. > This works !!!. But further call from infalte() to other functions in > infalte.c() have the same issue. > > I am using the VxWorks GNU compiler for compiling and building my > sources. > > Please help me in this regard. > > Regards, > Jagan
Hi , With info provided by you it looks like a linker script file error i.e. Virtual load address /logical load address problem. BR Rate