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
; --------------------------------------------------------------------------------