try{ utils.importFile("..\\bios\\tf.tci"); }catch(e){ utils.importFile("tf.tci"); } bios.GBL.C64PLUSL2CFG = "128k"; bios.MEM.instance("IRAM").len = 0x00020000; //bios.MEM.USEMPC = true; // due to exception when using fastRTS /* * Enable heap usage. */ bios.MEM.instance("SDRAM").createHeap = 1; bios.MEM.instance("SDRAM").heapSize = 0x01000000; bios.MEM.BIOSOBJSEG = prog.get("SDRAM"); bios.MEM.MALLOCSEG = prog.get("SDRAM"); bios.MEM.DATASEG = prog.get("SDRAM"); bios.MEM.CONSTSEG = prog.get("SDRAM"); bios.MEM.PINITSEG = prog.get("SDRAM"); bios.MEM.CINITSEG = prog.get("SDRAM"); bios.MEM.FARSEG = prog.get("SDRAM"); bios.MEM.BSSSEG = prog.get("SDRAM"); bios.MEM.SWITCHSEG = prog.get("SDRAM"); bios.MEM.CIOSEG = prog.get("SDRAM"); /* setup LOGs */ bios.LOG_system.bufSeg = prog.get("IRAM"); bios.LOG_system.bufLen = 1024; bios.LOG_system.logType = "circular"; bios.LOG.create("trace"); bios.LOG.instance("trace").bufLen = 1024; bios.LOG.instance("trace").bufSeg = prog.get("IRAM"); bios.LOG.create("DVTEvent_Log"); bios.LOG.instance("DVTEvent_Log").bufSeg = prog.get("IRAM"); bios.LOG.instance("DVTEvent_Log").bufLen = 8192; bios.LOG.instance("DVTEvent_Log").comment = "DVT"; /* Allow DSP to reset timer */ bios.CLK.RESETTIMER = 1; /* Use instrumented bios libraries */ bios.GBL.ENABLEINST = 1; /* MAR bits config */ bios.GBL.C64PLUSMAR128to159 = 0x0000ffff; /* ECM configuration */ bios.HWI.instance("HWI_INT7").interruptSelectNumber = 0; bios.HWI.instance("HWI_INT8").interruptSelectNumber = 1; bios.HWI.instance("HWI_INT9").interruptSelectNumber = 2; bios.HWI.instance("HWI_INT10").interruptSelectNumber = 3; /*task configuration*/ bios.TSK.create("data_matrix_task"); bios.TSK.instance("data_matrix_task").stackSize = 8192; bios.TSK.instance("data_matrix_task").fxn = prog.extern("data_matrix"); bios.TSK.instance("data_matrix_task").comment = "Data Matrix Task"; bios.TSK.instance("data_matrix_task").priority = 4; bios.TSK.create("kernel_polling_task"); bios.TSK.instance("kernel_polling_task").stackSize = 4096; bios.TSK.instance("kernel_polling_task").fxn = prog.extern("kernel_polling"); bios.TSK.instance("kernel_polling_task").comment = "Kernel polling task"; bios.TSK.instance("kernel_polling_task").priority = 10; bios.TSK.create("kernel_polling_task_slow"); bios.TSK.instance("kernel_polling_task_slow").stackSize = 4096; bios.TSK.instance("kernel_polling_task_slow").fxn = prog.extern("kernel_polling_slow"); bios.TSK.instance("kernel_polling_task_slow").comment = "Kernel slow polling task"; bios.TSK.instance("kernel_polling_task_slow").priority = 8; bios.TSK.create("nav_time_update_task"); bios.TSK.instance("nav_time_update_task").stackSize = 65536; bios.TSK.instance("nav_time_update_task").fxn = prog.extern("nav_time_update"); bios.TSK.instance("nav_time_update_task").comment = "Navigation Time Update"; bios.TSK.instance("nav_time_update_task").priority = 4; bios.TSK.instance("nav_time_update_task").stackMemSeg = prog.get("SDRAM"); bios.TSK.create("nav_measurement_update_task"); bios.TSK.instance("nav_measurement_update_task").stackSize = 65536; bios.TSK.instance("nav_measurement_update_task").fxn = prog.extern("nav_measurement_update"); bios.TSK.instance("nav_measurement_update_task").comment = "Navigation Measurement Update"; bios.TSK.instance("nav_measurement_update_task").priority = 4; bios.TSK.instance("nav_measurement_update_task").stackMemSeg = prog.get("SDRAM"); bios.TSK.create("guidance_control_task"); bios.TSK.instance("guidance_control_task").stackSize = 65536; bios.TSK.instance("guidance_control_task").fxn = prog.extern("guidance_control_main"); bios.TSK.instance("guidance_control_task").comment = "Guidance control"; bios.TSK.instance("guidance_control_task").priority = 5; bios.TSK.instance("guidance_control_task").stackMemSeg = prog.get("SDRAM"); bios.TSK.create("rtklib_task"); bios.TSK.instance("rtklib_task").stackSize = 65536; bios.TSK.instance("rtklib_task").fxn = prog.extern("rtklib_polling"); bios.TSK.instance("rtklib_task").comment = "RTKLIB polling task"; bios.TSK.instance("rtklib_task").priority = 4; bios.TSK.instance("rtklib_task").stackMemSeg = prog.get("SDRAM"); bios.TSK.create("usb_bridge_d2h_task"); bios.TSK.instance("usb_bridge_d2h_task").stackSize = 65536; bios.TSK.instance("usb_bridge_d2h_task").fxn = prog.extern("usb_bridge_d2h"); bios.TSK.instance("usb_bridge_d2h_task").comment = "USB Bridge Device to Host Task"; bios.TSK.instance("usb_bridge_d2h_task").priority = 4; bios.TSK.instance("usb_bridge_d2h_task").stackMemSeg = prog.get("SDRAM"); bios.TSK.create("usb_bridge_h2d_task"); bios.TSK.instance("usb_bridge_h2d_task").stackSize = 65536; bios.TSK.instance("usb_bridge_h2d_task").fxn = prog.extern("usb_bridge_h2d"); bios.TSK.instance("usb_bridge_h2d_task").comment = "USB Bridge Host to Device Task"; bios.TSK.instance("usb_bridge_h2d_task").priority = 4; bios.TSK.instance("usb_bridge_h2d_task").stackMemSeg = prog.get("SDRAM"); /* system stack size */ bios.MEM.STACKSIZE = 0x10000; bios.GBL.CALLUSERINITFXN = 1; bios.GBL.USERINITFXN = prog.extern("TinyFeather_init"); /* interrupt ECM */ /* USB */ bios.ECM.instance("EVENT19").fxn = prog.extern("usb0_isr"); bios.ECM.instance("EVENT19").unmask = 1; /* http://e2e.ti.com/support/dsp/tms320c6000_high_performance_dsps/f/115/p/12207/47564.aspx#47564 */ /* EDMA3 */ bios.ECM.instance("EVENT8").fxn = prog.extern("edma_isr"); bios.ECM.instance("EVENT8").unmask = 1; bios.ECM.instance("EVENT56").fxn = prog.extern("edma_cc0_err_isr"); bios.ECM.instance("EVENT56").unmask = 1; bios.ECM.instance("EVENT57").fxn = prog.extern("edma_tc0_err_isr"); bios.ECM.instance("EVENT57").unmask = 1; bios.ECM.instance("EVENT58").fxn = prog.extern("edma_tc1_err_isr"); bios.ECM.instance("EVENT58").unmask = 1; /* UART */ bios.ECM.instance("EVENT38").fxn = prog.extern("uart0_isr"); bios.ECM.instance("EVENT38").unmask = 1; bios.ECM.instance("EVENT46").fxn = prog.extern("uart1_isr"); bios.ECM.instance("EVENT46").unmask = 1; bios.ECM.instance("EVENT69").fxn = prog.extern("uart2_isr"); bios.ECM.instance("EVENT69").unmask = 1; /* GPIO */ bios.ECM.instance("EVENT59").fxn = prog.extern("gpio5_isr"); bios.ECM.instance("EVENT59").unmask = 1; bios.PRD.create("kernel_periodic_job"); bios.PRD.instance("kernel_periodic_job").order = 2; bios.PRD.instance("kernel_periodic_job").period = 1; bios.PRD.instance("kernel_periodic_job").fxn = prog.extern("kernel_periodic"); // !GRAPHICAL_CONFIG_TOOL_SCRIPT_INSERT_POINT! if (config.hasReportedError == false) { prog.gen(); }