Multiple CAN ISP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multiple CAN ISP

422 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Georay on Thu Feb 11 07:37:12 MST 2016
Hi all,

I'm looking for some information about LPC11C14's CAN In-System-Progamming.

This is my situation :

I have a CAN bus with 48 nodes made by LPC11C14. I wish to programm the same application with the same programm by using the CAN ISP. I wish also get if a programming process failed on one card.

However I read on the documentation that All the ISP CAN ID are equal. This configuration will create conflict on the bus. isn't it ?
Is it possible to change these IDs ?


Thank you very much.

Georay

Labels (1)
0 Kudos
3 Replies

396 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Georay on Thu Feb 11 10:02:47 MST 2016

Hi again,

I have found what's wrong in my code.

When I initialize my clock in the user application I turned off the clock source of the main oscillator without change it. so the µc fall in hard fault mode.

Thank you for your help.

Georay
0 Kudos

396 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Georay on Thu Feb 11 08:54:34 MST 2016
So, I need to make a secondary bootloader ?

I was afraid about this answer so I begin to work on it. I have some problem when I jump on the user app.
The µc begin to execute the application reset handler and begin to initialize the clock but a hard fault interrupt always when it try to execute one instruction of my code.

This is the code I made to jump to the user application

void btl_StartUserApp(void)
{
/* Valid application located in the next sector(s) of flash so execute */

/* Load main stack pointer with application stack pointer initial value,
   stored at first location of application area */
__asm__ ("ldr r0, =0x2100");
__asm__ ("ldr r0, [r0]");
__asm__ ("mov sp, r0");

/* Load program counter with application reset vector address, located at
   second word of application area. */
__asm__ ("ldr r0, =0x2104");
__asm__ ("ldr r0, [r0]");
__asm__ ("mov pc, r0");
}


The user application begins on 0x2100 so the reset handler is in 0x2104.
The programm counter is succesfully written but when I execute some step the device enter in hardware default.

I will seach the disassembly line wich cause the default if you need it.

I work on eclipse mars with gnu arm yagarto-20121222
0 Kudos

396 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by R2D2 on Thu Feb 11 08:15:49 MST 2016

Quote: Georay

However I read on the documentation that All the ISP CAN ID are equal. This configuration will create conflict on the bus. isn't it ?
Is it possible to change these IDs ?



:~

No. CAN-ISP ID is always 0x67D and you can't use SDO to program more than one node at the same time...
0 Kudos