From 47686090b909a145fefca5dac6d4e7eab7985046 Mon Sep 17 00:00:00 2001 From: woody Date: Thu, 2 Jul 2026 10:13:01 +0900 Subject: [PATCH] update --- .../PMIC_I2C_SDA_Low/Debug_Memo_20260629.txt | 13 ++++ .../PMIC_I2C_SDA_Low/Debug_Memo_20260630.txt | 17 +++++ .../PMIC_Cmd_Tool/src/PMIC_Cmd_Tool.cpp | 64 +++++++++++++++++-- .../MCAL_19_4_0.a5134225.silent.dcusr | 4 +- .../V4H/include/arm/App_Woody_V4H_Sample.h | 4 +- .../V4H/src/App_Woody_V4H_Sample.c | 21 ++++++ ...rv4h-cr52_sieve_smp_offchip_trace_sram.cmm | 4 +- 7 files changed, 114 insertions(+), 13 deletions(-) create mode 100644 Customer/MOBIS/PRK3_(ADAS_Parking3)/Issue/PMIC_I2C_SDA_Low/Debug_Memo_20260629.txt create mode 100644 Customer/MOBIS/PRK3_(ADAS_Parking3)/Issue/PMIC_I2C_SDA_Low/Debug_Memo_20260630.txt diff --git a/Customer/MOBIS/PRK3_(ADAS_Parking3)/Issue/PMIC_I2C_SDA_Low/Debug_Memo_20260629.txt b/Customer/MOBIS/PRK3_(ADAS_Parking3)/Issue/PMIC_I2C_SDA_Low/Debug_Memo_20260629.txt new file mode 100644 index 00000000..ad3d9d93 --- /dev/null +++ b/Customer/MOBIS/PRK3_(ADAS_Parking3)/Issue/PMIC_I2C_SDA_Low/Debug_Memo_20260629.txt @@ -0,0 +1,13 @@ +PMIC¿Í I2C Åë½ÅÀ» Çϰí ÀÖ´Ù. +¿ÍÄ¡µ¶ ¿¡ÀÌ¡ Test Áß I2C Åë½ÅÀÌ Stuck°¡ µÇ´Â Çö»óÀÌ ÀÖ´Ù. »ó¼¼ÇÑ ³»¿ëÀº ºÐ¼®ÁßÀÌ´Ù. + +ȯ°æ +4´ë ¿¡ÀÌ¡ Test +1´ë·Î ¸ñ¿äÀÏ&±Ý¿äÀÏÀº ÀçÇöµÇÁö ¾ÊÀ½. +±Ý¿äÀÏ Àú³áºÎÅÍ 3´ëÃß°¡ ÇØ¼­ 4´ë·Î(3´ë´Â ÃÊÀ½ÆÄ+Ä«¸Þ¶ó¿¬°áÇÔ, 1´ë´Â Board¸¸ »ç¿ë) ¿ÍÄ¡µ¶ ¿¡ÀÌ¡½Ã ¿ù¿äÀÏ ¿ÀÀü¿¡ ¹®Á¦°¡ ÀçÇöµÇ¾î ¿¬¶ôÀ» ¹ÞÀ½. + +¸¸¾à I2C Åë½ÅÁß¿¡ PMIC°¡ SDA¸¦ Low·Î ÀâÀ» °æ¿ì MCAL Driver´Â ¾î¶»°Ô µ¿ÀÛÇϴ°¡? + +4´ëÀÇ ½Ã·áÁß 1´ë(1¹ø)´Â ÆÄÇü ºÐ¼® ºÒ°¡ + + \ No newline at end of file diff --git a/Customer/MOBIS/PRK3_(ADAS_Parking3)/Issue/PMIC_I2C_SDA_Low/Debug_Memo_20260630.txt b/Customer/MOBIS/PRK3_(ADAS_Parking3)/Issue/PMIC_I2C_SDA_Low/Debug_Memo_20260630.txt new file mode 100644 index 00000000..574472fd --- /dev/null +++ b/Customer/MOBIS/PRK3_(ADAS_Parking3)/Issue/PMIC_I2C_SDA_Low/Debug_Memo_20260630.txt @@ -0,0 +1,17 @@ +PMIC¿Í I2C Åë½ÅÀ» Çϰí ÀÖ´Ù. +¿ÍÄ¡µ¶ ¿¡ÀÌ¡ Test Áß I2C Åë½ÅÀÌ Stuck°¡ µÇ´Â Çö»óÀÌ ÀÖ´Ù. »ó¼¼ÇÑ ³»¿ëÀº ºÐ¼®ÁßÀÌ´Ù. + +ȯ°æ +4´ë ¿¡ÀÌ¡ Test + +1¹ø Á¤»ó +2¹ø NG, SDA ³ª°¡´Ù°¡ Low +3¹ø NG, µ¥ÀÌÅÍ 00°¡ ³ª°¡´Ù°¡ Low +4¹ø Á¤»ó + + +¡Ú I2C ÆÐÄ¡ ¹ÌÀû¿ëÀ¸·Î ¹ß»ýÇÏ´Â ¹®Á¦·Î °á·ÐÀ̳². +¸®Æ®¶óÀÌ Ä«¿îÆ®°¡ 2000 À̸é NG -> ÆÐÄ¡ Àû¿ë ÈÄ ÀçÇöÀÌ ¾ÈµÊ. +40,000 À̸é OK -> ÆÐÄ¡ Àû¿ë ÈÄ ¹®Á¦ ¾øÀÌ µ¿ÀÛÇÔ +MAx 0xFFFFFF ÀÌ¸é ¾îµð¼±°¡ °è¼Ó ¹®Á¦°¡ ¹ß»ýÇØ¼­ I2C°¡ Á×À½. -> ÆÐÄ¡ Àû¿ë ÈÄ ÀçÇöÀÌ ¾ÈµÊ. + diff --git a/Src/0_Tool/PMIC_Tool/PMIC_Cmd_Tool/src/PMIC_Cmd_Tool.cpp b/Src/0_Tool/PMIC_Tool/PMIC_Cmd_Tool/src/PMIC_Cmd_Tool.cpp index d05b252c..0884d1a8 100644 --- a/Src/0_Tool/PMIC_Tool/PMIC_Cmd_Tool/src/PMIC_Cmd_Tool.cpp +++ b/Src/0_Tool/PMIC_Tool/PMIC_Cmd_Tool/src/PMIC_Cmd_Tool.cpp @@ -47,6 +47,13 @@ void Run_ReadChipInfo(FT_HANDLE ftHandle); void Irq_Clear(FT_HANDLE ftHandle); // PMIC Irq Clear void Set_Reset(FT_HANDLE ftHandle); // PMIC Set Reset void Set_Error(FT_HANDLE ftHandle); // PMIC Set Error +void Set_CRC_On(FT_HANDLE ftHandle); // PMIC Set CRC ON +void Set_CRC_Off(FT_HANDLE ftHandle); // PMIC Set CRC OFF + +void Set_FLT_MASK_B(FT_HANDLE ftHandle); // PMIC Set FLT_MASK_B + + + void Handle_ManualCommand(FT_HANDLE ftHandle, char* line); // Manual Command int main() @@ -59,14 +66,18 @@ int main() while (1) { printf("\n========================================\n"); printf(" [MAIN MENU] Select a function\n"); - printf(" 1. Toggle PMIC Debug Mode ON\n"); - printf(" 2. Toggle PMIC Debug Mode OFF\n"); - printf(" 3. Read All Fault Status\n"); - printf(" 4. Read Device Info & OTP\n"); - printf(" 5. PMIC Irq Clear\n"); - printf(" 6. PMIC Set Reset\n"); - printf(" 7. PMIC Set Error\n"); + printf(" 1. Toggle PMIC Debug Mode ON\n"); + printf(" 2. Toggle PMIC Debug Mode OFF\n"); + printf(" 3. Read All Fault Status\n"); + printf(" 4. Read Device Info & OTP\n"); + printf(" 5. PMIC Irq Clear\n"); + printf(" 6. PMIC Set Reset\n"); + printf(" 7. PMIC Set Error\n"); + printf(" 8. PMIC Set FLT_MASK_B\n"); + printf(" 9. PMIC Set CRC ON\n"); + printf(" 10. PMIC Set CRC OFF\n"); + printf(" \n"); printf(" W. Manual I2C Write (w [Addr] [Reg] [Val])\n"); printf(" R. Manual I2C Read (r [Addr] [Reg])\n"); printf(" E. Exit Program\n"); @@ -136,6 +147,18 @@ int main() Set_Error(ftHandle); break; + case 8: + Set_FLT_MASK_B(ftHandle); + break; + + case 9: + Set_CRC_On(ftHandle); + break; + + case 10: + Set_CRC_Off(ftHandle); + break; + default: printf("\n[ERROR] Menu number %d does not exist.\n", choice); break; @@ -737,6 +760,33 @@ void Set_Error(FT_HANDLE ftHandle) PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x0C, 0x06); //0x0C - FUSA_CTRL_5 } +// PMIC Set FLT_MASK_B +void Set_FLT_MASK_B(FT_HANDLE ftHandle) +{ + printf("PMIC Set FLT_MASK_B\n"); + PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x01); //0x00 - Page0x01 + PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x01); //0x00 - Page0x01 + PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x2C, 0x3F); //0x2C - FLT_MASK_B +} + +// PMIC Set CRC On +void Set_CRC_On(FT_HANDLE ftHandle) +{ + printf("PMIC Set CRC ON\n"); + PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x01); //0x00 - Page0x01 + PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x01); //0x00 - Page0x01 + PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x05, 0x01); //0x05 - IO_FUNC_CFG +} + +// PMIC Set CRC Off +void Set_CRC_Off(FT_HANDLE ftHandle) +{ + printf("PMIC Set CRC OFF\n"); + PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x01); //0x00 - Page0x01 + PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x00, 0x01); //0x00 - Page0x01 + PMIC_I2C_Write(ftHandle, PMIC_ADDR_PROTECTION, 0x05, 0x00); //0x05 - IO_FUNC_CFG +} + // Manual Command void Handle_ManualCommand(FT_HANDLE ftHandle, char* line) { diff --git a/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/DaVinci_Project/MCAL_19_4_0.a5134225.silent.dcusr b/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/DaVinci_Project/MCAL_19_4_0.a5134225.silent.dcusr index 5d083d7e..de3bc2cc 100644 --- a/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/DaVinci_Project/MCAL_19_4_0.a5134225.silent.dcusr +++ b/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/DaVinci_Project/MCAL_19_4_0.a5134225.silent.dcusr @@ -56,8 +56,8 @@ - - + + diff --git a/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/MCAL-v4h_19.4.0.D_release/rel/modules/woody/sample_application/V4H/include/arm/App_Woody_V4H_Sample.h b/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/MCAL-v4h_19.4.0.D_release/rel/modules/woody/sample_application/V4H/include/arm/App_Woody_V4H_Sample.h index 84ba84ab..c82be40b 100644 --- a/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/MCAL-v4h_19.4.0.D_release/rel/modules/woody/sample_application/V4H/include/arm/App_Woody_V4H_Sample.h +++ b/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/MCAL-v4h_19.4.0.D_release/rel/modules/woody/sample_application/V4H/include/arm/App_Woody_V4H_Sample.h @@ -9,13 +9,13 @@ /******************************************************************************* ** Include Section ** *******************************************************************************/ -#include "Interrupt.h" -#include "App_Woody_V4H_I2c.h" + /******************************************************************************* ** Global Symbols ** *******************************************************************************/ +extern void Woody_Initialize(void); #endif /* APP_WOODY_V4H_SAMPLE_H */ diff --git a/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/MCAL-v4h_19.4.0.D_release/rel/modules/woody/sample_application/V4H/src/App_Woody_V4H_Sample.c b/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/MCAL-v4h_19.4.0.D_release/rel/modules/woody/sample_application/V4H/src/App_Woody_V4H_Sample.c index fa85b845..6469e599 100644 --- a/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/MCAL-v4h_19.4.0.D_release/rel/modules/woody/sample_application/V4H/src/App_Woody_V4H_Sample.c +++ b/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/MCAL-v4h_19.4.0.D_release/rel/modules/woody/sample_application/V4H/src/App_Woody_V4H_Sample.c @@ -10,6 +10,9 @@ #include "Mcu_PBTypes.h" #include "Port.h" +#include "scif.h" +#include "log.h" + void MCU_RESET_CALLOUT(void) { // Mcu_GucIntCount++; @@ -52,3 +55,21 @@ void Interrupt_Init(void) /* enable interrupts in the CR processor */ cpuirq_enable(); } + +void Woody_Initialize(void) +{ + // /* Initialize SCIF module */ + Scif_Init(); + + /* Print Start program */ + Console_Print("\r\nWoody APP PROGRAM START\r\n"); + + /* Initialize MCU */ + Mcu_Init(Mcu_ModuleConfiguration); + + /* Initialize PORT */ + Port_Init(PortConfigSet); + + /* Initialize Interrupt */ + Interrupt_Init(); +} diff --git a/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/Tr32_Script/EVB/Lauterbach/Woody_r_carv4h-cr52_sieve_smp_offchip_trace_sram.cmm b/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/Tr32_Script/EVB/Lauterbach/Woody_r_carv4h-cr52_sieve_smp_offchip_trace_sram.cmm index 85f40f7c..e512a860 100644 --- a/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/Tr32_Script/EVB/Lauterbach/Woody_r_carv4h-cr52_sieve_smp_offchip_trace_sram.cmm +++ b/Src/Gen4_R-Car_MCAL/2_Trunk/V4H/Tr32_Script/EVB/Lauterbach/Woody_r_carv4h-cr52_sieve_smp_offchip_trace_sram.cmm @@ -111,8 +111,8 @@ Data.LOAD.Elf C:\Work\Src\Gen4_R-Car_MCAL\2_Trunk\V4H\MCAL-v4h_19.4.0.D_release\ ;Register.Set T 0 ;CORE 0 -Core.select 2 -register.set pc intvect_CoreExceptions +;Core.select 2 +;register.set pc intvect_CoreExceptions Core.select 0 ; --------------------------------------------------------------------------------