Subodh Kotkar wrote:
Hello all


I am porting RedBoot on PXA processor..
It gives me some GDB stubs after loading, on serial console
so i tried debugging by placing some diag_printf() statement. here is
the some code of my main.c file:


 bist();
diag_printf("5:After power on self test"); //no 5
#ifdef CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
   fis_zlib_common_buffer =
   workspace_end -= CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE;
diag_printf("5AA::In side #IFDEF"); //5AA
#endif
diag_printf("____5BB::OUT side #IFDEF"); //5BB
   for (init_entry = __RedBoot_INIT_TAB__; init_entry !=
&__RedBoot_INIT_TAB_END__;  init_entry++) {
diag_printf("____5CCDD::In side FOR LOOP1"); //5CCDD
       (*init_entry->fun)();
diag_printf("5CC::In side FOR LOOP2"); //5CC
   }
diag_printf("6:After init entry function"); //no 6
   user_ram_start = workspace_start;
   user_ram_end = workspace_end;

   do_version(0,0);


In above code it reaches upto
diag_printf("____5CCDD::In side FOR LOOP1");
but it never call
(*init_entry->fun)();      function.
I am not getting what is Happeninig in that function...?


That line is calling various RedBoot initialization functions.
My guess would be that one of them [the first one?] is failing.

Try printing the value of the entry point, then you can look
up the address in your image and find out where to debug next.
  diag_printf("Calling %p\n", init_entry->fun);


--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply via email to