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.

CC2538: CC2538

Part Number: CC2538

I am trying to read the state of the GPIO pins while running the Bootloader in UART mode. I am attempting to test the GPIO pins for stuck-at conditions on an In-circuit tester by doing COMMAND_MEMORY_READ with the bootloader from the GPIO_DATA registers, but all I get are 0s, even when the GPIO pins are driven to logic high. Is there some setup I need to do to make the GPIO module come to life? Everything is at RESET default. I know the Bootloader is working because I am able to erase and program the flash and get predictable CRC32s. Are the GPIO registers even available to me with the bootloader? If not, let me know so I don't keep attempting something that won't happen.

  • I have forwarded this case to an expert on bootloader and I will see if he gets back to me. 

  • I haven't checked the register descriptions but the feedback I got is that the IOs may be set default to output so it may be that you have to set those to input first (Note: You have to be somewhat careful to avoid changing the state of the pins used by the bootloader. 

  • I checked the register description and the User's Guide 9.3.1.1.1 says that the GPIO_DIR registers are all RESET default = 00, (Input). I also did a MEMORY_READ command of all 4 of these registers just to keep the User's Guide honest. They all contained 0x00.

    Yesterday I did some guessing and I discovered that, if I write write 0xFF to the GPIO_IOE, I can read GPIO_RIS, and that register returns the inverted state of the GPIO pin. So I am going to use that as my test, and consider this problem solved with alternate solution.