ColdFire V2, Edge Port Module, Supervisor Mod

dctowery wrote on Sunday, July 10, 2011:

Hi, I have a naive question that I can’t answer myself because my dev board blew up and I’m waiting on a new one. I’m completely new to programming ColdFires at the register level, and I’m trying to antipicate a problem that may crop up.

I’m coding for the M52221Demo board (FreeScale ColdFire V2 MCF52221) and I need to configure a couple of IRQ lines in the EdgePort module. According to the FreeScale manual, the following registers can only be accessed in Supervisor mode:
    EPPAR (pin assignment reg), EPDDR (data direction reg), EPIER (interrupt enable reg).
The demo code for the 52221 doesn’t illustrate any use of IRQs.  How do I best access these registers to configure the IRQ lines? Do I have to set Supervisor Mode? If so, does FreeRTOS provide any easy way to do this? If not, I guess I have to mess with the System Control Module - can anyone summarize the steps I need to take there to enter and exit Supervisor mode?  Any example code (or just pointers to the best sections to read in the 52221 Ref Manual) would be appreciated.

dctowery wrote on Sunday, July 10, 2011:

I just answered my own question. I should have read further down the documentation page for the 52221Demo board. All tasks run with supervisor privileges anyway (thank goodness!), so it’s not an issue.