This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

FW upgrade, TNKernel

Hello,

I need to develop Firmware upgrade module for my project. MCU: ARM, LPC2368
I am referring TNKernel source code, where in interrupt vector sharing is not clear.

fwu_utils.h

#define IRQ_RAM_ADDR        0x40000018
#define FIQ_RAM_ADDR        0x4000001C
#define IRQ_RAM_FUNC_ADDR   0x40000038
#define FIQ_RAM_FUNC_ADDR   0x4000003C

Startup.s

irq_handler_address:     .word  0x40000018 /* cpu_irq_isr */
fiq_handler_address:     .word  0x4000001C /* cpu_fiq_isr */

fwu.c

  //---- Set interrupts vectors
   ptr = (unsigned int *)IRQ_RAM_ADDR;
   *ptr = 0xE59FF018;                       //-- ldr pc, [pc, #24]
   ptr = (unsigned int *)FIQ_RAM_ADDR;
   *ptr = 0xE59FF018;                       //-- ldr pc, [pc, #24]

   //--- Put IRQ & FIQ vectors in RAM
   ptr = (unsigned int *)IRQ_RAM_FUNC_ADDR;
   *ptr = (unsigned int)&cpu_irq_isr;
   ptr = (unsigned int *)FIQ_RAM_FUNC_ADDR;
   *ptr = (unsigned int)&cpu_fiq_isr;

Kindly anybody help me in understanding why IRQ_RAM_FUNC_ADDR is 0x40000038.

0