diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..cee4243 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "iis.configDir": "" +} \ No newline at end of file diff --git a/Vitis_Classic/.analytics b/Vitis_Classic/.analytics index f12a1bc..2a6acb7 100644 --- a/Vitis_Classic/.analytics +++ b/Vitis_Classic/.analytics @@ -50,3 +50,113 @@ timestamp=[2026-05-29 18:12:30], mode=BUILD, duration=0:00:01.308, duration_ms=1 timestamp=[2026-05-29 18:12:37], mode=BUILD, duration=0:00:07.017, duration_ms=7017, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} timestamp=[2026-05-29 18:15:29], mode=BUILD, duration=0:00:01.296, duration_ms=1296, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} timestamp=[2026-05-29 18:15:37], mode=BUILD, duration=0:00:06.847, duration_ms=6847, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-01 10:58:56], mode=BUILD, duration=0:00:03.478, duration_ms=3478, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-01 10:59:06], mode=BUILD, duration=0:00:10.189, duration_ms=10189, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-01 11:00:30], mode=BUILD, duration=0:00:01.283, duration_ms=1283, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-01 11:00:37], mode=BUILD, duration=0:00:06.900, duration_ms=6900, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-01 11:02:33], mode=BUILD, duration=0:00:01.183, duration_ms=1183, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-01 11:02:40], mode=BUILD, duration=0:00:06.897, duration_ms=6897, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-01 11:02:51], mode=BUILD, duration=0:00:00.668, duration_ms=668, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-01 11:02:58], mode=BUILD, duration=0:00:01.180, duration_ms=1180, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-01 11:03:05], mode=BUILD, duration=0:00:06.871, duration_ms=6871, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-01 13:17:29], mode=BUILD, duration=0:00:01.254, duration_ms=1254, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-01 13:17:37], mode=BUILD, duration=0:00:07.034, duration_ms=7034, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 14:47:53], mode=PLATFORM_GENERATION, duration=0:00:15.437, duration_ms=15437, data={name=NewInstCal_bsp} +timestamp=[2026-06-02 14:47:55], mode=BUILD, duration=0:00:01.924, duration_ms=1924, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 14:48:03], mode=BUILD, duration=0:00:07.659, duration_ms=7659, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:15:41], mode=BUILD, duration=0:00:01.800, duration_ms=1800, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:15:49], mode=BUILD, duration=0:00:07.302, duration_ms=7302, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:17:06], mode=BUILD, duration=0:00:01.514, duration_ms=1514, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:17:14], mode=BUILD, duration=0:00:07.155, duration_ms=7155, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:24:33], mode=BUILD, duration=0:00:01.196, duration_ms=1196, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:24:40], mode=BUILD, duration=0:00:06.927, duration_ms=6927, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:25:51], mode=BUILD, duration=0:00:01.179, duration_ms=1179, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:25:58], mode=BUILD, duration=0:00:06.831, duration_ms=6831, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:27:45], mode=BUILD, duration=0:00:00.764, duration_ms=764, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:27:55], mode=BUILD, duration=0:00:00.684, duration_ms=684, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:28:03], mode=BUILD, duration=0:00:01.236, duration_ms=1236, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:28:10], mode=BUILD, duration=0:00:06.862, duration_ms=6862, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:31:58], mode=BUILD, duration=0:00:00.703, duration_ms=703, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:33:07], mode=BUILD, duration=0:00:00.732, duration_ms=732, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:33:17], mode=BUILD, duration=0:00:00.744, duration_ms=744, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:33:25], mode=BUILD, duration=0:00:00.682, duration_ms=682, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:33:38], mode=BUILD, duration=0:00:00.731, duration_ms=731, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:33:48], mode=BUILD, duration=0:00:01.242, duration_ms=1242, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:33:56], mode=BUILD, duration=0:00:07.004, duration_ms=7004, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:41:02], mode=BUILD, duration=0:00:01.226, duration_ms=1226, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:41:10], mode=BUILD, duration=0:00:07.023, duration_ms=7023, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:43:20], mode=BUILD, duration=0:00:01.308, duration_ms=1308, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:43:27], mode=BUILD, duration=0:00:06.960, duration_ms=6960, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:48:56], mode=BUILD, duration=0:00:01.230, duration_ms=1230, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:49:04], mode=BUILD, duration=0:00:07.030, duration_ms=7030, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:51:49], mode=BUILD, duration=0:00:01.289, duration_ms=1289, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:51:56], mode=BUILD, duration=0:00:07.167, duration_ms=7167, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:53:38], mode=BUILD, duration=0:00:01.323, duration_ms=1323, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 15:53:45], mode=BUILD, duration=0:00:06.982, duration_ms=6982, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 16:05:07], mode=BUILD, duration=0:00:01.478, duration_ms=1478, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 16:05:15], mode=BUILD, duration=0:00:07.135, duration_ms=7135, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 16:11:57], mode=BUILD, duration=0:00:01.173, duration_ms=1173, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 16:12:04], mode=BUILD, duration=0:00:06.991, duration_ms=6991, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 16:14:32], mode=BUILD, duration=0:00:01.197, duration_ms=1197, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-02 16:14:39], mode=BUILD, duration=0:00:06.965, duration_ms=6965, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-03 17:08:27], mode=BUILD, duration=0:00:02.727, duration_ms=2727, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-03 17:08:38], mode=BUILD, duration=0:00:10.132, duration_ms=10132, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-03 17:32:07], mode=BUILD, duration=0:00:01.285, duration_ms=1285, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-03 17:32:15], mode=BUILD, duration=0:00:07.239, duration_ms=7239, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-03 17:40:02], mode=BUILD, duration=0:00:00.524, duration_ms=524, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-03 17:40:09], mode=BUILD, duration=0:00:06.991, duration_ms=6991, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-03 17:40:50], mode=BUILD, duration=0:00:01.623, duration_ms=1623, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-03 17:40:57], mode=BUILD, duration=0:00:06.958, duration_ms=6958, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:30:23], mode=BUILD, duration=0:00:02.758, duration_ms=2758, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:30:34], mode=BUILD, duration=0:00:10.407, duration_ms=10407, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:32:13], mode=PLATFORM_GENERATION, duration=0:00:10.115, duration_ms=10115, data={name=NewInstCal_bsp} +timestamp=[2026-06-04 14:32:15], mode=BUILD, duration=0:00:01.495, duration_ms=1495, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:32:22], mode=BUILD, duration=0:00:07.120, duration_ms=7120, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:32:44], mode=BUILD, duration=0:00:00.535, duration_ms=535, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:32:52], mode=BUILD, duration=0:00:07.137, duration_ms=7137, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:33:32], mode=PLATFORM_GENERATION, duration=0:00:07.608, duration_ms=7608, data={name=NewInstCal_bsp} +timestamp=[2026-06-04 14:33:33], mode=BUILD, duration=0:00:00.563, duration_ms=563, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:33:41], mode=BUILD, duration=0:00:07.084, duration_ms=7084, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:35:48], mode=BUILD, duration=0:00:00.535, duration_ms=535, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:35:55], mode=BUILD, duration=0:00:07.025, duration_ms=7025, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:36:05], mode=PLATFORM_GENERATION, duration=0:00:07.671, duration_ms=7671, data={name=NewInstCal_bsp} +timestamp=[2026-06-04 14:36:05], mode=BUILD, duration=0:00:00.570, duration_ms=570, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:36:13], mode=BUILD, duration=0:00:07.416, duration_ms=7416, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:36:46], mode=PLATFORM_GENERATION, duration=0:00:07.560, duration_ms=7560, data={name=NewInstCal_bsp} +timestamp=[2026-06-04 14:36:46], mode=BUILD, duration=0:00:00.603, duration_ms=603, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:36:54], mode=BUILD, duration=0:00:07.121, duration_ms=7121, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:38:34], mode=PLATFORM_GENERATION, duration=0:00:22.048, duration_ms=22048, data={name=NewInstCal_bsp} +timestamp=[2026-06-04 14:38:49], mode=PLATFORM_GENERATION, duration=0:00:13.311, duration_ms=13311, data={name=NewInstCal_bsp} +timestamp=[2026-06-04 14:40:04], mode=WORKBENCH_START, duration=0:00:07.683, duration_ms=7683, data={} +timestamp=[2026-06-04 14:40:05], mode=WORKBENCH_UI_INIT, duration=0:00:01.292, duration_ms=1292, data={editors_count=1, platform_editors_count=1, projects_count=4, platform_projects_count=1, active_platform_editor=true, projects=NewInstCal_bsp,NewInstrCalBoard,NewInstrCalBoard_system,RemoteSystemsTempFiles} +timestamp=[2026-06-04 14:40:05], mode=PLATFORM_REPOSITORY_INIT, duration=0:00:00.598, duration_ms=598, data={} +timestamp=[2026-06-04 14:41:52], mode=PLATFORM_GENERATION, duration=0:00:14.119, duration_ms=14119, data={name=NewInstCal_bsp} +timestamp=[2026-06-04 14:41:55], mode=BUILD, duration=0:00:00.533, duration_ms=533, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:42:03], mode=BUILD, duration=0:00:07.024, duration_ms=7024, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:44:00], mode=PLATFORM_GENERATION, duration=0:00:07.614, duration_ms=7614, data={name=NewInstCal_bsp} +timestamp=[2026-06-04 14:44:01], mode=BUILD, duration=0:00:00.540, duration_ms=540, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:44:08], mode=BUILD, duration=0:00:07.156, duration_ms=7156, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:45:15], mode=PLATFORM_GENERATION, duration=0:00:06.811, duration_ms=6811, data={name=NewInstCal_bsp} +timestamp=[2026-06-04 14:45:16], mode=BUILD, duration=0:00:00.595, duration_ms=595, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:45:18], mode=BUILD, duration=0:00:02.146, duration_ms=2146, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:45:39], mode=PLATFORM_GENERATION, duration=0:00:10.091, duration_ms=10091, data={name=NewInstCal_bsp} +timestamp=[2026-06-04 14:45:40], mode=BUILD, duration=0:00:00.572, duration_ms=572, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:45:45], mode=BUILD, duration=0:00:04.983, duration_ms=4983, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:47:03], mode=PLATFORM_GENERATION, duration=0:00:08.578, duration_ms=8578, data={name=NewInstCal_bsp} +timestamp=[2026-06-04 14:47:04], mode=BUILD, duration=0:00:00.569, duration_ms=569, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:47:11], mode=BUILD, duration=0:00:07.111, duration_ms=7111, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:49:23], mode=PLATFORM_GENERATION, duration=0:00:34.426, duration_ms=34426, data={name=NewInstCal_bsp} +timestamp=[2026-06-04 14:49:23], mode=BUILD, duration=0:00:00.578, duration_ms=578, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:49:31], mode=BUILD, duration=0:00:07.112, duration_ms=7112, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:53:26], mode=BUILD, duration=0:00:01.328, duration_ms=1328, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:53:33], mode=BUILD, duration=0:00:07.067, duration_ms=7067, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:54:11], mode=BUILD, duration=0:00:00.530, duration_ms=530, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:54:18], mode=BUILD, duration=0:00:06.927, duration_ms=6927, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:57:34], mode=BUILD, duration=0:00:01.252, duration_ms=1252, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 14:57:42], mode=BUILD, duration=0:00:06.944, duration_ms=6944, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 15:07:07], mode=BUILD, duration=0:00:01.234, duration_ms=1234, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 15:07:15], mode=BUILD, duration=0:00:07.098, duration_ms=7098, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 15:08:12], mode=BUILD, duration=0:00:01.189, duration_ms=1189, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-04 15:08:19], mode=BUILD, duration=0:00:06.917, duration_ms=6917, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} +timestamp=[2026-06-16 09:59:46], mode=BUILD, duration=0:00:03.104, duration_ms=3104, data={name=NewInstrCalBoard, configuration=Debug, clean_build=false} +timestamp=[2026-06-16 09:59:57], mode=BUILD, duration=0:00:10.666, duration_ms=10666, data={name=NewInstrCalBoard_system, configuration=Debug, clean_build=false} diff --git a/Vitis_Classic/NewInstCal_bsp/platform.tcl b/Vitis_Classic/NewInstCal_bsp/platform.tcl index 0838a5b..17ad9e5 100644 --- a/Vitis_Classic/NewInstCal_bsp/platform.tcl +++ b/Vitis_Classic/NewInstCal_bsp/platform.tcl @@ -44,3 +44,13 @@ bsp reload catch {bsp regenerate} catch {bsp regenerate} platform generate +platform generate -domains zynq_fsbl +platform generate -domains zynq_fsbl +platform generate -domains zynq_fsbl +platform generate -domains zynq_fsbl +platform generate -domains zynq_fsbl +platform generate +platform generate -domains zynq_fsbl +platform generate +platform generate -domains zynq_fsbl +platform generate -domains zynq_fsbl diff --git a/Vitis_Classic/NewInstCal_bsp/zynq_fsbl/fsbl.elf b/Vitis_Classic/NewInstCal_bsp/zynq_fsbl/fsbl.elf index 89a5e1e..9ea3ac8 100755 Binary files a/Vitis_Classic/NewInstCal_bsp/zynq_fsbl/fsbl.elf and b/Vitis_Classic/NewInstCal_bsp/zynq_fsbl/fsbl.elf differ diff --git a/Vitis_Classic/NewInstCal_bsp/zynq_fsbl/fsbl_debug.h b/Vitis_Classic/NewInstCal_bsp/zynq_fsbl/fsbl_debug.h index a114aec..7404212 100644 --- a/Vitis_Classic/NewInstCal_bsp/zynq_fsbl/fsbl_debug.h +++ b/Vitis_Classic/NewInstCal_bsp/zynq_fsbl/fsbl_debug.h @@ -29,7 +29,7 @@ #ifdef __cplusplus extern "C" { #endif - +#define FSBL_DEBUG_INFO #define DEBUG_GENERAL 0x00000001 /* general debug messages */ #define DEBUG_INFO 0x00000002 /* More debug information */ diff --git a/Vitis_Classic/NewInstCal_bsp/zynq_fsbl/main.c b/Vitis_Classic/NewInstCal_bsp/zynq_fsbl/main.c index 780401b..038fc7d 100644 --- a/Vitis_Classic/NewInstCal_bsp/zynq_fsbl/main.c +++ b/Vitis_Classic/NewInstCal_bsp/zynq_fsbl/main.c @@ -151,8 +151,7 @@ #endif /**************************** Type Definitions *******************************/ -#define FSBL_DEBUG_INFO -#define QSPI_BYPASS +//#define QSPI_BYPASS /***************** Macros (Inline Functions) Definitions *********************/ #ifdef XPAR_XWDTPS_0_BASEADDR @@ -376,9 +375,11 @@ int main(void) BootModeRegister &= BOOT_MODES_MASK; #ifdef QSPI_BYPASS + fsbl_printf(DEBUG_GENERAL,"QSPI BYPASSED!\r\n"); BootModeRegister = JTAG_MODE; +#else + fsbl_printf(DEBUG_GENERAL,"Normal BootModeReg Read\r\n"); #endif - /* * QSPI BOOT MODE */ diff --git a/Vitis_Classic/NewInstrCalBoard/src/CPLD_Con.c b/Vitis_Classic/NewInstrCalBoard/src/CPLD_Con.c index 2376afe..ced6884 100644 --- a/Vitis_Classic/NewInstrCalBoard/src/CPLD_Con.c +++ b/Vitis_Classic/NewInstrCalBoard/src/CPLD_Con.c @@ -1,5 +1,142 @@ #include "CPLD_Con.h" +int CPLD_Checkin() +{ + int iStatus = -255; + u32 ureg_data = 0x0; + u8 uCPLD_Count = 3; + + xil_printf("[I] Start CPLD Check In...\r\n"); + xil_printf("[-]\t Checking CPLD #1\r\n"); + //Read CPLD IDENT Reg + iStatus = CPLD_Read(0x1,0x0,&ureg_data); + if (iStatus != XST_SUCCESS) + { + xil_printf("[E] CPLD #1 Communication Failed!\r\n"); + uCPLD_Count -= 1; + } + else + { + if (ureg_data == 0x0) + { + xil_printf("[E] CPLD #1 Not present! Or SPI communication Failed!\r\n"); + uCPLD_Count -= 1; + } + else + { + if ((ureg_data & 0x200000) != 0x200000) + { + u8 uCID = 0; + uCID = (u8)(ureg_data >> 16); + xil_printf("[E] CPLD #1 Firmware mismatch!\r\n[D] Expect CPLD ID == 1, but we received CPLD ID = 0x%02X\r\n",uCID); + uCPLD_Count -= 1; + } + else + { + u8 uMajorV = 0; + u8 uMinorV = 0; + u8 uFixV = 0; + + uMajorV = (u8)((ureg_data & 0x0f00)>>8); + uMinorV = (u8)((ureg_data & 0xf0)>>4); + uFixV = (u8)(ureg_data & 0xf); + + xil_printf("[I]\t Successfully Found CPLD #1!\r\n"); + xil_printf("[I]\t CPLD #1 Version: v%02d.%02d.%02d\r\n",uMajorV,uMinorV,uFixV); + } + } + } + + xil_printf("[-]\t Checking CPLD #2\r\n"); + //Read CPLD IDENT Reg + iStatus = CPLD_Read(0x2,0x0,&ureg_data); + if (iStatus != XST_SUCCESS) + { + xil_printf("[E] CPLD #2 Communication Failed!\r\n"); + uCPLD_Count -= 1; + } + else + { + if (ureg_data == 0x0) + { + xil_printf("[E] CPLD #2 Not present! Or SPI communication Failed!\r\n"); + uCPLD_Count -= 1; + } + else + { + if ((ureg_data & 0x400000) != 0x400000) + { + u8 uCID = 0; + uCID = (u8)(ureg_data >> 16); + xil_printf("[E] CPLD #2 Firmware mismatch!\r\n[D] Expect CPLD ID == 2, but we received CPLD ID = 0x%02X\r\n",uCID); + uCPLD_Count -= 1; + } + else + { + u8 uMajorV = 0; + u8 uMinorV = 0; + u8 uFixV = 0; + + uMajorV = (u8)((ureg_data & 0x0f00)>>8); + uMinorV = (u8)((ureg_data & 0xf0)>>4); + uFixV = (u8)(ureg_data & 0xf); + + xil_printf("[I]\t Successfully Found CPLD #2!\r\n"); + xil_printf("[I]\t CPLD #2 Version: v%02d.%02d.%02d\r\n",uMajorV,uMinorV,uFixV); + } + } + } + + xil_printf("[-]\t Checking CPLD #3\r\n"); + //Read CPLD IDENT Reg + iStatus = CPLD_Read(0x3,0x0,&ureg_data); + if (iStatus != XST_SUCCESS) + { + xil_printf("[E] CPLD #3 Communication Failed!\r\n"); + uCPLD_Count -= 1; + } + else + { + if (ureg_data == 0x0) + { + xil_printf("[E] CPLD #3 Not present! Or SPI communication Failed!\r\n"); + uCPLD_Count -= 1; + } + else + { + if ((ureg_data & 0x800000) != 0x800000) + { + u8 uCID = 0; + uCID = (u8)(ureg_data >> 16); + xil_printf("[E] CPLD #3 Firmware mismatch! Expect CPLD ID == 3, but we received CPLD ID = 0x%02X\r\n",uCID); + uCPLD_Count -= 1; + } + else + { + u8 uMajorV = 0; + u8 uMinorV = 0; + u8 uFixV = 0; + + uMajorV = (u8)((ureg_data & 0x0f00)>>8); + uMinorV = (u8)((ureg_data & 0xf0)>>4); + uFixV = (u8)(ureg_data & 0xf); + + xil_printf("[I]\t Successfully Found CPLD #3!\r\n"); + xil_printf("[I]\t CPLD #3 Version: v%02d.%02d.%02d\r\n",uMajorV,uMinorV,uFixV); + } + } + } + if(uCPLD_Count == 3) + { + return XST_SUCCESS; + } + else + { + xil_printf("[E] Only %d/3 CPLD Device is/are healthy\r\n",uCPLD_Count); + return XST_DEVICE_NOT_FOUND; + } +} + int CPLD_Write(u8 addr,u32 data) { u16 reg_addr = addr | 0x80; //Write bit set to 1'b1 @@ -27,17 +164,17 @@ int CPLD_Read(u8 CPLDSel, u8 reg_addr, u32* reg_data) { case 1: { - reg_data = uspi_read_onewire(reg_addr, dat_width,CPLD_U1); + *reg_data = uspi_read_onewire(reg_addr, dat_width,CPLD_U1); break; } case 2: { - reg_data = uspi_read_onewire(reg_addr, dat_width,CPLD_U2); + *reg_data = uspi_read_onewire(reg_addr, dat_width,CPLD_U2); break; } case 3: { - reg_data = uspi_read_onewire(reg_addr, dat_width,CPLD_U3); + *reg_data = uspi_read_onewire(reg_addr, dat_width,CPLD_U3); break; } @@ -47,6 +184,7 @@ int CPLD_Read(u8 CPLDSel, u8 reg_addr, u32* reg_data) return XST_INVALID_PARAM; } } + return XST_SUCCESS; } int CPLD_Read_ALL(u8 reg_addr, u32* reg_data) diff --git a/Vitis_Classic/NewInstrCalBoard/src/CPLD_Con.h b/Vitis_Classic/NewInstrCalBoard/src/CPLD_Con.h index c9bf8ee..6359db7 100644 --- a/Vitis_Classic/NewInstrCalBoard/src/CPLD_Con.h +++ b/Vitis_Classic/NewInstrCalBoard/src/CPLD_Con.h @@ -9,6 +9,7 @@ #define dat_width 3 +int CPLD_Checkin(); int CPLD_Write(u8 addr,u32 data); int CPLD_Read(u8 CPLDSel, u8 reg_addr, u32* reg_data); int CPLD_Read_ALL(u8 reg_addr, u32* reg_data); diff --git a/Vitis_Classic/NewInstrCalBoard/src/cal_meas.c b/Vitis_Classic/NewInstrCalBoard/src/cal_meas.c index 9f7d810..242ed67 100644 --- a/Vitis_Classic/NewInstrCalBoard/src/cal_meas.c +++ b/Vitis_Classic/NewInstrCalBoard/src/cal_meas.c @@ -9,6 +9,7 @@ int Command_Parser(u8* recvbuffer, u8 len) { + int iStatus = -255; switch (recvbuffer[0]) { case 0x00: @@ -17,10 +18,11 @@ int Command_Parser(u8* recvbuffer, u8 len) if (len != CPLD_SPI_READ + 1) { xil_printf("[E] Command Length Mismatch!\r\n[I] CPLD Read Format: \"00 [CPLD] [REG Addr]\"\r\n"); + return XST_INVALID_PARAM; } u32 reg_data = 0x0; - reg_data = CPLD_Read(recvbuffer + 1, recvbuffer + 2, reg_data); - xil_printf("[I] CPLD #%d: REG Addr #0x%01X: Data=0x%03X\r\n",recvbuffer + 1, recvbuffer + 2, reg_data); + iStatus = CPLD_Read(recvbuffer[1], recvbuffer[2], ®_data); + xil_printf("[I] CPLD #%d: REG Addr #0x%01X: Data=0x%06X\r\n",recvbuffer[1], recvbuffer[2], reg_data); break; } case 0x01: @@ -37,11 +39,22 @@ int Command_Parser(u8* recvbuffer, u8 len) } case 0xA0: { + int iStatus = -255; xil_printf("[D] Matched Command Reset\r\n"); rst_CPLD(CPLD_U1,4); rst_CPLD(CPLD_U2,4); rst_CPLD(CPLD_U3,4); xil_printf("[I] CPLD RST Done\r\n"); + iStatus = CPLD_Checkin(); + if (iStatus != XST_SUCCESS) + { + xil_printf("[E] CPLD Check-in Failed!\r\n"); + return XST_FAILURE; + } + else + { + xil_printf("[I] All 3/3 CPLD Checked In!\r\n"); + } break; } case 0xA1: //DC Cal @@ -105,9 +118,9 @@ int DC_Control(u8* idata) //Let's do some sanity check //Slot - if ((u_slot > 4) || (u_slot == 0)) + if (u_slot > 4) { - xil_printf("[E] Illege Slot Num check Command! (Slot:1-4)\r\n"); + xil_printf("[E] Illege Slot Num check Command! (Slot:0(OFF)-4)\r\n"); cmdValid = -1; } //Dev Sel @@ -132,7 +145,7 @@ int DC_Control(u8* idata) if ((u_ch_Num < 1) || (u_ch_Num > 64)) { - xil_printf("[E] Illege Channel! (PMU Ch:0x0001-0x0040)\r\n"); + xil_printf("[E] Illege Channel! (DPS Ch:0x0000-0x0040)\r\n"); cmdValid = -3; } } @@ -144,9 +157,9 @@ int DC_Control(u8* idata) cmdValid = -5; } //RLoad Sel - if ((u_rLoad > 18) || (u_rLoad == 0)) + if (u_rLoad > 18) { - xil_printf("[E] Illege RLoad Select check Command! (RLoad:0x01-0x12)\r\n"); + xil_printf("[E] Illege RLoad Select check Command! (RLoad:0x00(OPEN)-0x12)\r\n"); cmdValid = -6; } if (cmdValid != 1) diff --git a/Vitis_Classic/NewInstrCalBoard/src/main.c b/Vitis_Classic/NewInstrCalBoard/src/main.c index d27eaa1..3593f70 100644 --- a/Vitis_Classic/NewInstrCalBoard/src/main.c +++ b/Vitis_Classic/NewInstrCalBoard/src/main.c @@ -41,29 +41,45 @@ #include "cal_meas.h" #include "uart_IO.h" +#define MAJORV 0 +#define MINORV 1 +#define FIXV 2 + u8 recvbuffer[1024] = {0}; int main() { - + int iStatus = -255; init_platform(); - xil_printf("=====================\r\n[I] System Init Done!\r\n"); + xil_printf("=====================\r\n[I] System Init Done!=====================\r\n"); + xil_printf("\r\n[I] Zynq Version:NewInstCal v%d.%d.%d\r\n\r\n",MAJORV,MINORV,FIXV); xil_printf("[D] Start EMIO Config\r\n"); EMIO_config(); xil_printf("[D] End of EMIO Config\r\n"); - + + xil_printf("[D] Config CPLD SPI to known state\r\n"); + interface_initial(CPLD_U1); + interface_initial(CPLD_U2); + interface_initial(CPLD_U3); xil_printf("[D] Start CPLD Reset\r\n"); rst_CPLD(CPLD_U1,4); rst_CPLD(CPLD_U2,4); rst_CPLD(CPLD_U3,4); xil_printf("[D] End of CPLD Reset\r\n"); + iStatus = CPLD_Checkin(); + if (iStatus != XST_SUCCESS) + { + xil_printf("[E] main() stopped!\r\n"); + return XST_FAILURE; + } + else + { + xil_printf("[I] All 3/3 CPLD Checked In!\r\n"); + } + - xil_printf("[D] Config CPLD SPI to known state\r\n"); - interface_initial(CPLD_U1); - interface_initial(CPLD_U2); - interface_initial(CPLD_U3); xil_printf("[I] Board Init Complete!\r\n[I] Waiting for Command...\r\n"); /* receive and process Instructions */ diff --git a/Vitis_Classic/fsbl_jtag.elf b/Vitis_Classic/fsbl_jtag.elf new file mode 100644 index 0000000..4d7c960 Binary files /dev/null and b/Vitis_Classic/fsbl_jtag.elf differ