utils.loadPlatform("ti.platforms.ezdsp28335"); /* The following DSP/BIOS Features are enabled. */ bios.enableRealTimeAnalysis(prog); bios.enableRtdx(prog); bios.enableTskManager(prog); bios.GBL.CLKIN = 30000; bios.GBL.CALLUSERINITFXN = 1; bios.GBL.USERINITFXN = prog.extern("UserInit"); bios.GBL.MODIFYPLLCR2 = 0; bios.MEM.NOMEMORYHEAPS = 0; bios.MEM.instance("SRAM").destroy(); bios.MEM.create("ZONE7"); bios.MEM.instance("ZONE7").comment = "External - 128Kw SRAM on eZdspF28335"; bios.MEM.instance("ZONE7").base = 0x200000; bios.MEM.instance("ZONE7").len = 0x20000; bios.MEM.instance("ZONE7").createHeap = 0; bios.MEM.instance("ZONE7").space = "code"; bios.MEM.instance("FLASH").destroy(); bios.MEM.create("FLASH_ABCDEFGH"); bios.MEM.instance("FLASH_ABCDEFGH").comment = "On-Chip Flash Memory"; bios.MEM.instance("FLASH_ABCDEFGH").base = 0x300000; bios.MEM.instance("FLASH_ABCDEFGH").len = 0x3ff80; bios.MEM.instance("FLASH_ABCDEFGH").createHeap = 0; bios.MEM.instance("FLASH_ABCDEFGH").space = "code"; bios.MEM.instance("OTP").comment = "On-Chip OTP Memory"; bios.MEM.instance("OTP").base = 0x380400; bios.MEM.create("PASSWORDS"); bios.MEM.instance("PASSWORDS").comment = "CSM Passwords in Flash"; bios.MEM.instance("PASSWORDS").base = 0x33fff8; bios.MEM.instance("PASSWORDS").len = 0x0008; bios.MEM.instance("PASSWORDS").createHeap = 0; bios.MEM.instance("PASSWORDS").space = "code"; bios.MEM.create("BEGIN_FLASH"); bios.MEM.instance("BEGIN_FLASH").comment = "Boot to Flash Entry Point"; bios.MEM.instance("BEGIN_FLASH").base = 0x33fff6; bios.MEM.instance("BEGIN_FLASH").len = 0x0002; bios.MEM.instance("BEGIN_FLASH").createHeap = 0; bios.MEM.instance("BEGIN_FLASH").space = "code"; bios.MEM.create("CSM_RSVD"); bios.MEM.instance("CSM_RSVD").comment = "Reserved by CSM"; bios.MEM.instance("CSM_RSVD").base = 0x33ff80; bios.MEM.instance("CSM_RSVD").len = 0x0076; bios.MEM.instance("CSM_RSVD").createHeap = 0; bios.MEM.instance("CSM_RSVD").space = "code"; bios.MEM.instance("BOOTROM").destroy(); bios.MEM.create("IQTABLES"); bios.MEM.instance("IQTABLES").comment = "IQmath table 1 in Boot ROM"; bios.MEM.instance("IQTABLES").base = 0x3fe000; bios.MEM.instance("IQTABLES").len = 0x0b50; bios.MEM.instance("IQTABLES").createHeap = 0; bios.MEM.instance("IQTABLES").space = "code"; bios.MEM.create("IQTABLES2"); bios.MEM.instance("IQTABLES2").comment = "IQmath table 2 in Boot ROM"; bios.MEM.instance("IQTABLES2").base = 0x3feb50; bios.MEM.instance("IQTABLES2").len = 0x008c; bios.MEM.instance("IQTABLES2").createHeap = 0; bios.MEM.instance("IQTABLES2").space = "code"; bios.MEM.create("FPUTABLES"); bios.MEM.instance("FPUTABLES").comment = "FPU math table in Boot ROM"; bios.MEM.instance("FPUTABLES").base = 0x3febdc; bios.MEM.instance("FPUTABLES").len = 0x06a0; bios.MEM.instance("FPUTABLES").createHeap = 0; bios.MEM.instance("FPUTABLES").space = "code"; bios.MEM.instance("L03SARAM").len = 0x2000; bios.MEM.create("L0123SARAM"); bios.MEM.instance("L0123SARAM").comment = "On-Chip RAM Memory"; bios.MEM.instance("L0123SARAM").base = 0x00a000; bios.MEM.instance("L0123SARAM").len = 0x2000; bios.MEM.instance("L0123SARAM").createHeap = 0; bios.MEM.instance("L0123SARAM").space = "code"; bios.MEM.GBLINITSEG = prog.get("L0123SARAM"); bios.MEM.TRCDATASEG = prog.get("L0123SARAM"); bios.MEM.BIOSSEG = prog.get("L0123SARAM"); bios.MEM.SYSINITSEG = prog.get("L0123SARAM"); bios.MEM.HWISEG = prog.get("L0123SARAM"); bios.MEM.RTDXTEXTSEG = prog.get("L0123SARAM"); bios.MEM.TEXTSEG = prog.get("L0123SARAM"); bios.MEM.SWITCHSEG = prog.get("L0123SARAM"); bios.MEM.CINITSEG = prog.get("L0123SARAM"); bios.MEM.PINITSEG = prog.get("L0123SARAM"); bios.MEM.ENABLELOADADDR = 1; bios.MEM.LOADBIOSSEG = prog.get("L0123SARAM"); bios.MEM.LOADSYSINITSEG = prog.get("L0123SARAM"); bios.MEM.LOADGBLINITSEG = prog.get("L0123SARAM"); bios.MEM.LOADTRCDATASEG = prog.get("L0123SARAM"); bios.MEM.LOADTEXTSEG = prog.get("L0123SARAM"); bios.MEM.LOADSWITCHSEG = prog.get("L0123SARAM"); bios.MEM.LOADCINITSEG = prog.get("L0123SARAM"); bios.MEM.LOADPINITSEG = prog.get("L0123SARAM"); bios.MEM.LOADHWISEG = prog.get("L0123SARAM"); bios.MEM.LOADRTDXTEXTSEG = prog.get("L0123SARAM"); bios.MEM.ENABLELOADADDR = 0; bios.MEM.instance("L03SARAM").destroy(); bios.MEM.instance("L0123SARAM").base = 0x008000; bios.MEM.instance("L0123SARAM").len = 0x4000; bios.MEM.instance("MSARAM").len = 0x0400; bios.MEM.create("M1SARAM"); bios.MEM.instance("M1SARAM").comment = "On-Chip RAM Memory"; bios.MEM.instance("M1SARAM").base = 0x000400; bios.MEM.instance("M1SARAM").len = 0x0400; bios.MEM.instance("M1SARAM").createHeap = 0; bios.MEM.STACKSEG = prog.get("M1SARAM"); bios.MEM.instance("MSARAM").destroy(); bios.MEM.create("M0SARAM"); bios.MEM.instance("M0SARAM").comment = "On-Chip RAM Memory"; bios.MEM.instance("M0SARAM").base = 0x000002; bios.MEM.instance("M0SARAM").len = 0x03fe; bios.MEM.instance("M0SARAM").createHeap = 0; bios.MEM.instance("L47SARAM").len = 0x0800; bios.MEM.create("L4SARAM"); bios.MEM.instance("L4SARAM").comment = "On-Chip RAM Memory"; bios.MEM.instance("L4SARAM").base = 0x00c800; bios.MEM.instance("L4SARAM").len = 0x0800; bios.MEM.instance("L4SARAM").createHeap = 1; bios.MEM.create("L5SARAM"); bios.MEM.instance("L5SARAM").comment = "On-Chip RAM Memory"; bios.MEM.instance("L5SARAM").base = 0x00d000; bios.MEM.instance("L5SARAM").len = 0x1000; bios.MEM.instance("L5SARAM").createHeap = 0; bios.MEM.create("L6SARAM"); bios.MEM.instance("L6SARAM").comment = "On-Chip RAM Memory"; bios.MEM.instance("L6SARAM").base = 0x00e000; bios.MEM.instance("L6SARAM").len = 0x1000; bios.MEM.instance("L6SARAM").createHeap = 0; bios.MEM.create("L7SARAM"); bios.MEM.instance("L7SARAM").comment = "On-Chip RAM Memory"; bios.MEM.instance("L7SARAM").base = 0x00f000; bios.MEM.instance("L7SARAM").len = 0x1000; bios.MEM.instance("L7SARAM").createHeap = 0; bios.MEM.create("ADC_CAL"); bios.MEM.instance("ADC_CAL").comment = "ADC_cal function in Reserved memory"; bios.MEM.instance("ADC_CAL").base = 0x380080; bios.MEM.instance("ADC_CAL").len = 0x0009; bios.MEM.instance("ADC_CAL").createHeap = 0; bios.MEM.instance("ADC_CAL").space = "code"; bios.MEM.BIOSOBJSEG = prog.get("L4SARAM"); bios.MEM.MALLOCSEG = prog.get("L4SARAM"); bios.MEM.ARGSSEG = prog.get("L4SARAM"); bios.MEM.SYSDATASEG = prog.get("L4SARAM"); bios.MEM.OBJSEG = prog.get("L4SARAM"); bios.MEM.BSSSEG = prog.get("L4SARAM"); bios.MEM.EBSSSEG = prog.get("L4SARAM"); bios.MEM.ECONSTSEG = prog.get("L4SARAM"); bios.MEM.CONSTSEG = prog.get("L4SARAM"); bios.MEM.DATASEG = prog.get("L4SARAM"); bios.MEM.CIOSEG = prog.get("L4SARAM"); bios.MEM.ENABLELOADADDR = 1; bios.MEM.LOADECONSTSEG = prog.get("L4SARAM"); bios.MEM.LOADCONSTSEG = prog.get("L4SARAM"); bios.MEM.LOADDATASEG = prog.get("L4SARAM"); bios.MEM.ENABLELOADADDR = 0; bios.BUF.OBJMEMSEG = prog.get("L4SARAM"); bios.SYS.TRACESEG = prog.get("L4SARAM"); bios.LOG.OBJMEMSEG = prog.get("L4SARAM"); bios.LOG.instance("LOG_system").bufSeg = prog.get("L4SARAM"); bios.STS.OBJMEMSEG = prog.get("L4SARAM"); bios.CLK.OBJMEMSEG = prog.get("L4SARAM"); bios.PRD.OBJMEMSEG = prog.get("L4SARAM"); bios.SWI.OBJMEMSEG = prog.get("L4SARAM"); bios.TSK.OBJMEMSEG = prog.get("L4SARAM"); bios.TSK.instance("TSK_idle").stackMemSeg = prog.get("L4SARAM"); bios.IDL.OBJMEMSEG = prog.get("L4SARAM"); bios.SEM.OBJMEMSEG = prog.get("L4SARAM"); bios.MBX.OBJMEMSEG = prog.get("L4SARAM"); bios.QUE.OBJMEMSEG = prog.get("L4SARAM"); bios.LCK.OBJMEMSEG = prog.get("L4SARAM"); bios.DIO.OBJMEMSEG = prog.get("L4SARAM"); bios.DHL.OBJMEMSEG = prog.get("L4SARAM"); bios.RTDX.RTDXDATASEG = prog.get("L4SARAM"); bios.HST.OBJMEMSEG = prog.get("L4SARAM"); bios.HST.instance("RTA_fromHost").bufSeg = prog.get("L4SARAM"); bios.HST.instance("RTA_toHost").bufSeg = prog.get("L4SARAM"); bios.PIP.OBJMEMSEG = prog.get("L4SARAM"); bios.SIO.OBJMEMSEG = prog.get("L4SARAM"); bios.MEM.instance("L47SARAM").destroy(); bios.MEM.instance("L4SARAM").base = 0x00c000; bios.MEM.instance("L4SARAM").len = 0x1000; bios.MEM.create("BEGIN_M0"); bios.MEM.instance("BEGIN_M0").comment = "Boot to M0 Entry Point"; bios.MEM.instance("BEGIN_M0").len = 0x0002; bios.MEM.instance("BEGIN_M0").createHeap = 0; bios.MEM.instance("BEGIN_M0").space = "code"; bios.MEM.ECONSTSEG = prog.get("L0123SARAM"); bios.MEM.CONSTSEG = prog.get("L0123SARAM"); bios.MEM.DATASEG = prog.get("L0123SARAM"); bios.PRD.create("LedBlink_PRD"); bios.PRD.instance("LedBlink_PRD").order = 1; bios.PRD.instance("LedBlink_PRD").period = 250; bios.PRD.instance("LedBlink_PRD").fxn = prog.extern("LedBlink"); bios.SWI.create("ADC_swi"); bios.SWI.instance("ADC_swi").order = 1; bios.SWI.instance("ADC_swi").fxn = prog.extern("AdcSwi"); bios.SWI.instance("ADC_swi").priority = 2; bios.TSK.STACKSIZE = 128; bios.TSK.STACKSEG = prog.get("L4SARAM"); bios.TSK.instance("TSK_idle").stackMemSeg = prog.get("L4SARAM"); bios.TSK.instance("TSK_idle").stackSize = 128; bios.LOG.OBJMEMSEG = prog.get("L4SARAM"); bios.LOG.instance("LOG_system").bufSeg = prog.get("L4SARAM"); bios.LOG.instance("LOG_system").bufLen = 128; bios.LOG.create("trace"); bios.PIE.instance("PIE_INT1_6").fxn = prog.extern("ADCINT_ISR"); bios.PIE.instance("PIE_INT1_6").useDispatcher = 1; bios.PIE.instance("PIE_INT4_1").fxn = prog.extern("ECAP1_ISR"); bios.PIE.instance("PIE_INT4_1").useDispatcher = 1; bios.MEM.BIOSSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.SYSINITSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.HWISEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.RTDXTEXTSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.GBLINITSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.TEXTSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.SWITCHSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.CINITSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.PINITSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.DATASEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.CONSTSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.ECONSTSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.ENABLELOADADDR = 1; bios.MEM.LOADBIOSSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADSYSINITSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADGBLINITSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADTRCDATASEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADTEXTSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADSWITCHSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADCINITSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADPINITSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADECONSTSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADCONSTSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADDATASEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADHWISEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADHWIVECSEG = prog.get("FLASH_ABCDEFGH"); bios.MEM.LOADRTDXTEXTSEG = prog.get("FLASH_ABCDEFGH"); bios.TSK.instance("TSK_idle").order = 1; bios.TSK.instance("TSK_idle").stackSize = 512; bios.SEM.create("SEM_COM1"); bios.SEM.instance("SEM_COM1").count = 1; bios.SEM.create("SEM_COM2"); bios.SEM.instance("SEM_COM2").count = 1; bios.SEM.create("SEM_EEPROM"); bios.SEM.create("SEM_EEPROM_LOOP_WAIT"); bios.SEM.create("SEM_EEPROM_WR_WAIT"); bios.SEM.create("SEM_UTILITY_LOOP_WAIT"); bios.SWI.instance("PRD_swi").order = 1; bios.SWI.instance("KNL_swi").order = 2; bios.SWI.instance("ADC_swi").destroy(); bios.PRD.instance("LedBlink_PRD").destroy(); bios.PIE.instance("PIE_INT1_6").fxn = prog.extern("HWI_unused", "asm"); bios.PIE.instance("PIE_INT4_1").fxn = prog.extern("HWI_unused", "asm"); bios.PIE.instance("PIE_INT4_1").useDispatcher = 0; bios.PIE.instance("PIE_INT1_6").useDispatcher = 0; bios.GBL.USERINITFXN = prog.extern("InitFlash"); bios.GBL.CALLUSERINITFXN = 0; bios.MEM.instance("L5SARAM").destroy(); bios.MEM.instance("L6SARAM").destroy(); bios.MEM.instance("L7SARAM").destroy(); bios.MEM.instance("L4SARAM").base = 0x00a000; bios.MEM.instance("L4SARAM").len = 0x6000; bios.MEM.instance("L4SARAM").heapSize = 0x01f0; bios.MEM.instance("L4SARAM").enableHeapLabel = 1; bios.MEM.instance("L4SARAM").heapLabel = prog.extern("SEG0"); bios.MEM.instance("L4SARAM").space = "code/data"; bios.MEM.instance("L0123SARAM").len = 0x2000; bios.MEM.instance("L0123SARAM").space = "code/data"; bios.MEM.TRCDATASEG = prog.get("L4SARAM"); bios.MEM.DATASEG = prog.get("L4SARAM"); bios.MEM.DATASEG = prog.get("FLASH_ABCDEFGH"); bios.GBL.CALLUSERINITFXN = 1; bios.GBL.USERINITFXN = prog.extern("UserInit"); bios.CLK.create("CLK0"); bios.CLK.instance("CLK0").order = 1; bios.TSK.create("TSK0"); bios.TSK.instance("TSK0").order = 7; bios.TSK.instance("TSK0").stackSize = 256; bios.TSK.instance("TSK0").fxn = prog.extern("MyTestTask1"); bios.TSK.instance("TSK0").order = 6; bios.TSK.create("TSK1"); bios.TSK.instance("TSK1").order = 8; bios.TSK.instance("TSK1").fxn = prog.extern("MyTestTask2"); bios.TSK.instance("TSK1").stackSize = 256; bios.TSK.instance("TSK0").order = 2; bios.TSK.instance("TSK1").order = 3; bios.SEM.instance("SEM_COM1").destroy(); bios.SEM.create("TASK1_SEM"); bios.SEM.instance("TASK1_SEM").count = 1; bios.SEM.instance("SEM_COM2").destroy(); bios.SEM.create("TASK2_SEM"); bios.SEM.instance("TASK2_SEM").count = 1; bios.TSK.create("TSK2"); bios.TSK.instance("TSK2").order = 4; bios.TSK.create("TSK3"); bios.TSK.instance("TSK3").order = 5; bios.TSK.instance("TSK2").fxn = prog.extern("Tsk1a"); bios.TSK.instance("TSK3").fxn = prog.extern("Task4"); bios.TSK.instance("TSK3").stackSize = 256; bios.TSK.instance("TSK2").stackSize = 256; bios.TSK.create("TSK4"); bios.TSK.instance("TSK4").order = 6; bios.TSK.instance("TSK4").fxn = prog.extern("Task1"); bios.TSK.instance("TSK4").stackSize = 256; bios.TSK.create("TSK5"); bios.TSK.instance("TSK5").order = 7; bios.TSK.instance("TSK5").stackSize = 256; bios.TSK.instance("TSK5").fxn = prog.extern("Task2"); bios.TSK.create("TSK6"); bios.TSK.instance("TSK6").order = 8; bios.TSK.instance("TSK6").fxn = prog.extern("Task5"); bios.TSK.instance("TSK6").stackSize = 256; bios.TSK.create("TSK7"); bios.TSK.instance("TSK7").order = 9; bios.TSK.instance("TSK7").fxn = prog.extern("Task3"); bios.TSK.instance("TSK7").stackSize = 256; bios.MEM.instance("L4SARAM").base = 0x009000; bios.MEM.instance("L4SARAM").len = 0x7000; bios.MEM.instance("L0123SARAM").len = 0x1000; bios.MEM.create("DMARAML6"); bios.MEM.instance("DMARAML6").base = 0x00ee00; bios.MEM.instance("DMARAML6").createHeap = 0; bios.MEM.instance("DMARAML6").len = 0x0100; bios.PIE.instance("PIE_INT7_5").fxn = prog.extern("DMATransferComplete_ISR"); bios.PIE.instance("PIE_INT7_5").useDispatcher = 0; bios.PIE.instance("PIE_INT7_5").useDispatcher = 1; bios.PIE.instance("PIE_INT7_5").interruptMask0 = "all"; bios.MEM.STACKSIZE = 0x0400; bios.MEM.STACKSIZE = 0x0500; bios.SWI.create("SWI0"); bios.SWI.instance("SWI0").order = 3; bios.SWI.instance("SWI0").fxn = prog.extern("SW0_Fun"); bios.MEM.STACKSIZE = 0x03fe; bios.LOG.instance("LOG_system").bufLen = 512; bios.LOG.instance("trace").bufLen = 256; bios.TSK.instance("TSK1").order = 2; bios.TSK.instance("TSK2").order = 3; bios.TSK.instance("TSK3").order = 4; bios.TSK.instance("TSK4").order = 5; bios.TSK.instance("TSK5").order = 6; bios.TSK.instance("TSK6").order = 7; bios.TSK.instance("TSK7").order = 8; bios.TSK.instance("TSK0").destroy(); bios.TSK.instance("TSK2").order = 2; bios.TSK.instance("TSK3").order = 3; bios.TSK.instance("TSK4").order = 4; bios.TSK.instance("TSK5").order = 5; bios.TSK.instance("TSK6").order = 6; bios.TSK.instance("TSK7").order = 7; bios.TSK.instance("TSK1").destroy(); bios.SWI.instance("SWI0").destroy(); bios.TSK.instance("TSK3").order = 2; bios.TSK.instance("TSK4").order = 3; bios.TSK.instance("TSK5").order = 4; bios.TSK.instance("TSK6").order = 5; bios.TSK.instance("TSK7").order = 6; bios.TSK.instance("TSK2").destroy(); bios.TSK.instance("TSK4").order = 2; bios.TSK.instance("TSK5").order = 3; bios.TSK.instance("TSK6").order = 4; bios.TSK.instance("TSK7").order = 5; bios.TSK.instance("TSK3").destroy(); bios.TSK.instance("TSK5").order = 2; bios.TSK.instance("TSK6").order = 3; bios.TSK.instance("TSK7").order = 4; bios.TSK.instance("TSK4").destroy(); bios.TSK.instance("TSK5").priority = 2; bios.TSK.instance("TSK6").priority = 5; bios.TSK.instance("TSK7").priority = 5; bios.TSK.create("TSK4"); bios.TSK.instance("TSK4").order = 7; bios.TSK.instance("TSK4").priority = 4; bios.TSK.instance("TSK4").fxn = prog.extern("Task4"); bios.TSK.instance("TSK4").stackSize = 256; bios.TSK.instance("TSK4").order = 5; bios.TSK.create("TSK1"); bios.TSK.instance("TSK1").order = 7; bios.TSK.instance("TSK1").fxn = prog.extern("Task1"); bios.TSK.instance("TSK1").stackSize = 256; bios.TSK.instance("TSK6").order = 2; bios.TSK.instance("TSK7").order = 3; bios.TSK.instance("TSK4").order = 4; bios.TSK.instance("TSK1").order = 5; bios.TSK.instance("TSK5").destroy(); bios.TSK.create("TSK2"); bios.TSK.instance("TSK2").order = 7; bios.TSK.instance("TSK2").priority = 2; bios.TSK.instance("TSK2").fxn = prog.extern("Task2"); bios.TSK.instance("TSK2").stackSize = 256; bios.TSK.instance("TSK7").priority = 3; bios.TSK.instance("TSK4").order = 3; bios.TSK.instance("TSK1").order = 4; bios.TSK.instance("TSK2").order = 5; bios.TSK.instance("TSK7").destroy(); bios.TSK.create("TSK3"); bios.TSK.instance("TSK3").order = 7; bios.TSK.instance("TSK3").priority = 3; bios.TSK.instance("TSK3").fxn = prog.extern("Task3"); bios.TSK.instance("TSK3").stackSize = 256; // !GRAPHICAL_CONFIG_TOOL_SCRIPT_INSERT_POINT! prog.gen();