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.

AM2434: How to configure GPIO MUX INTRTR0 router

Part Number: AM2434
Other Parts Discussed in Thread: SYSCONFIG

Hi expert,

     When I used SDK(8.4.0.17) demo code on AM243x Launch Pad, R5fss0_0 - GPIO IRQ module only has Router8 & Router9, but reference TRM R5fss0_0 - GPIO IRQ module should be set  from Router0 to Router15 

         

      I referenced the forums :. [FAQ] AM6442: How to configure the GPIO interrupt - Processors forum - Processors - TI E2E support forums

     In AM243x SDK file  " sciclient_defaultBoardcfg_rm.c " also set .num_resource = 2  & .start_resource = 8 to limit R5fss0_0 - GPIO IRQ module

            

          Can I change two paramters that is equal to .num_resource = 16  & .start_resource = 0, let R5fss0_0 - GPIO IRQ module to use all GPIO mux ?

          If I can, please tell me the modify method.

          I already tried to modify the source code & use makefile rebuild the all library of the SDK, but I can't get the correct result.

          So. please tell me the correct method to modify the Router setting.

Regards

Bolt

  • Hi

    I have assigned this thread to the expert and they'll be looking into this.

    Thanks

  • Hi Bolt,

    I was able to get this working in SDK 08.05 by hacking at it. Perhaps something isn't properly configured on my PC (e.g. node.js). I'll follow up with the SW Dev team to better understand how this is supposed to work.

    Steps I followed:

    #1: Modify resource allocation

    See https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_05_00_24/exports/docs/api_guide_am243x/RESOURCE_ALLOCATION_GUIDE.html

    Assign all Interrupt Router outputs to R5F0_0 in sciclient_defaultBoardcfg_rm.c (attached below).

    #2: Rebuild SYSFW board configuration

    See https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_05_00_24/exports/docs/api_guide_am243x/TOOLS_SYSFW.html#BOARCFG_GEN

    I'm using SBL NULL, so I had to rebuild it as a final step and reflash it to the LP:

    gmake -s -C examples/drivers/boot/sbl_null/am243x-lp/r5fss0-0_nortos/ti-arm-clang all

    Note the docs have "gmake -s libs" as the build command for the SBL, which is incorrect.

    #3: Modify C:\ti\mcu_plus_sdk_am243x_08_05_00_24\source\drivers\.meta\gpio\soc\getBoardConfigRm.js (attached below):

    • Remove "am62x" from boardConfigSocList. Without this change, if I click on "GET RM DATA" in Sysconfig, I see: 

    • Set board data output file as follows: outFile = "k3BoardConfig.json"
      • C:\ti\mcu_plus_sdk_am243x_08_05_00_24\source\drivers\.meta\gpio\v0\gpio_v0.syscfg.js expects the board data in this folder/file. With the default definition of "outFile", the k3BoardConfig.json file isn't updated.
      • With this change, "GET RM DATA" will generate "k3BoardConfig.json" in the Debug folder of the CCS project. Copy the generated "k3BoardConfig.json" to C:\ti\mcu_plus_sdk_am243x_08_05_00_24\source\drivers\.meta\gpio\soc.

    #4: You can now select any of the 16 router output in Sysconfig and recompile the application.

    Regards,
    Frank

    /cfs-file/__key/communityserver-discussions-components-files/908/2543.sciclient_5F00_defaultBoardcfg_5F00_rm.c

    /cfs-file/__key/communityserver-discussions-components-files/908/getBoardConfigRm.js

  • Hi Bolt,

    I confirmed this is a bug in the SDK. I filed a bug: MCUSDK-9398. This will be fixed in a future SDK release.

    Regards,
    Frank

  • Hi Frank,

        Thanks for your response.

        I tried this step, but I can't finish the Step #3 -  "GET RM DATA" in Sysconfig".

        Because I don't know how to get RM Data in Sysconfig, can you give me some step or reference to learn the operation of Sysconfig? 

        Sorry, the last week was chinese new year, so my response was late.

    Regards,

    Bolt

  • Hi Frank,

       Thanks for your check & response.

        Reference your step, which step would be happend the bug: MCUSDK-9398? 

        So, if I use SDK 8.5.0.24 and follow your step, I still can't configure GPIO MUX INTRTR0 router success, is right ?

    Regards,

    Bolt

  • Hi Bolt,

    Because I don't know how to get RM Data in Sysconfig,

    Click on the "GET RM DATA" in Sysconfig, GPIO configuration.

    Reference your step, which step would be happend the bug: MCUSDK-9398? 

    There are two related issues I filed for this bug:

    1. GET RM DATA doesn't work unless "am62x" is removed from boardConfigSocList in getBoardConfigRm.js
    2. getBoardConfigRm.js for Sysconfig interface to GPIO driver doesn't get updated board configuration data. Becuase of this, getBoardConfigRm.js can reject updated IR routes as being unavailable.
    So, if I use SDK 8.5.0.24 and follow your step, I still can't configure GPIO MUX INTRTR0 router success, is right ?

    You should be able to configure the IR routes in SDK 8.5.0.24 if you follow my steps.

    Regards,
    Frank

  • Hi Frank,

       Thanks for your response. I know that I can configure GPIO for above step.

       However, I clicked on the "GET RM DATA" in Sysconfig, GPIO configuration.
       The situation was happened as below figure, and then CCS was pause in this situation. 

        What configuration does need to set in CCS? 
        Or, other SW need to install in my pc?

    Regards,

    Bolt

  • Hi Bolt,

    Can you please try adding this to your system path?

    <CCS_ROOT>\ccs\tools\node

    Please let me know if this works. I don't see setup for node mentioned in the SDK setup docs.

    Regards,
    Frank

  • Hi Frank,

      Thanks for your response.
      I put <CCS_ROOT>\ccs\tools\node to my system path. That can success to run  "GET RM DATA" in Sysconfig
        But, If I put the path to top, Sysconfig will open fail. So, I put the path to bottom.

       I finish the all step, and then I can set to router3.

      However, I get the information of SCI event config failed when I run the .out in AM243x launch pad.
      How can I solve this problem ?

      

    Regards,
    Bolt

     

  • Hi Bolt,

    But, If I put the path to top, Sysconfig will open fail. So, I put the path to bottom.

    Thanks for sharing this observation. I also have C:\ti\ccs1210\ccs\utils\bin before the node path in my system path.

    I get the information of SCI event config failed when I run the .out in AM243x launch pad

    In addition to the steps I outlined above for "GET RM DATA", please be sure you carefully follow the steps in these docs: https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_05_00_24/exports/docs/api_guide_am243x/TOOLS_SYSFW.html#BOARCFG_GEN

    If you're using SBL NULL for SOC initialization, be sure you reflash SBL NULL to the LP as documented here: https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_05_00_24/exports/docs/api_guide_am243x/EVM_SETUP_PAGE.html#autotoc_md26

    If you're using CCS scripts for SOC initialization, be sure you properly update the sciclient_set_boardcfg application .out file. Copy

    • from <SDK>\examples\drivers\sciclient\sciclient_set_boardcfg\am243x-lp\r5fss0-0_nortos\ti-arm-clang\sciclient_set_boardcfg.release.out
    • to   <SDK>\tools\ccs_load\am243x\ folder.

    If your application is in Debug build mode, it will link the Debug libraries, so I recommend building debug and release libraries as follows:

    • release: gmake -s libs
    • debug: gmake -s libs PROFILE=debug

    I was able to change the GPIO example to use ROUTER7 output:

    I've attached the complete CCS project below.

    Let me know how it goes.

    Regards,
    Frank

    6443.gpio_input_interrupt_am243x-lp_r5fss0-0_nortos_ti-arm-clang.zip

  • Hi Frank,

        Thanks for your response.  I am successful with the GPIO configuration and application. 

       I re-executed the SYSFW Board Config Generation as figured below. Step3 changed to the new command of your description. 

        I use SBL NULL for SOC initialization, so I reflash SBL NULL to the LP that switch to UART BOOT MODE.

       Finally, I was able to change the GPIO example to use ROUTER3 output in QSPI Boot mode.

    Regards,
    Bolt