I'm developing my bootloader based on AN1388. My bootloader is working pretty well.

I'm having problem with my app code. When I try to generate the hex code, seems there isn't "C startup code". My .map file says kseg0_boot_mem used is 0.

So I've tried to compile the demo app that came together with AN1388 "as is". It happens the same. But the pre-compiled hex in this example is correct. It has the kseg0_boot_mem in the hex.

So, anyone knows what I'm doing wrong?


I'm using C32 v2.00 and the AN1388 was compiled with C32 v1.11.

  • \$\begingroup\$ I can't remember the specifics (haven't used a PIC32 with C32 for a little while) but have you got the linker script set up correctly? The startup code is probably referencing the C018.o file IIRC. \$\endgroup\$ – Oli Glaser Sep 14 '11 at 16:01
  • \$\begingroup\$ Are you getting a linker or compiler error? What exactly is the error if you are getting one? \$\endgroup\$ – mjh2007 Sep 14 '11 at 19:08

In MPLAB IDE check your build options -> directories to make sure that the Library Search path is set correctly. I believe this directory is where the linker loads the C startup code from.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.