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

SD Secondary boot loader with FIQ

I have a project on LPC2365 :
- I use SD Secondary Boot Loader
- Main project with RTX and FlashFS from RL-ARM

If I use no FIQ : Project OK
If I use FIQ (timer0) : the program doesn't work

If I use no boot loader, FIQ is OK

What would I do for using boot loader and FIQ at the same time?

I see in lpc2300.s


;               LDR     PC, IRQ_Addr
                LDR     PC, [PC, #-0x0120]     ; Vector from VicVectAddr
                LDR     PC, FIQ_Addr

It means IRQ_Addr is replaced by [PC, #-0x0120]
what about FIQ_Addr ?

Thanks very much.

Parents Reply Children
  • - Options for target ... -> Asm tab
    Define RAM_INTVEC REMAP RAM_MODE

    - In LPC2300.s :

                    IF      :DEF:SIZE_INT_INFO
                    IMPORT  ||Image$$ER_IROM1$$RO$$Length||
                    IMPORT  ||Image$$RW_IRAM1$$RW$$Length||
                    ELIF    :DEF:SIZE_EXT_INFO
                    IMPORT  ||Image$$ER_ROM1$$RO$$Length||
                    IMPORT  ||Image$$RW_RAM1$$RW$$Length||
                    ENDIF
    


    and

                    ; Reserved vector is used for image size information
                    IF      :DEF:SIZE_INT_INFO
                      DCD   ||Image$$ER_IROM1$$RO$$Length||+\ 
                            ||Image$$RW_IRAM1$$RW$$Length||
                    ELIF    :DEF:SIZE_EXT_INFO
                      DCD   ||Image$$ER_ROM1$$RO$$Length||+\ 
                            ||Image$$RW_RAM1$$RW$$Length||
                    ELSE
                      NOP
                    ENDIF
    

    ALL are OK (IRQs) but FIQ !

  • My FIQ subroutine just increasing some counter. I see FIQ occurs many times (1 ms interrupt interval) before the program is stop working !