Content originally posted in LPCWare by mhg on Mon Dec 08 02:24:03 MST 2014 The old thread started with "ISP -> APP" and ended on "APP -> ISP" and bitrate issues. Following R2D2s suggestion "Please start a new thread, this one is old and long enough..." i start this new thread.
The problem: Reinvoking the ISP from application code results in 100k bit rate on CAN. Doing this in systems with different CAN BTR setting will fail.
Solutions discussed: 1. Turn all other nodes off or switch all of them to 100k before. => This is often not possible running systems with third party components off-the-shelf. 2. Reimplement the on-chip ROM code to replace the CAN BTR setting. => Huge coding effort just for adjusted BTR settings.
R2D2 pointed on two interesting details: 1. The "reinvoke ISP" command of the IAP on LPC15 is providing a parameter to select the interface (see thread). 2. R2D2 wrote: "... but it's also useful to switch from IRC to crystal Wink. Note: That's no theory, that's really working".
@1) Is there something (undocumented) similar for BTR setting on LPC11 ? @2) On my LPC11C24 reinvoking the ISP is always resulting in 100k regardless of the oscillator settings. Is there any special trick?
User manual 26.3.8.1: 3.) A pattern at 0x0000 02FC is used to disable ISP.
@3) Is there any other undocumented magic number (e.g. for BTR setting)?
Reimplementing the on-chip ROM code (with relocation to RAM etc.) appears to me not so pleasant.
Are there any tricks known, that may enable ISP operation at other bitrates?