This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSP access to peripherals - Beagleboard

Hi Folks -

I've been trying to access some of the peripherals (GPIO, McBSP) on the Beagleboard expansion header from the DSP (through DSPLink) and haven't seemed to be able to find the magic combination of settings.

- I think I have the PIN MUX settings correct.  I can toggle the gpio pins using the Linux (Angstrom) /sys/class/gpio method.  Does this mean I need to disable ALL GPIO capabilities in the kernel in order to use them in the DSP?

- Do I need to set up the MMU to be able to access the peripheral registers or is this handled by DSPLink?  Are the memory locations the same or are they mapped elsewhere in the DSP?

- It's possible I'm just missing something in the register configuration.  Based on another post here, in order to toggle GPIO bits I'm doing the following:

---- Enable the Functional and Interface clocks (should be done already - the user LED's on the beagleboard are in the same bank I'm trying to use.)

---- Clear the outputenable bits to make the GPIO bits outputs.

---- Set the bits in the Set/ClearDataOut registers to toggle the appropriate GPIO pins.

 

Seems like not many people are using the peripherals via the DSP, so I'm having a hard time finding solid advice here.

Thanks much for your help!

Joe.

  • Here is another piece of information - when I connect with a JTAG emulator and view the memory locations for GPIO Bank5 (0x49056000) in CCS, I can see one of the DATAOUT bits changing (one of the board LED's is configured as a "heartbeat" under linux) but I am unable to make any changes to those memory locations to toggle pins of my own.  Is this a memory map or a cache problem that I am not understanding?

    Thanks,

    Joe.