Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 19 Oct 2005 02:24 PM by  Anonymous
Overriding LOLO's Interrupt Service Routines
 1 Replies
Sort:
You are not authorized to post a reply.
Author Messages
aaronjstewart@gmail.com
New Member
New Member
Posts:


--
19 Oct 2005 01:55 PM
    I have code that I want to "jump" to from LOLO that needs to install its own interrupt handler (IRQ) and reprogram the timers for its own use.

    Is there an "approved" way for application code to install its own interrupt handler to override LOLO's ISR? After my program runs, the system is rebooted, so once I jump to my own code, I no longer need LOLO, so the fact that it will no longer have its tick interrupt is not a problem.
    Anonymous
    Posts:


    --
    19 Oct 2005 02:24 PM
    Hello,
    If you wish to leave the rest of LoLo's setup intact, you should be able to disable interrupts when you jump to your application and then over write LoLo's interrupt handler with your own.

    After you load your application, you can turn the cache off to make sure that when you copy the interrupts over the top of LoLo's, the instruction cache does not use the stored instructions.

    I would reccomend that you disable all interrupt sources in the VIC, and then start from scratch when you enable your handlers so that you do not inadvertantly leave any interrupts enabled that you did not intend to. From the info cpu command you can see that the interrupt vectors are at the base of sdram.

    If you want to keep LoLo's memory map and avoid writing any mmu code, you must use the jump command and not the exec command, or LoLo will turn off the mmu. See the LogicLoader manual for more information on load, info, jump, and exec.

    Sharp must have mmu and cache enable/disable code in their BlueStreak library, which can be downloaded from http://www.sharpsma.com. You can find all you need to know about the arm 9 core in this document from arm http://www.arm.com/pdfs/DDI0184B_922T_TRM.pdf. Re-enabling the cache is very simple and is covered in the arm manual.

    Good Luck,
    Bruce
    You are not authorized to post a reply.