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.

AM335x EVM GPIO1 Memory Shows Question Marks during debug

Using CCS 6: XDS200 debugger connected to an EVMAM3359 evaluation board. Software uses the TI-RTOS and some of the interrupts work just fine.

I've been trying ( for a long while) just to get GPIO1_16 on the J16 MAVRK to toggle.

It appears that my memory mapping is incorrect OR the EVMAM33589 is  blocking out my memory starting at AM335X_GPIO1_BASE  = 0x4804C000.

When my code tries to configure the GPIO1 port, it generates an error -CODE:

void GPIOModuleDisable(unsigned int baseAdd)
{
    /* Setting the DISABLEMODULE bit in Control(CTRL) register. */
    HWREG(baseAdd + GPIO_CTRL) |= (GPIO_CTRL_DISABLEMODULE);
}

When I debug the code just before the HWREG macro, I get the following the Memory Browser below showing questions marks.

Any ideas what I am missing? (I have only tried mode 0 and 7 on the CPLD dip switches on the daughter board)

  • Hi Rob,

    Which software package are you trying to run on the AM335X GP EVM? Industrial SDK is designed to run on the ICE board.

  • ROB KALIS said:
    When I debug the code just before the HWREG macro, I get the following the Memory Browser below showing questions marks

    The question marks mean that the Memory Browser isn't able to read the GPIO1 registers. After a device reset the GPIO1 module is disabled, meaning the GPIO1 registers can't be accessed by the Memory Browser or by a running program (the running program will get a data abort it if attempts to access registers in a disabled peripheral).

    To enable the GPIO1 module, use the function GPIO1ModuleClkConfig function from the AM335x StarterWare platform/evmskAM335x/gpio.c

    ROB KALIS said:
    Software uses the TI-RTOS and some of the interrupts work just fine.

    If the MMU is enabled in TI-RTOS (SYS/BIOS), you may need to add code to the TR-RTOS .cfg file to map peripheral registers via the MMU - see https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/420367 for an example.