/** * 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 "AM243x_ALX_beta" --part "ALX" --package "ALX" --context "r5fss0-0" --product "MOTOR_CONTROL_SDK_AM243x@11.00.00" * @v2CliArgs --device "AM2434" --package "FCCSP (ALX)" --variant "AM2434-E" --context "r5fss0-0" --product "MOTOR_CONTROL_SDK_AM243x@11.00.00" * @versions {"tool":"1.25.0+4268"} */ /** * Import the modules used in this configuration. */ const sdfm = scripting.addModule("/current_sense/sdfm", {}, false); const sdfm1 = sdfm.addInstance(); const epwm = scripting.addModule("/drivers/epwm/epwm", {}, false); const epwm1 = epwm.addInstance(); const epwm2 = epwm.addInstance(); const epwm3 = epwm.addInstance(); const epwm4 = epwm.addInstance(); const epwm5 = epwm.addInstance(); const epwm6 = epwm.addInstance(); const epwm7 = epwm.addInstance(); const gpio = scripting.addModule("/drivers/gpio/gpio", {}, false); const gpio1 = gpio.addInstance(); const gpio2 = gpio.addInstance(); const gpio3 = gpio.addInstance(); const gpio4 = gpio.addInstance(); const pruicss = scripting.addModule("/drivers/pruicss/pruicss", {}, false); const pruicss1 = pruicss.addInstance(); const clock = scripting.addModule("/kernel/dpl/clock"); 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 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 section14 = section.addInstance(); const section15 = section.addInstance(); const endat = scripting.addModule("/position_sense/endat", {}, false); const endat1 = endat.addInstance(); /** * Write custom configuration values to the imported modules. */ sdfm1.$name = "CONFIG_SDFM0"; sdfm1.SDFM_CLK_GEN = "3"; sdfm1.G_MUX_EN = true; sdfm1.Enable_Channel_0 = true; sdfm1.Enable_Channel_1 = true; sdfm1.Enable_Channel_2 = true; sdfm1.Ch0_EPWM_SYNC = true; sdfm1.Ch1_EPWM_SYNC = true; sdfm1.Ch2_EPWM_SYNC = true; sdfm1.Enable_Load_Share = true; sdfm1.Enable_Channel_3 = true; sdfm1.Enable_Channel_4 = true; sdfm1.Enable_Channel_5 = true; sdfm1.Ch0_FirstTriggerPoint = 30; sdfm1.Ch1_FirstTriggerPoint = 30; sdfm1.Ch2_FirstTriggerPoint = 30; sdfm1.Ch3_FirstTriggerPoint = 30; sdfm1.Ch4_FirstTriggerPoint = 30; sdfm1.Ch5_FirstTriggerPoint = 30; sdfm1.PRU_ICSSG0_PRU.$assign = "PRU_ICSSG0_PRU0"; sdfm1.PRU_ICSSG0_PRU.GPI16.$assign = "PRG0_PRU0_GPO16"; sdfm1.PRU_ICSSG0_PRU.GPI1.$assign = "PRG0_PRU0_GPO1"; sdfm1.PRU_ICSSG0_PRU.GPI3.$assign = "PRG0_PRU0_GPO3"; epwm1.$name = "EPWM0_AXIS1"; epwm1.EPWM.$assign = "EHRPWM0"; epwm1.EPWM.SYNCO.$used = false; epwm1.EPWM.SYNCI.$used = false; epwm2.$name = "EPWM1_AXIS1"; epwm2.EPWM.$assign = "EHRPWM1"; epwm2.EPWM.SYNCO.$used = false; epwm2.EPWM.SYNCI.$used = false; epwm3.$name = "EPWM2_AXIS1"; epwm3.EPWM.$assign = "EHRPWM2"; epwm3.EPWM.SYNCO.$used = false; epwm3.EPWM.SYNCI.$used = false; epwm4.$name = "EPWM2_AXIS2"; epwm4.EPWM.$assign = "EHRPWM5"; epwm4.EPWM.A.$assign = "GPMC0_BE1n"; epwm4.EPWM.B.$used = false; epwm4.EPWM.SYNCO.$used = false; epwm4.EPWM.SYNCI.$used = false; epwm5.$name = "EPWM1_AXIS2"; epwm5.EPWM.$assign = "EHRPWM7"; epwm5.EPWM.A.$assign = "PRG0_PRU1_GPO18"; epwm5.EPWM.B.$assign = "PRG0_PRU1_GPO19"; epwm5.EPWM.SYNCO.$used = false; epwm5.EPWM.SYNCI.$used = false; epwm6.$name = "EPWM0_AXIS2"; epwm6.EPWM.$assign = "EHRPWM8"; epwm6.EPWM.A.$assign = "GPMC0_AD7"; epwm6.EPWM.B.$assign = "GPMC0_AD10"; epwm6.EPWM.SYNCO.$used = false; epwm6.EPWM.SYNCI.$used = false; epwm7.$name = "EPWM2_B_AXIS2"; epwm7.EPWM.$assign = "EHRPWM3"; epwm7.EPWM.A.$used = false; epwm7.EPWM.B.$assign = "GPMC0_AD14"; epwm7.EPWM.SYNCO.$used = false; epwm7.EPWM.SYNCI.$used = false; gpio1.$name = "BP_MUX_SEL"; gpio1.pinDir = "OUTPUT"; gpio1.defaultValue = "1"; gpio1.GPIO_n.$assign = "GPMC0_AD11"; gpio2.rx = true; gpio2.pinDir = "OUTPUT"; gpio2.$name = "CONFIG_AXIS1_GATE_EN_GPIO"; gpio2.GPIO_n.$assign = "I2C0_SCL"; gpio3.$name = "CONFIG_LED1C"; gpio3.pinDir = "OUTPUT"; gpio3.GPIO_n.$assign = "ADC0_AIN4"; gpio4.$name = "CONFIG_AXIS2_GATE_EN_GPIO"; gpio4.pinDir = "OUTPUT"; gpio4.GPIO_n.$assign = "I2C0_SDA"; debug_log.enableUartLog = true; debug_log.enableLogZoneInfo = true; debug_log.enableCssLog = false; debug_log.uartLog.$name = "CONFIG_UART_CONSOLE"; debug_log.uartLog.UART.$assign = "USART1"; const uart_v0_template = scripting.addModule("/drivers/uart/v0/uart_v0_template", {}, false); const uart_v0_template1 = uart_v0_template.addInstance({}, false); uart_v0_template1.$name = "drivers_uart_v0_uart_v0_template0"; debug_log.uartLog.child = uart_v0_template1; 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 = 0x41010000; 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 = 0x60000000; mpu_armv75.size = 28; mpu_armv75.accessPermissions = "Supervisor RD, User RD"; mpu_armv76.$name = "CONFIG_MPU_REGION5"; mpu_armv76.baseAddr = 0x701C0000; mpu_armv76.size = 16; mpu_armv76.attributes = "NonCached"; timer1.$name = "CPU_DIAGNOSTICS_TIMER0"; timer1.startTimer = true; timer1.enableIntr = false; timer1.TIMER.$assign = "DMTIMER0"; default_linker1.$name = "memory_configurator_default_linker0"; general1.$name = "CONFIG_GENERAL0"; general1.linker.$name = "TIARMCLANG0"; region1.$name = "MEMORY_REGION_CONFIGURATION0"; region1.memory_region.create(10); region1.memory_region[0].type = "TCMA_R5F"; 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_R5F"; region1.memory_region[1].$name = "R5F_TCMA"; region1.memory_region[1].size = 0x7FC0; region1.memory_region[2].type = "TCMB_R5F"; region1.memory_region[2].$name = "R5F_TCMB0"; region1.memory_region[2].size = 0x8000; region1.memory_region[3].$name = "NON_CACHE_MEM"; region1.memory_region[3].auto = false; region1.memory_region[3].manualStartAddress = 0x70060000; region1.memory_region[3].size = 0x8000; region1.memory_region[4].$name = "MSRAM"; region1.memory_region[4].auto = false; region1.memory_region[4].manualStartAddress = 0x70080000; region1.memory_region[4].size = 0x40000; region1.memory_region[5].type = "FLASH"; region1.memory_region[5].$name = "FLASH"; region1.memory_region[5].auto = false; region1.memory_region[5].manualStartAddress = 0x60100000; region1.memory_region[5].size = 0x80000; 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 = 0x180; region1.memory_region[6].isShared = true; region1.memory_region[6].shared_cores = ["m4fss0-0","r5fss0-1","r5fss1-0","r5fss1-1"]; region1.memory_region[7].auto = false; region1.memory_region[7].manualStartAddress = 0x701D0180; region1.memory_region[7].size = 0x3E80; region1.memory_region[7].$name = "LOG_SHM_MEM"; region1.memory_region[7].isShared = true; region1.memory_region[7].shared_cores = ["m4fss0-0","r5fss0-1","r5fss1-0","r5fss1-1"]; region1.memory_region[8].auto = false; region1.memory_region[8].manualStartAddress = 0x701D4000; region1.memory_region[8].size = 0xC000; region1.memory_region[8].$name = "RTOS_NORTOS_IPC_SHM_MEM"; region1.memory_region[8].isShared = true; region1.memory_region[8].shared_cores = ["m4fss0-0","r5fss0-1","r5fss1-0","r5fss1-1"]; region1.memory_region[9].$name = "MSRAM_NO_CACHE"; region1.memory_region[9].auto = false; region1.memory_region[9].manualStartAddress = 0x701C0000; region1.memory_region[9].size = 0x100; region1.memory_region[9].isShared = true; region1.memory_region[9].shared_cores = ["r5fss1-0"]; section1.$name = "Vector Table"; section1.load_memory = "R5F_VECS"; section1.group = false; section1.output_section.create(1); section1.output_section[0].$name = ".vectors"; section1.output_section[0].palignment = true; section2.$name = "Text Segments"; section2.load_memory = "MSRAM"; 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.$name = "Code and Read-Only Data"; section3.load_memory = "MSRAM"; 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.$name = "Data Segment"; section4.load_memory = "MSRAM"; section4.output_section.create(1); section4.output_section[0].$name = ".data"; section4.output_section[0].palignment = true; section5.$name = "Memory Segments"; section5.load_memory = "MSRAM"; section5.output_section.create(3); section5.output_section[0].$name = ".bss"; section5.output_section[0].palignment = true; section5.output_section[0].output_sections_start = "__BSS_START"; section5.output_section[0].output_sections_end = "__BSS_END"; 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.$name = "Stack Segments"; section6.load_memory = "MSRAM"; 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.$name = "Initialization and Exception Handling"; section7.load_memory = "MSRAM"; 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.$name = "User Shared Memory"; section8.type = "NOLOAD"; section8.load_memory = "USER_SHM_MEM"; section8.group = false; section8.output_section.create(1); section8.output_section[0].$name = ".bss.user_shared_mem"; section8.output_section[0].alignment = 0; section9.$name = "Log Shared Memory"; section9.load_memory = "LOG_SHM_MEM"; section9.type = "NOLOAD"; section9.group = false; section9.output_section.create(1); section9.output_section[0].$name = ".bss.log_shared_mem"; section9.output_section[0].alignment = 0; section10.$name = "IPC Shared Memory"; section10.type = "NOLOAD"; section10.load_memory = "RTOS_NORTOS_IPC_SHM_MEM"; section10.group = false; section10.output_section.create(1); section10.output_section[0].$name = ".bss.ipc_vring_mem"; section10.output_section[0].alignment = 0; section11.$name = "Non Cacheable Memory"; section11.load_memory = "NON_CACHE_MEM"; section11.group = false; section11.type = "NOLOAD"; section11.output_section.create(1); section11.output_section[0].$name = ".bss.nocache"; section11.output_section[0].alignment = 0; section12.$name = "UMC_TCMA"; section12.load_memory = "R5F_TCMA"; section12.output_section.create(1); section12.output_section[0].$name = ".tcm_code"; section13.$name = "UMC_TCMB"; section13.load_memory = "R5F_TCMB0"; section13.output_section.create(9); section13.output_section[0].$name = ".tcm_data"; section13.output_section[1].$name = "hal_data"; section13.output_section[2].$name = "user_data"; section13.output_section[3].$name = "foc_data"; section13.output_section[4].$name = "motor_data"; section13.output_section[5].$name = "sys_data"; section13.output_section[6].$name = ".sfradata"; section13.output_section[7].$name = ".gSddfChSampsRaw"; section13.output_section[7].alignment = 4; section13.output_section[8].$name = ".gEnDatChInfo"; section13.output_section[8].alignment = 4; section14.$name = "UMC_OCRAM"; section14.load_memory = "MSRAM"; section14.output_section.create(2); section14.output_section[0].$name = ".trigData"; section14.output_section[1].$name = ".datalog_data"; section15.$name = "No Cache Memory "; section15.group = false; section15.load_memory = "MSRAM_NO_CACHE"; section15.output_section.create(1); section15.output_section[0].$name = ".gEtherCatCia402"; section15.output_section[0].alignment = 4; section15.output_section[0].palignment = true; endat1.$name = "CONFIG_ENDAT0"; endat1.G_MUX_EN = true; endat1.Booster_Pack = true; endat1.Multi_Channel_Load_Share = true; endat1.ENC1_EN.$name = "ENC1_EN"; endat1.ENC1_EN.GPIO_n.$assign = "MMC1_SDWP"; endat1.ENC2_EN.$name = "ENC2_EN"; endat1.ENC2_EN.GPIO_n.$assign = "MMC1_SDCD"; endat1.PRU_ICSSG0_PRU.$assign = "PRU_ICSSG0_PRU1"; pruicss1.$name = "CONFIG_PRU_ICSS0"; endat1.pru = pruicss1; sdfm1.pru = pruicss1; pruicss1.iepClk = 300000000; pruicss1.AdditionalICSSSettings[0].$name = "CONFIG_PRU_ICSS_IO0"; pruicss1.AdditionalICSSSettings[0].PruIepIO.create(1); pruicss1.AdditionalICSSSettings[0].PruIepIO[0].$name = "CONFIG_PRU_ICSS_IEP_IO0"; pruicss1.AdditionalICSSSettings[0].PruIepIO[0].PRU_ICSSG0_IEP.$assign = "PRU_ICSSG0_IEP0"; pruicss1.AdditionalICSSSettings[0].PruIepIO[0].PRU_ICSSG0_IEP.EDC_SYNC_OUT0.$used = true; pruicss1.AdditionalICSSSettings[0].PruIepIO[0].PRU_ICSSG0_IEP.EDC_SYNC_OUT1.$used = true; pruicss1.intcMapping.create(2); pruicss1.intcMapping[0].$name = "CONFIG_ICSS0_INTC_MAPPING2"; pruicss1.intcMapping[0].channel = "5"; pruicss1.intcMapping[0].event = "24"; pruicss1.intcMapping[1].$name = "CONFIG_ICSS0_INTC_MAPPING0"; pruicss1.intcMapping[1].event = "21"; pruicss1.intcMapping[1].channel = "6"; /** * 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. */ sdfm1.PRU_ICSSG0_PRU.GPI5.$suggestSolution = "PRG0_PRU0_GPO5"; sdfm1.PRU_ICSSG0_PRU.GPI7.$suggestSolution = "PRG0_PRU0_GPO7"; sdfm1.PRU_ICSSG0_PRU.GPI18.$suggestSolution = "PRG0_PRU0_GPO18"; sdfm1.PRU_ICSSG0_PRU.GPI11.$suggestSolution = "PRG0_PRU0_GPO11"; epwm1.EPWM.A.$suggestSolution = "GPMC0_AD3"; epwm1.EPWM.B.$suggestSolution = "GPMC0_AD4"; epwm2.EPWM.A.$suggestSolution = "GPMC0_AD5"; epwm2.EPWM.B.$suggestSolution = "GPMC0_AD6"; epwm3.EPWM.A.$suggestSolution = "GPMC0_AD8"; epwm3.EPWM.B.$suggestSolution = "GPMC0_AD9"; debug_log.uartLog.UART.RXD.$suggestSolution = "UART1_RXD"; debug_log.uartLog.UART.TXD.$suggestSolution = "UART1_TXD"; endat1.PRU_ICSSG0_PRU.GPO2.$suggestSolution = "PRG0_PRU1_GPO2"; endat1.PRU_ICSSG0_PRU.GPO1.$suggestSolution = "PRG0_PRU1_GPO1"; endat1.PRU_ICSSG0_PRU.GPO0.$suggestSolution = "PRG0_PRU1_GPO0"; endat1.PRU_ICSSG0_PRU.GPI13.$suggestSolution = "PRG0_PRU1_GPO13"; pruicss1.AdditionalICSSSettings[0].PruIepIO[0].PRU_ICSSG0_IEP.EDC_SYNC_OUT0.$suggestSolution = "PRG0_PRU0_GPO19"; pruicss1.AdditionalICSSSettings[0].PruIepIO[0].PRU_ICSSG0_IEP.EDC_SYNC_OUT1.$suggestSolution = "PRG0_PRU0_GPO17";