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 22 Oct 2015 10:14 AM by  chad.grant
uP_GPIO_1
 5 Replies
Sort:
You are not authorized to post a reply.
Author Messages
chad.grant
New Member
New Member
Posts:18


--
21 Oct 2015 04:20 PM

    Hi,

    Still working on porting the DM3730 to work on our board that was originally developed for the iMX31. We were using a GPIO pin that is now connected to uP_GPIO_1 of the DM3730. I've set it up using the GPIO library:

    #define T_RADIO_BIN             (GPIO_11)


        GPIOHandle = GPIOOpen();


        GPIOSetMode(GPIOHandle, T_RADIO_BIN, GPIO_DIR_OUTPUT);


        GPIOSetBit(GPIOHandle, T_RADIO_BIN);


        GPIOClose(GPIOHandle);


     

    But when I put a logic analyzer on it, instead of it being at 1.8V it is going up and down as though something else is controlling it.

    I even tried setting the CONTROL_PADCONF register to make sure it was set up to go through GPIO_11:

    #define JTAG_EMU0               (0x48002A24)

        SetDWordAndValue(JTAG_EMU0, 0xFFFF0000);
        SetDWordOrValue(JTAG_EMU0, 0x00000004);

    I can see in the schematic that this pin is also EMU_0 and connected to a header, is that what is causing problems, and if so how do I turn it off?

    Thanks,

    Chad

    Stephen Bell
    New Member
    New Member
    Posts:5


    --
    22 Oct 2015 07:17 AM
    What OS are you using?
    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    22 Oct 2015 08:41 AM
    I assume you're using Windows CE with Logic Loader. My first instinct is that the pin Muxing is setup for JTAG. I have to do a little digging. I am off site today without a SOM-LV to test but I can try to point you to the information.

    If you download the DM3730 Techincal Reference Manual from TI (http://www.ti.com/lit/pdf/sprugn4) look for Table 13-6.

    In there is lists the pins, addresses and functions.

    CONTROL_PADCONF_JTAG_EMU0[15:0] 0x4800 2A24 must be set to MODE4 in order for it to act as GPIO.

    Hopefully that can help get you moving toward the direction you need. When I get back in the office, I'll try to test it on a SOM-LV.

    adam

    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    22 Oct 2015 08:43 AM
    You might want to try to modify the register in Logic Loader.

     

    I re-read your message, and it also looks like you're overriding the high bits to 0 in addition to the low bits.  I don't know if that is your intent, but it will make GPIO_31 muxed to the JTAG.

     

    I would suggest reading the contents of the register and change just the bottom bits [0:15].  If you don't want to use GPIO_31, you should leave it in safe mode.

     

    adam

    bradb
    Basic Member
    Basic Member
    Posts:203


    --
    22 Oct 2015 09:22 AM
    Chad,

    In WinCE, gpio_11 (uP_GPIO_01) is being used as a debug LED. Changes to the OEMWriteDebugLED function in platform\logic_arm_a8\src\oal\oallib\debug.c will be required before you can use gpio_11 (uP_GPIO_01) in your application.

    In Linux, gpio_11 (uP_GPIO_01) is also being used as a debug LED. Changes to the GPIO_LED2_SOM_LV define seen in arch/arm/mach-omap2/board-omap3logic.c at line 522 will be required before you can use gpio_11 (uP_GPIO_01) in your application.

    Best Regards,
    Brad
    chad.grant
    New Member
    New Member
    Posts:18


    --
    22 Oct 2015 10:14 AM
    Thanks for your help Adam and Brad. I am using WinCE and it was the OEMWriteDebugLED function in debug.c that was causing the problem. Thanks for pointing me in the right direction.

    Chad
    You are not authorized to post a reply.