Hi Ale,
more common solution is start bootloader after reset, the bootloader then makes a decision if bootloader or user application will be executed (based on state of a pin, some "key" in flash memory or whatever else). Reason - there's always a risk of unexpected reset or power down during the programming of user application. In this case, the bootloader is not affected and the application can be downloaded again. If the bootloader is called from application, there's no way to recover without JTAG.
Next advantage is that you can jump to the application from bootloader right after reset, so no initialization of the device is performed (or only minimalist initialization can be done which can be easily reverted back to default state).
This leading me to the next point - I always recommend to everyone to either jump to user application right after reset or (if jumping later from bootloader) put everything back to default reset state. This can save a lot of troubles.
Some resources which could help:
Draft of application note for MPC56xx:
https://community.nxp.com/servlet/JiveServlet/download/427962-1-279359/bootloader.zip
Updated and published version for MPC57xx devices:
http://www.nxp.com/assets/documents/data/en/application-notes/AN5319.pdf
http://www.nxp.com/assets/documents/data/en/application-notes-software/AN5319SW.zip
Regards,
Lukas