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.

MCU-PLUS-SDK-AM243X: BoardCfg-Changes with 08.06

Part Number: MCU-PLUS-SDK-AM243X

Hello,

so we updated to SDK 08.06 but suddenly some of our interrupts did not work anymore.

Previously we needed to manipulate the boardcfg for rm. We use 4 mcu-pins as interrupts and therefore we needed to change one assigned ressource to M4F to R5F_0_0 in the sciclient_defaultBoardcfg_rm.c. That works. I updated the SDK and saw that now this setting is default in the sciclient_defaultBoardcfg_rm.c and thought I do not need to do anything then and can use the default boardcfg from now on. unfortunately It did not work once. No interrupt came up.
Since we created the interrupts manually based on the example, since SysCfg did not generate the interrupts before, I checked what SysCfg would do with the same settings now and it used a CSLR_R5FSS0_CORE0_INTR_MAIN_GPIOMUX_INTROUTER0_OUTP_X instead of an CSLR_R5FSS0_CORE0_INTR_MCU_MCU_GPIOMUX_INTROUTER0_OUTP_X, that we used before. I am not sure but that sounds wrong?
Also somehow for a tisci_msg_rm_irq_release_req.src_id for MCU there is an offset by 30 now used as a base. Before it was just the raw pin-number.

So we did not get it to work and just used the old boardcfg again (without that 30+ offset for mcu src-index) and everything worked.
We then checked what is different and tried to generate our own board-cfg new and here we saw a change in the boardcfg-generation. previously the python blob-gen had a dev-grp option set to 0. now it is DEVGRP_MAIN. when we changed it back to 0 it works with the new SDK-generated boardcfg.
It's this place in the makefile at tools/sysfw/boardcfg/makefile:

$(PYTHON) $(BLOB_GEN) --sw-rev 1 --devgrp $(DEVGRP_MAIN) --bcfg $(BCFG) --bcfg-rm $(BCFG_RM) --bcfg-pm $(BCFG_PM) --bcfg-sec $(BCFG_SEC) --output-file $(BCFG_BLOB_FILE)

and how it looked before (changing --devGrp back to 0 works!)

$(PYTHON) $(BLOB_GEN) --sw-rev 1 --devgrp 0 --bcfg $(BCFG) --bcfg-rm $(BCFG_RM) --bcfg-pm $(BCFG_PM) --bcfg-sec $(BCFG_SEC) --output-file $(BCFG_BLOB_FILE)

Unfortunately also without any code-changes at our side and without that 30+ index for MCU.

Are there still some small mistakes in the boardcfg-creation and in the interrupt-routing? Or did we understand something wrong?

Also the RESPART-Tool does not really work for us. it somehow destroys our SysCfg-installations or throws a lot of different errors.

Best regards

Felix

  • Unfortunately it seems that also other products of us which did all those settings manually are not working any more. They used the MAIN-Routers 1 and 2 with MAIN_GPIO_1. I would have thought that it would still work, since SysCfg would generate the same code with 08.06. But it does not work. How can we fix that? Settings are the same like in the previous post:
    rm (unchanged) from SDK 08.06 and built boardcfg with devgrp 0 (ALL).

  • Hi Felix,

    Can you show me a screenshot of the error thrown by the respart syscfg tool? Also, there are some differences in the MCU configuration which were done in 08.06 w.r.t reset isolation in M4 because of which we changed the DEV GRP settings. That could be reason for this issue. Can you also send me the previous working RM boardcfg here? I can help to get the same functional configuration working with the respart tool.

    Regards,
    Anand Mahadevan SS

  • Hey Anand,

    so suddenly with SDK 09 the respart tool works? dunno, but it's fine now. We already changed the interrupt-routings wehich seemed to be the main-issues here. Now we got it at least working on both devices, but somehow we are still experiencing not working interrupts now on only hs-fs-devices. I will need to investigate this before I come up with more information.

    Regards,

    Felix

  • Felix,

    Glad to hear it's working now at least partially. Interrupts not working could be unrelated to the boardcfg as well. Is this only for GPIO? Let me know once you have more information.

    Regards,
    Anand Mahadevan SS