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.

SYSCONFIG: Incorrect RTI4 Clock Source register on AM263P4 part

Part Number: SYSCONFIG
Other Parts Discussed in Thread: AM263P4, AM263P4-Q1

Tool/software:

While setting up timer operations, I noticed that I was not generating the expected frequencies from RTI4.  No matter what I did it seemed to be running off of the WUCPUCLK at 25Mhz instead of the SYS_CLK at 200Mhz.  Reviewing the code generated by SysConfig in the ti_drivers_config.h file, the CONFIG_ADC_TIMER4_CLOCK_SRC_MUX_ADDR is set to a value of 0x53208124u, which is not defined in the SPRUJ57 Register Addendum document. That document shows the CFG0_RTI4_CLK_SRC_SEL Registers as 0x5320819C.

To verify that this was incorrect, I changed the Timer Instance to RTI1. The value of CONFIG_ADC_TIMER4_CLOCK_SRC_MUX_ADDR is then set to 0x53208118u which is the CFG0_RTI1_CLK_SRC_SEL Register according to the register addendum.

  • Hi Nathan,

    Thanks for pointing this out. Let me verify this on my end and raise a bug internally to get this fixed appropriately.

    Regards,
    Shaunak

  • Hi Nathan,

    Can you let me know the MCU+ SDK version you are using? 

    No matter what I did it seemed to be running off of the WUCPUCLK at 25Mhz instead of the SYS_CLK at 200Mhz.

    Did you set the clock source as SYS_CLK in RTI Syscfg. The default is WUCPUCLK at 25MHz.

    Do you mind sharing your example.syscfg file?

    Regards.
    Shaunak

  • I am currently running MCU+ SDK for AM263Px version 10.1.0.31. You can see from the file that I have an RTI instance set to use RTI4 with a clock source of SYS_CLK.  When this generates code, the CONFIG_ADC_TIMER4_CLOCK_SRC_MUX_ADDR is set to a value of 0x53208124u which is incorrect.

    sysconfig file:

    /**
    * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
    * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
    * @cliArgs --device "AM263Px" --part "AM263P4" --package "ZCZ_S" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM263Px@10.01.00"
    * @v2CliArgs --device "AM263P4-Q1" --package "NFBGA (ZCZ-S)" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM263Px@10.01.00"
    * @versions {"tool":"1.22.0+3893"}
    */

    /**
    * Import the modules used in this configuration.
    */
    const eeprom = scripting.addModule("/board/eeprom/eeprom", {}, false);
    const eeprom1 = eeprom.addInstance();
    const pmic = scripting.addModule("/board/pmic/pmic", {}, false);
    const pmic1 = pmic.addInstance();
    const adc = scripting.addModule("/drivers/adc/adc", {}, false);
    const adc1 = adc.addInstance();
    const edma = scripting.addModule("/drivers/edma/edma", {}, false);
    const edma1 = edma.addInstance();
    const gpio = scripting.addModule("/drivers/gpio/gpio", {}, false);
    const gpio1 = gpio.addInstance();
    const gpio2 = gpio.addInstance();
    const i2c = scripting.addModule("/drivers/i2c/i2c", {}, false);
    const i2c1 = i2c.addInstance();
    const i2c2 = i2c.addInstance();
    const mcan = scripting.addModule("/drivers/mcan/mcan", {}, false);
    const mcan1 = mcan.addInstance();
    const mcan2 = mcan.addInstance();
    const mcan3 = mcan.addInstance();
    const mcspi = scripting.addModule("/drivers/mcspi/mcspi", {}, false);
    const mcspi1 = mcspi.addInstance();
    const rti = scripting.addModule("/drivers/rti/rti", {}, false);
    const rti1 = rti.addInstance();
    const debug_log = scripting.addModule("/kernel/dpl/debug_log");
    const dpl_cfg = scripting.addModule("/kernel/dpl/dpl_cfg");
    const mpu_armv7 = scripting.addModule("/kernel/dpl/mpu_armv7", {}, false);
    const mpu_armv71 = mpu_armv7.addInstance();
    const mpu_armv72 = mpu_armv7.addInstance();
    const mpu_armv73 = mpu_armv7.addInstance();
    const mpu_armv74 = mpu_armv7.addInstance();
    const mpu_armv75 = mpu_armv7.addInstance();
    const mpu_armv76 = mpu_armv7.addInstance();
    const mpu_armv77 = mpu_armv7.addInstance();
    const timer = scripting.addModule("/kernel/dpl/timer", {}, false);
    const timer1 = timer.addInstance();
    const default_linker = scripting.addModule("/memory_configurator/default_linker", {}, false);
    const default_linker1 = default_linker.addInstance();
    const general = scripting.addModule("/memory_configurator/general", {}, false);
    const general1 = general.addInstance();
    const region = scripting.addModule("/memory_configurator/region", {}, false);
    const region1 = region.addInstance();
    const section = scripting.addModule("/memory_configurator/section", {}, false);
    const section1 = section.addInstance();
    const section2 = section.addInstance();
    const section3 = section.addInstance();
    const section4 = section.addInstance();
    const section5 = section.addInstance();
    const section6 = section.addInstance();
    const section7 = section.addInstance();
    const section8 = section.addInstance();
    const section9 = section.addInstance();
    const section10 = section.addInstance();
    const section11 = section.addInstance();
    const section12 = section.addInstance();
    const section13 = section.addInstance();
    const int_xbar = scripting.addModule("/xbar/int_xbar/int_xbar", {}, false);
    const int_xbar1 = int_xbar.addInstance();

    /**
    * Write custom configuration values to the imported modules.
    */
    eeprom1.$name = "CONFIG_EEPROM0";

    pmic1.$name = "CONFIG_PMIC0";

    adc1.$name = "CONFIG_ADC0";
    adc1.soc11Channel = "ADC_CH_ADCIN1";
    adc1.soc12Channel = "ADC_CH_ADCIN2";
    adc1.soc13Channel = "ADC_CH_ADCIN3";
    adc1.soc14Channel = "ADC_CH_ADCIN4";
    adc1.soc15Channel = "ADC_CH_ADCIN5";
    adc1.interruptPulseMode = "ADC_PULSE_END_OF_CONV";
    adc1.enableConverter = true;
    adc1.enableInterrupt1ContinuousMode = true;
    adc1.adcClockPrescaler = "ADC_CLK_DIV_3_0";
    adc1.burstTrigger = "ADC_TRIGGER_RTI1";
    adc1.socHighPriorityMode = "ADC_PRI_THRU_SOC9_HIPRI";
    adc1.interrupt1SOCSource = "ADC_SOC_NUMBER15";
    adc1.enableBurstMode = true;
    adc1.burstSize = 6;
    adc1.enableInterrupt1 = true;
    adc1.ADC.$assign = "ADC0";
    adc1.ADC.AIN0.$assign = "ADC0_AIN0";
    adc1.ADC.AIN1.$assign = "ADC0_AIN1";
    adc1.ADC.AIN2.$assign = "ADC0_AIN2";
    adc1.ADC.AIN3.$assign = "ADC0_AIN3";
    adc1.ADC.AIN4.$assign = "ADC0_AIN4";
    adc1.ADC.AIN5.$assign = "ADC0_AIN5";

    gpio1.$name = "GPIO_LED_RED";
    gpio1.pinDir = "OUTPUT";
    gpio1.GPIO_n.$assign = "LIN2_TXD";

    gpio2.$name = "GPIO_LED_GREEN";
    gpio2.pinDir = "OUTPUT";
    gpio2.GPIO_n.$assign = "EPWM11_B";

    i2c1.$name = "CONFIG_I2C0";
    i2c1.I2C.$assign = "I2C2";
    i2c1.I2C.SCL.$assign = "UART0_RTSn";
    i2c1.I2C.SDA.$assign = "UART0_CTSn";
    i2c1.I2C_child.$name = "drivers_i2c_v1_i2c_v1_template0";

    i2c2.$name = "EEPROM_I2C_CONFIG";
    eeprom1.peripheralDriver = i2c2;
    i2c2.I2C.$assign = "I2C0";
    i2c2.I2C.SCL.$assign = "I2C0_SCL";
    i2c2.I2C.SDA.$assign = "I2C0_SDA";
    i2c2.I2C_child.$name = "drivers_i2c_v1_i2c_v1_template1";

    mcan1.nomRatePrescalar = 7;
    mcan1.dataRatePrescalar = 7;
    mcan1.dataTimeSeg1 = 15;
    mcan1.dataTimeSeg2 = 2;
    mcan1.$name = "CONFIG_CAN1";
    mcan1.MCAN.$assign = "MCAN4";
    mcan1.MCAN.RX.slewRate = "high";
    mcan1.MCAN.RX.$assign = "EPWM9_A";
    mcan1.MCAN.TX.slewRate = "high";
    mcan1.MCAN.TX.$assign = "EPWM9_B";

    mcan2.nomRatePrescalar = 7;
    mcan2.dataRatePrescalar = 7;
    mcan2.dataTimeSeg1 = 15;
    mcan2.dataTimeSeg2 = 2;
    mcan2.$name = "CONFIG_CAN2";
    mcan2.MCAN.$assign = "MCAN5";

    mcan3.nomRatePrescalar = 7;
    mcan3.dataRatePrescalar = 7;
    mcan3.dataTimeSeg1 = 15;
    mcan3.dataTimeSeg2 = 2;
    mcan3.$name = "CONFIG_CAN3";
    mcan3.MCAN.$assign = "MCAN2";

    const mcan_v1_template = scripting.addModule("/drivers/mcan/v1/mcan_v1_template", {}, false);
    const mcan_v1_template1 = mcan_v1_template.addInstance({}, false);
    mcan_v1_template1.$name = "drivers_mcan_v1_mcan_v1_template0";
    mcan1.child = mcan_v1_template1;
    mcan2.child = mcan_v1_template1;
    mcan3.child = mcan_v1_template1;

    mcspi1.$name = "CONFIG_MCSPI0";
    pmic1.peripheralDriver = mcspi1;
    mcspi1.SPI.$assign = "SPI1";
    mcspi1.mcspiChannel[0].$name = "CONFIG_MCSPI_CH0";
    mcspi1.child.$name = "drivers_mcspi_v1_mcspi_v1_template0";

    edma1.$name = "CONFIG_EDMA0";
    mcspi1.edmaDriver = edma1;
    edma1.edmaRmDmaCh[0].$name = "CONFIG_EDMA_RM0";
    edma1.edmaRmQdmaCh[0].$name = "CONFIG_EDMA_RM1";
    edma1.edmaRmTcc[0].$name = "CONFIG_EDMA_RM2";
    edma1.edmaRmParam[0].$name = "CONFIG_EDMA_RM3";

    rti1.clkSource = "SYS_CLK";
    rti1.counter0Enable = true;
    rti1.cntr0OpFreq = 32000;
    rti1.enableIntr1 = true;
    rti1.intrPriority1 = 3;
    rti1.compare0Enable = true;
    rti1.usecPerTick0 = 31.25;
    rti1.enableIntr0 = true;
    rti1.intrPriority0 = 3;
    rti1.$name = "CONFIG_ADC_TIMER4";
    rti1.eventCallback0 = "test_interrupt";
    rti1.RTI.$assign = "RTI4";

    const soc_ctrl_adc = scripting.addModule("/drivers/soc_ctrl/v0/subModules/soc_ctrl_adc", {}, false);
    const soc_ctrl_adc1 = soc_ctrl_adc.addInstance({}, false);
    soc_ctrl_adc1.$name = "soc_ctrl_adc0";
    adc.adcReferences = soc_ctrl_adc1;
    const soc_ctrl = scripting.addModule("/drivers/soc_ctrl/soc_ctrl", {}, false);
    soc_ctrl.soc_ctrl_adc = soc_ctrl_adc1;

    const soc_ctrl_cmpss = scripting.addModule("/drivers/soc_ctrl/v0/subModules/soc_ctrl_cmpss", {}, false);
    const soc_ctrl_cmpss1 = soc_ctrl_cmpss.addInstance({}, false);
    soc_ctrl_cmpss1.$name = "soc_ctrl_cmpss0";
    soc_ctrl.soc_ctrl_cmpss = soc_ctrl_cmpss1;

    const soc_ctrl_epwm = scripting.addModule("/drivers/soc_ctrl/v0/subModules/soc_ctrl_epwm", {}, false);
    const soc_ctrl_epwm1 = soc_ctrl_epwm.addInstance({}, false);
    soc_ctrl_epwm1.$name = "soc_ctrl_epwm0";
    soc_ctrl.soc_ctrl_epwm = soc_ctrl_epwm1;

    const soc_ctrl_sdfm = scripting.addModule("/drivers/soc_ctrl/v0/subModules/soc_ctrl_sdfm", {}, false);
    const soc_ctrl_sdfm1 = soc_ctrl_sdfm.addInstance({}, false);
    soc_ctrl_sdfm1.$name = "soc_ctrl_sdfm0";
    soc_ctrl.soc_ctrl_sdfm = soc_ctrl_sdfm1;

    debug_log.enableUartLog = true;
    debug_log.uartLog.$name = "CONFIG_UART0";
    debug_log.uartLog.UART.$assign = "UART0";
    debug_log.uartLog.UART.RXD.$assign = "UART0_RXD";
    debug_log.uartLog.UART.TXD.$assign = "UART0_TXD";
    debug_log.uartLog.child.$name = "drivers_uart_v2_uart_v2_template0";

    mpu_armv71.$name = "CONFIG_MPU_REGION0";
    mpu_armv71.size = 31;
    mpu_armv71.attributes = "Device";
    mpu_armv71.accessPermissions = "Supervisor RD+WR, User RD";
    mpu_armv71.allowExecute = false;

    mpu_armv72.$name = "CONFIG_MPU_REGION1";
    mpu_armv72.size = 15;
    mpu_armv72.accessPermissions = "Supervisor RD+WR, User RD";

    mpu_armv73.$name = "CONFIG_MPU_REGION2";
    mpu_armv73.baseAddr = 0x80000;
    mpu_armv73.size = 15;
    mpu_armv73.accessPermissions = "Supervisor RD+WR, User RD";

    mpu_armv74.$name = "CONFIG_MPU_REGION3";
    mpu_armv74.accessPermissions = "Supervisor RD+WR, User RD";
    mpu_armv74.baseAddr = 0x70000000;
    mpu_armv74.size = 21;

    mpu_armv75.$name = "CONFIG_MPU_REGION4";
    mpu_armv75.baseAddr = 0x50D00000;
    mpu_armv75.size = 14;
    mpu_armv75.allowExecute = false;
    mpu_armv75.attributes = "Device";

    mpu_armv76.$name = "CONFIG_MPU_REGION5";
    mpu_armv76.baseAddr = 0x72000000;
    mpu_armv76.size = 14;
    mpu_armv76.allowExecute = false;
    mpu_armv76.attributes = "NonCached";

    mpu_armv77.$name = "CONFIG_MPU_REGION6";
    mpu_armv77.baseAddr = 0x701D0000;
    mpu_armv77.allowExecute = false;
    mpu_armv77.attributes = "NonCached";
    mpu_armv77.size = 15;

    timer1.$name = "CONFIG_TIMER0";
    timer1.intrPriority = 5;
    timer1.timerCallback = "Timer_Tick_1ms_Interrupt";
    timer1.RTI.$assign = "RTI1";

    default_linker1.$name = "memory_configurator_default_linker0";

    general1.$name = "CONFIG_GENERAL0";
    general1.linker.$name = "TIARMCLANG0";

    region1.$name = "MEMORY_REGION_CONFIGURATION0";
    region1.memory_region.create(12);
    region1.memory_region[0].type = "TCMA";
    region1.memory_region[0].$name = "R5F_VECS";
    region1.memory_region[0].size = 0x40;
    region1.memory_region[0].auto = false;
    region1.memory_region[1].type = "TCMA";
    region1.memory_region[1].$name = "R5F_TCMA";
    region1.memory_region[1].size = 0x7FC0;
    region1.memory_region[2].type = "TCMB";
    region1.memory_region[2].size = 0x8000;
    region1.memory_region[2].$name = "R5F_TCMB";
    region1.memory_region[3].$name = "SBL";
    region1.memory_region[3].auto = false;
    region1.memory_region[3].size = 0x40000;
    region1.memory_region[4].$name = "OCRAM";
    region1.memory_region[4].auto = false;
    region1.memory_region[4].manualStartAddress = 0x70040000;
    region1.memory_region[4].size = 0x60000;
    region1.memory_region[5].type = "FLASH";
    region1.memory_region[5].auto = false;
    region1.memory_region[5].manualStartAddress = 0x60100000;
    region1.memory_region[5].size = 0x80000;
    region1.memory_region[5].$name = "FLASH";
    region1.memory_region[6].$name = "USER_SHM_MEM";
    region1.memory_region[6].auto = false;
    region1.memory_region[6].manualStartAddress = 0x701D0000;
    region1.memory_region[6].size = 0x4000;
    region1.memory_region[6].isShared = true;
    region1.memory_region[6].shared_cores = ["r5fss0-1","r5fss1-0","r5fss1-1"];
    region1.memory_region[7].$name = "LOG_SHM_MEM";
    region1.memory_region[7].auto = false;
    region1.memory_region[7].manualStartAddress = 0x701D4000;
    region1.memory_region[7].size = 0x4000;
    region1.memory_region[7].isShared = true;
    region1.memory_region[7].shared_cores = ["r5fss0-1","r5fss1-0","r5fss1-1"];
    region1.memory_region[8].type = "CUSTOM";
    region1.memory_region[8].$name = "RTOS_NORTOS_IPC_SHM_MEM";
    region1.memory_region[8].auto = false;
    region1.memory_region[8].manualStartAddress = 0x72000000;
    region1.memory_region[8].size = 0x3E80;
    region1.memory_region[8].isShared = true;
    region1.memory_region[8].shared_cores = ["r5fss0-1","r5fss1-0","r5fss1-1"];
    region1.memory_region[9].type = "CUSTOM";
    region1.memory_region[9].$name = "MAILBOX_HSM";
    region1.memory_region[9].auto = false;
    region1.memory_region[9].manualStartAddress = 0x44000000;
    region1.memory_region[9].size = 0x3CE;
    region1.memory_region[9].isShared = true;
    region1.memory_region[9].shared_cores = ["r5fss0-1","r5fss1-0","r5fss1-1"];
    region1.memory_region[10].type = "CUSTOM";
    region1.memory_region[10].$name = "MAILBOX_R5F";
    region1.memory_region[10].auto = false;
    region1.memory_region[10].manualStartAddress = 0x44000400;
    region1.memory_region[10].size = 0x3CE;
    region1.memory_region[10].isShared = true;
    region1.memory_region[10].shared_cores = ["r5fss0-1","r5fss1-0","r5fss1-1"];
    region1.memory_region[11].type = "CUSTOM";
    region1.memory_region[11].$name = "PRU_0_DMEM1";
    region1.memory_region[11].auto = false;
    region1.memory_region[11].size = 0x2000;
    region1.memory_region[11].manualStartAddress = 0x48002000;

    section1.load_memory = "R5F_VECS";
    section1.group = false;
    section1.$name = "Vector Table";
    section1.output_section.create(1);
    section1.output_section[0].$name = ".vectors";
    section1.output_section[0].palignment = true;

    section2.load_memory = "OCRAM";
    section2.$name = "Text Segments";
    section2.output_section.create(5);
    section2.output_section[0].$name = ".text.hwi";
    section2.output_section[0].palignment = true;
    section2.output_section[1].$name = ".text.cache";
    section2.output_section[1].palignment = true;
    section2.output_section[2].$name = ".text.mpu";
    section2.output_section[2].palignment = true;
    section2.output_section[3].$name = ".text.boot";
    section2.output_section[3].palignment = true;
    section2.output_section[4].$name = ".text:abort";
    section2.output_section[4].palignment = true;

    section3.load_memory = "OCRAM";
    section3.$name = "Code and Read-Only Data";
    section3.output_section.create(2);
    section3.output_section[0].$name = ".text";
    section3.output_section[0].palignment = true;
    section3.output_section[1].$name = ".rodata";
    section3.output_section[1].palignment = true;

    section4.load_memory = "OCRAM";
    section4.$name = "Data Segment";
    section4.output_section.create(1);
    section4.output_section[0].$name = ".data";
    section4.output_section[0].palignment = true;

    section5.load_memory = "OCRAM";
    section5.$name = "Memory Segments";
    section5.output_section.create(3);
    section5.output_section[0].$name = ".bss";
    section5.output_section[0].output_sections_start = "__BSS_START";
    section5.output_section[0].output_sections_end = "__BSS_END";
    section5.output_section[0].palignment = true;
    section5.output_section[1].$name = ".sysmem";
    section5.output_section[1].palignment = true;
    section5.output_section[2].$name = ".stack";
    section5.output_section[2].palignment = true;

    section6.load_memory = "OCRAM";
    section6.$name = "Stack Segments";
    section6.output_section.create(5);
    section6.output_section[0].$name = ".irqstack";
    section6.output_section[0].output_sections_start = "__IRQ_STACK_START";
    section6.output_section[0].output_sections_end = "__IRQ_STACK_END";
    section6.output_section[0].input_section.create(1);
    section6.output_section[0].input_section[0].$name = ". = . + __IRQ_STACK_SIZE;";
    section6.output_section[1].$name = ".fiqstack";
    section6.output_section[1].output_sections_start = "__FIQ_STACK_START";
    section6.output_section[1].output_sections_end = "__FIQ_STACK_END";
    section6.output_section[1].input_section.create(1);
    section6.output_section[1].input_section[0].$name = ". = . + __FIQ_STACK_SIZE;";
    section6.output_section[2].$name = ".svcstack";
    section6.output_section[2].output_sections_start = "__SVC_STACK_START";
    section6.output_section[2].output_sections_end = "__SVC_STACK_END";
    section6.output_section[2].input_section.create(1);
    section6.output_section[2].input_section[0].$name = ". = . + __SVC_STACK_SIZE;";
    section6.output_section[3].$name = ".abortstack";
    section6.output_section[3].output_sections_start = "__ABORT_STACK_START";
    section6.output_section[3].output_sections_end = "__ABORT_STACK_END";
    section6.output_section[3].input_section.create(1);
    section6.output_section[3].input_section[0].$name = ". = . + __ABORT_STACK_SIZE;";
    section6.output_section[4].$name = ".undefinedstack";
    section6.output_section[4].output_sections_start = "__UNDEFINED_STACK_START";
    section6.output_section[4].output_sections_end = "__UNDEFINED_STACK_END";
    section6.output_section[4].input_section.create(1);
    section6.output_section[4].input_section[0].$name = ". = . + __UNDEFINED_STACK_SIZE;";

    section7.load_memory = "OCRAM";
    section7.$name = "Initialization and Exception Handling";
    section7.output_section.create(3);
    section7.output_section[0].$name = ".ARM.exidx";
    section7.output_section[0].palignment = true;
    section7.output_section[1].$name = ".init_array";
    section7.output_section[1].palignment = true;
    section7.output_section[2].$name = ".fini_array";
    section7.output_section[2].palignment = true;

    section8.load_memory = "USER_SHM_MEM";
    section8.type = "NOLOAD";
    section8.$name = "User Shared Memory";
    section8.group = false;
    section8.output_section.create(1);
    section8.output_section[0].$name = ".bss.user_shared_mem";
    section8.output_section[0].alignment = 0;

    section9.load_memory = "LOG_SHM_MEM";
    section9.$name = "Log Shared Memory";
    section9.group = false;
    section9.type = "NOLOAD";
    section9.output_section.create(1);
    section9.output_section[0].$name = ".bss.log_shared_mem";
    section9.output_section[0].alignment = 0;

    section10.load_memory = "RTOS_NORTOS_IPC_SHM_MEM";
    section10.type = "NOLOAD";
    section10.$name = "IPC Shared Memory";
    section10.group = false;
    section10.output_section.create(1);
    section10.output_section[0].$name = ".bss.ipc_vring_mem";
    section10.output_section[0].alignment = 0;

    section11.load_memory = "MAILBOX_HSM";
    section11.type = "NOLOAD";
    section11.$name = "SIPC HSM Queue Memory";
    section11.group = false;
    section11.output_section.create(1);
    section11.output_section[0].$name = ".bss.sipc_hsm_queue_mem";
    section11.output_section[0].alignment = 0;

    section12.load_memory = "MAILBOX_R5F";
    section12.$name = "SIPC R5F Queue Memory";
    section12.group = false;
    section12.type = "NOLOAD";
    section12.output_section.create(1);
    section12.output_section[0].$name = ".bss.sipc_secure_host_queue_mem";
    section12.output_section[0].alignment = 0;

    section13.$name = "PRU_0 Shared Memory";
    section13.type = "NOLOAD";
    section13.load_memory = "PRU_0_DMEM1";
    section13.output_section.create(1);
    section13.output_section[0].$name = ".current_servo_structs";
    section13.output_section[0].alignment = 0;

    int_xbar1.$name = "CONFIG_INT_ADC";
    int_xbar1.xbarOutput = ["ADC0_INT1"];

    /**
    * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
    * version of the tool will not impact the pinmux you originally saw. These lines can be completely deleted in order to
    * re-solve from scratch.
    */
    mcan2.MCAN.RX.$suggestSolution = "EPWM10_A";
    mcan2.MCAN.TX.$suggestSolution = "EPWM10_B";
    mcan3.MCAN.RX.$suggestSolution = "MCAN2_RX";
    mcan3.MCAN.TX.$suggestSolution = "MCAN2_TX";
    mcspi1.SPI.CLK.$suggestSolution = "SPI1_CLK";
    mcspi1.SPI.D0.$suggestSolution = "SPI1_D0";
    mcspi1.SPI.D1.$suggestSolution = "SPI1_D1";
    mcspi1.mcspiChannel[0].CSn.$suggestSolution = "SPI1_CS0";

  • Hi,

    I have raised a bug internally (https://jira.itg.ti.com/browse/MCUSDK-14371, link is not accessible externally and for internal tracking purposes only). This should be looked into soon by our development team. 

    For now, since the syscfg is generating incorrect address for the MUX, you can create a copy of the generated file and disable syscfg auto-generation for that file, manually code the correct address based on the mention in the register-addendum. This way, on rebuilding your project, the address won't get overwritten to incorrect address.

    Regards,
    Shaunak

  • Hi Nathan,

    In your mcu_plus_sdk/source/syscfg/drivers/.meta/rti/soc/rti_am263px.syscfg.js file, please update the code accordingly to fix it:

    Regards,
    Shaunak