Christopher Collins <ch...@runtime.io> writes:
>>   Program received signal SIGSEGV, Segmentation fault.
>>   os_pkg_init () at repos/apache-mynewt-core/kernel/os/src/os.c:223
>>   
>> 
>> I stepped through the code and I end up inside `os_start' which appears
>> to only have `assert(0)' as its body (because `#if
>> MYNEWT_VAL(OS_SCHEDULING)').
>
> Your procedure sounds correct to me, so I'm afraid I don't have an
> explanation.  I am not familiar with the black magic probe, though.
>
> The behavior you described is definitely unexpected.  The boot loader
> should not call os_start() at all; it should jump to the image's start
> up code instead.
>
> Could you paste a stack trace at the point of failure?

Well, this is the best I could produce:

  Program received signal SIGSEGV, Segmentation fault.
  os_pkg_init () at repos/apache-mynewt-core/kernel/os/src/os.c:223
  223     {
  (gdb) bt
  #0  os_pkg_init () at repos/apache-mynewt-core/kernel/os/src/os.c:223
  #1  0x00000000 in ?? ()

Even after rebuilding the boot loader with `build_profile=debug' this is
as much as it wanted to show me.

Luckily, Marcos' suggestion worked.  The objcopy trick allowed me to
load the blinky app and everything is working now.

Let me know if there is anything else you want me to try.

Thank you!

-- 
Peter Jones, Founder, Devalot.com
Defending the honor of good code

Reply via email to