Files
0_Doc/0_Update Folder/PRK3 MCU Issue History.txt
2025-10-02 12:32:38 +09:00

387 lines
14 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

★1.기능안전 PMIC (w/MTCI) https://onefieldjira.renesas.com/browse/REKR_MOBIS-597
○PMIC 제어 위한 I2C 통신 中 End Notification 미 호출에 따른 수행 멈춤 (6/187/18)
?모비스 자체 Workaround 로 Spinlock 적용 후 재현 안됨
?Aging 하여 모니터링 中 (7/1)
○르네사스와 합동 점검 (7/1)
?문제 발생 시 특정 레지스터의 상태값이 변경되지 않음 → 르네사스 본사에 문의 中
?7/11 르네사스 답변이 달렸으나 문제되는 레지스터에 대한 내용이 아니어서 7/14에 레지스터에 대한 정보 재요청
> Mobis와 합동 점검 당시, I2C 하드웨어 회로도 이상 유무 확인, I2C 우선순위 변경, I2C 클럭 변경, 그리고 I2C 함수의 리턴값 확인 등을 진행하였으나, 별다른 문제는 발견되지 않았습니다.
> 이에 문제 발생 시와 정상 동작 시의 레지스터 값을 덤프하여 Jira(https://onefieldjira.renesas.com/browse/REKR_MOBIS-597))를 통해 본사에 문의하였으나, 아직 회신을 받지 못한 상태입니다.
왜 발생하지?
클럭과 데이터가 2개 없음. 소실되는 것 같음. 노이즈 때문일까? 필터를 다는 것은 가능한가?
인터럽트는 왜 발생하는 거지?
>레지스터 분석
>회피방법은? 리셋하면 뭐가 리셋이 되지?
> 로드 줄여서 Test해보기
> 다른 I2C 디바이스와 통신 해보기
뭘했는지 남겨두기
리셋 함수로 초기화 해도 왜 레지스터가 리셋 되지 않지?
레지스터 리셋 하는 방법이 없을 까?
디버깅
모비스 스턱나는 바이너리 넣어서 확인해보기.
왜 PMIC와 I2C 통신하면 뻣어 버리냐?
PMIC I2C 사양확인해보기
뭔가 PMIC에서 잡고 있는듯
1.2 SM 6.10 Unintended Interrupt Check 항목 테스트 중 인터럽트 값이 항상 1023으로 읽혀 르네사스 코리아에 문의 요청(7/11)
- https://onefieldjira.renesas.com/browse/REKR_MOBIS-694
본 건은 금일 Mobis 인도 팀과의 PMIC 정례회에서도 언급이 있었습니다. 본사의 Support가 필요하다고 판단되어 Jira등록을 Mobis 인도팀에 요청 했습니다.
> Mobis 인도팀에서 자체적으로 Close하였습니다.
I2C Frequency, Duty 조절 위한 설정 가이드 요청(7/10)
○365kHz, 25% → 400kHz, 50%로 수정 필요
저희가 보유한 Mobis 보드로 테스트한 결과 Duty가 50%로 정상적으로 확인되어, 의심되는 부분에 대해 추가로 점검해 달라고 작일 Mobis에 요청하였습니다.
> Mobis에서 재확인한 결과 문제 없음.
Global timestamp 패치 요청(7/14)
저희는 A-Core(Linux)용 Timestamp 샘플 코드를 보유하고 있으며, 이를 모비스에 전달하였습니다. (https://onefieldjira.renesas.com/browse/REKR_MOBIS-686)
해당 샘플 코드는 GHS RH850 컴파일러(ICUMX IPL)와 GCC ARM 10.3 컴파일러(CR5 코어와 CA 코어 모두)에서 빌드가 되는 것을 확인 하였습니다.
이에 모비스가 Autosar R-Core 환경에 맞게 해당 코드를 수정하여 빌드해야 합니다.
> Mobis에서 수정중
★4. Safety Mechanism
SAN 참고해서 예를 들어 Unintended Interrupt Check 일때 어떻게 설정하고 어떤 인터럽트가 뜨는지 소프트웨어어적으로 분석이 필요.
PG 요청 사항
고객은 CR52-Core에서 일부 Safety Mechanism을 구현하려고한다.
고객인 참고할 수 있는 가이드가 필요하다. CR52-Core Safety Sample Code 및 관련 자료를 요청한다.
AI
Post Build Time이 어떤 의미인지 확인
ECM(에러 제어 모듈)과 연동하여 6.10 Unintended Interrupt Check를 수행할 경우,
필요한 설정 사항과 인터럽트 등의 알림 방식이 어떻게 되는지 확인
sob san 6에 았는 건 어떤
api에서 어떤 리턴을 받는지. 확인
소프트웨어 인덱싱. 소프트웨 전달 패스는 어떻게 되는지.
ecm 컨트롤 하는 것 소프트위어 아키텍처 확인
차주까지.
Summary
1.기능안전 PMIC 관련
1.1 I2C 통신 Error건
현재 PG로부터 Jira 문의에 대한 회신을 기다리고 있으며, 조명제 연구원과 함께 해당 문제를 최우선으로 디버깅하고 있습니다.
1.2 SM 6.10 Unintended Interrupt Check 항목 테스트 중 인터럽트 값이 항상 1023 읽힘건
Mobis 인도 팀이 Jira 등록을 완료하였으나, 이후 해당 이슈를 Mobis 자체적으로 종료(Close) 처리하였습니다.
I2C Frequency, Duty 조절 위한 설정 가이드 요청 건
(365kHz, 25% → 400kHz, 50%로 수정 필요)
저희가 보유한 Mobis 보드로 테스트한 결과, 듀티(Duty)가 50%로 정상적으로 확인되어, 의심되는 부분에 대해 추가 점검을 요청하였으며 현재 Mobis에서 확인 중입니다.
Mobis가 Duty 50%로 동작하는 것을 확인함(Close)
Global timestamp 패치 요청(7/14)
A-Core(Linux)용 타임스탬프 샘플 코드를 Mobis에 전달하였으며, 현재 Mobis에서 R-Core 환경에 맞게 해당 코드를 수정 중입니다.
★ 아래 내용은 Update하지 않아도 됨.
수요일 13시 이정원 실장님, PRK3 TMM material
MCU Issue 발표 내용.
저희가 대응하는 우선 순위별로 CR-Core Issue를 리스트 업한 것입니다.
1. CR-Core가 PMIC와 I2C 통신하는데 랜덤하게 I2C 완료 인터럽트가 발생하지 않는 건 입니다.
앞으로 어떤 확인을 할껀지
문제 발생했을 때와 하지 않았을때의 Register 덤프 비교 분석
I2C H/W 사양확인
어떤 Test를 했는지
1. I2C 채널 5의 인터럽트 우선순위는 최고 수준으로 설정되었지만, 문제가 계속 발생하고 있습니다.
2. CddIic_Ch5Write 및 CddIic_Ch5Read 함수의 반환값은 모두 RTE_E_OK로, 함수 호출 자체에는 문제가 없음을 나타냅니다.
3. 연결된 I2C 디바이스는 PMIC IC와 VDD 전원 제어 IC이며, VDD 전원 제어 IC 쪽의 I2C 라인을 오픈해 둔 상태에서도 문제가 여전히 발생합니다.
4. I2C 통신 속도를 400 kbps에서 200 kbps로 낮추었지만, 문제는 해결되지 않았습니다.
2. Global timestamp건
목적: AP-Core에도 구현되어 있습니다만, CR52 코어와 A76 코어간 Global timestamp 를 공유하고자 CR-Core에도 사용할 수 있게 패치를 요청한 건.
확인 결과 timestamp는 AP-Core쪽만 Sample Code가 있었고 CR-Core에서 사용할 수 있게끔 별도의 패치는 없었습니다.
하지만 Linux환경에서 CR-Core와 CA-Core 모두 문제 없이 컴파일 되는 Sample Code를 전달 했으며,
오토사BSW개발팀 조명제 연구원이 윈도우 Autosar 환경에서 컴파일 되게끔 수정하고 있습니다.
> 본사 커맨트
> 이 소스 코드는 ICUMX IPL용 GHS RH850 컴파일러와 CR52 코어 및 CA 코어용 GCC ARM 10.3 컴파일러를 모두 사용하여 컴파일했습니다.
> 제 작업 환경은 Linux이지만 Windows 환경에서 컴파일해도 아무런 문제가 없습니다.
3. 세이프티 메카니즘에서 인터럽트 값이 항상 동일하게 발행하는 건
4. I2C Duty 설정건
★ 준비물
멀티탭
살리, Power
Tr32
보드.
비글
연구원님 없는동안 누구한테 방문등록 신청할지 확인
0.웹미팅 : 불가
1. 빌드 방법 -> BWW_RTE에서 우클릭 -> Open Terminal -> .\Build.bat RS4 NONE NONE
Out폴더에 파일들이 생성됨
- 와치독 코드 확인 -> 인도팀으로 부터 받아야함.
- I2C 스턱 코드 이것만 분석 가능.
CtCdSDL.c
2. Binary Write 방법 -> Terraterm TTL 실행
3. Tr32 연결방법 -> C드라이브에 T32_V4H_202406 ->Bin -> Win64->t32start.exe
4. 벡터 Tool은 USB 라이센스 동글 필요.
재현확인후
베트남 요청 사항
1. work-around
- 리턴값 OK인지 확인후 진행
>https://teams.microsoft.com/l/meetingrecap?driveId=b%211Ktorb39oEaU7AGlmVVBuSfS_Kik4l9IpyahL7k8C9l96WPy5vpnTqNa_XPG_ZSR&driveItemId=01ELYJII2JVXYZCIVS7BAKX3H4T5WDBCJQ&sitePath=https%3A%2F%2Frenesasgroup-my.sharepoint.com%2F%3Av%3A%2Fg%2Fpersonal%2Fwoody_jang_xc_renesas_com%2FEUmt8ZEisvhAq-z8n2wwiTABcW6An7HFaI4r1Ro3RilWeg&fileUrl=https%3A%2F%2Frenesasgroup-my.sharepoint.com%2Fpersonal%2Fwoody_jang_xc_renesas_com%2FDocuments%2FRecordings%2FLuis%2520Kim%2520%25EB%258B%2598%25EA%25B3%25BC%2520%25ED%2586%25B5%25ED%2599%2594-20250814_181815-%25EB%25AA%25A8%25EC%259E%2584%2520%25EB%2585%25B9%25EC%259D%258C%25EB%2585%25B9%25ED%2599%2594.mp4%3Fweb%3D1&threadId=19%3A3a29c45c-eca8-4c42-b896-b55901017294_d53fa3a3-f232-4b71-8005-843b42ba969f%40unq.gbl.spaces&callId=e63b625a-db6e-4147-8fb9-575d11409401&threadType=OneOnOneChat&meetingType=Unknown&subType=RecapSharingLink_RecapCore
DDR 메모리 설정
고객은 MPU 설정에 힘들어 하고 있다.
혹시 우리는 MPU 설정하는 예제가 있는가?
The customer is having trouble setting up the MPU(memory protection unit).
Do you have any examples of setting up the MPU?
재현 상태확인
복구 할 수 있는 방법
베트남 코드 Test
인터럽트 설정이 잘 되었는지 확인
Write 2번 Test
MCAL 쪽에서 초기화 하는 것이 있는지 확인
1. 레벨 -> 복귀가 됨.
2. 초기화값 -> 모듈이 리셋 되는 것 같다.
3. 인터럽트 디세이블 -> OS가 멈춤 걸리는 듯.
정리해서 메일로 보고.
RV-VRAM
MPU설정 메모리 관리 방법
RCar 메모리구조(RAM(DRAM, SRAM)) 및 설정방법
CR-Core's Startup 매소드
멀티코어사용하는데 있어, CR-Core Boot(Core0, Core1, Core2) & 메모리 설정방법을 교육에 포함해 줄수 있겠어?
안녕하세요. 장승혁입니다.
I2C Stuck건으로 금일 디버깅한 내용을 회신 드립니다.
Test 환경 : CR-Core(Core0, Core2)와 CA-Core가 동작함
사용 Binary : 2025-07-22메일의 20250703IPL.zip, ADASPRK3.srec(NotePC에 셋업된 CR-Core S/W)
Case 1. 엣지 방식에서 레벨방식으로 변경설정 확인. -> 증상이 줄어드는 것을 확인함
Case 2. OS-Stuck -> 분석 불가
Case 3. 외부요인으로 I2C Module이 초기화가됨 -> 분석 불가
모비스에서 Core0으로 기능을 이관 완료후 추이 확인
모비스에서 싱글코어로 I2C Stuck은 발생하지 않는다고 인도팀도 확인했고 코리아팀도 확인했다.
Multi 코어 설정이 잘안되고 있다.
차후 확인 사항은 아래 부분
RTVAM 얼라인 256?
32인가 8 인가
Sca.파일 분석
Gen4_R-Car
멀티코어 메모리 쪽 검토를 해달라.
베트남에 요처한 사항
V4H internal memory structure ( ex: RT-VRAM )
RT-VRAM use case for multi CR-core usage
How set up MPU for multi CR-core use case
Spinlock for multi CR-core use case( ex: SPI/GPT/watchdog )
When using system RAM as share memory(non-cached), how guarantee access order
고객의 필요한 내용.
(1) booting issue with multi CR core usage case
(2) I2C stuck issue with multi CR core use case
멀티코어 설정은 어떻게 하는가
각 코어 메모리 설정은?
1. Shared Memory 설정?
2. 각 Core별로 사용하는 메모리를 설정
2번에 normal non-cacheable 일 듯 한데.
RT-VRAM/DRAM/RT-SRAM?
5차 보드 받을 수 있는지 김정수 책임님.에게 문의
20250827 Multi Core Boot Fail 환경
MCU (CR0~2) 멀티코어 사용에 있어, 각 코어의 MPU (Memory Protection Unit)설정에 대해 문의드립니다.
CR0~2의 코어들은 AUTOSAR 기반으로 동작하며, 이미지는 하나입니다.
또한 코드/데이터는 모두 DDR 메모리에 로드 되어 동작합니다.
각 코어의 AUTOSAR 간 SHARED MEMORY 는 System RAM 을 이용합니다.
현재 부팅 시 prefect abort 등 exception이 발생합니다.
이는 mpu 설정이 잘 설정되지 않아서 일 듯 합니다.
Arm Cortex R52 코어의 동작에 맞는 설정이 필요해 보입니다.
특히 DDR 메모리는 RT-VRAM1 의 Extended 모드로 접근합니다.
이중 캐시로 보여지는데 이의 경우, 어떻게 MPU를 설정하면 좋을 지 문의드립니다.
CR0~2의 코어들은 AUTOSAR 기반으로 동작하며, 이미지는 하나
코드/데이터는 모두 DDR 메모리(RT-VRAM1 의 Extended 모드)에 로드
System RAM을 SHARED MEMORY로 사용
현재 부팅 시 prefect abort 등 exception이 발생
MPU 설정이 Single Core용 혹은 Multi Core용 설정이 있을지 모르겠으나 MPU설정이 잘 되니 않아 발생하는 문제로 추정
MCU 파트 AP 파트 각각 개발을 시작
MCU
C0 -> 사용. C2 점프뛰면서 로 사용.
C1 -> 조용일 책임이 사용한다고 함.
C2 -> C0 이후 사용.
C0 -> 정상
C1 -> Abort, 예외로 빠짐. 그리고 갠이 멈춤
C2-> Abort, 예외로 빠짐. 그리고 갠이 멈춤
C0 only, C1, C2의 컴포넌트를 C0으로 넣음(3%로 멈춤). -> C0과 C2를 사용하는 것으로 설정할 것임.
SC1까지는 되었는데, SC3까지는 못감.
ATCM, BTCM, CTCM.
AP를 키면 가중됨
I캐쉬, D캐쉬.
AP
T사 이력은. R5코어 strong order를 사용함.(메모리 순서를 변경함.)
백터는 각각 이미지를 올려서 사용하는 것을 권장하지 않음.
쉐어드 메모리는 필요함.
MPU 설정
IO 내부 레지스터 <- MCAL에 start, asm
1. 스타트 엔드 얼라인이 맞는지 확인이 필요.
2. 코어 하나만 설정하면, 캐쉬는 자동 할당? 코어 3개이면 코어하나당 사용하는 캐쉬가 줄어드나?
RT-VRAM1 램이 캐쉬로 되면서 RT-VRAM1 28M로 확장. 1M는 캐쉬로 사용. 이중 캐쉬가 맞나?
RT-VRAM설정이 맞는가?
EVB로 싱글OK, NG, 멀티NG 인 소스 코드 환경을 받기.
2.ICMUX 로드에서 MPU 설정을 하고 있음. Boot 시컨스 확인이 필요.
0x80000000 MPU off 영역인데, 여기서 MPU 설정을 사전에 해야 하지 않을 까?
I2C 스턱.
5차 보드추가 요청.
1. 부팅시컨스,
원래 가이드는?
오토사는 어느 타이밍에 점프?
MPU 설정은 어느 타이밍에?
코드 오픈.
EVB에서 Test후 확인후 멈추는 것을 확인하고 코드 Open
20250909
Boot 순서 확인
Core-1(IPL, Systemram) -> Core0(DDR) -> Core1(DDR)-> Core2(DDR)
I-Cash하고 DDR 메모리하고 내용이 다름. I-Cash의 내용이 없음.
잔여 이슈: CR1/CR2에서 간헐적으로 code jump area 이슈가 있으며
해당 이슈는 500ms 이하의 on/off 테스트에서 발생하여, 재현 환경은 제공 받은 상황입니다.
20250911: 결국 DRAM에 동시 접근 하면 가지고 오는 코어도 있고 못 가지고 오는 코어도 있다. 이것을 해결해야 할 문제다.
고객이 금일까지 문제를 분석한 결과, 두 개의 코어(Core1, Core2)가 동시에 DDR 내 동일 영역에 접근할 경우, 특정 코어(Core1 또는 Core2)가 DDR에 있는 내용을 읽지 못해 Error가 발생하는 것으로 판단되었습니다.
Core0, Core1, Core2가 같은 클러스터 인가?
MPU설정 인어 쉐어러블 아웃트 쉐어러블?
어떤 설정을 해야하는가?
Hello 빈
말씀하신데로. 지라 티켓을 생성하겠다.
그리고 두 가지 간단한 질문을 하겠다.
1. AP 코어는 클러스터로 구성되어 있는 것을 H/W Manual로 확인했는데, CR 코어는 어떻냐? 클러스터로 구성되어 있는가?
2. AXI 버스를 통해 DDR에 접근하는데 코어 1과 코어2가 동시에 AXI 버스에 접근해서 문제가 발생하는게 아니냐는 고객의 의견이 있다.
CR코어는 AXI 버스는 동시에 사용할 수 있는가?
20250912:
Multicore(CR-Core0, CR-Core1, CR-Core2) 동작을 브링업하고 있는 상에서
코어3개를 웨이크업하고 OS가 초기화 할때, 각 코어가 잘 웨이크 업 했는지 코어들이 순차적으로 상호 인터럽트를 주고 받습니다.
이때 인터럽트가 겹쳐서 발생을 하면 인터럽트 처리 하는 코드를 동시에 접근 하게 되는데
어떤 코어는 인터럽트 처리 하는 코드에 접근을 해서 문제 없이 동작을 하는데 반해,
어떤 코어는 접근을 못해서 에러가 발생하는 문제 입니다
.
결국 OS 구동시에 각 코어들이 DDR Memory에 동시 접근했을 경우 발생하는 문제.
각 코어어들이 순차적으로 상호 인터럽트 주고 받는 부분에 있어, 인터럽트가 겹쳐서 발생하지 않도록 딜레이를 넣음.
고객의 요청사항, 인터럽트가 동시에 발생하고 동시에 실행될 경우 회피할 수 있는 방법.
DDR Memory에 동시 접근했을 경우 발생하는 문제를 회피할 수 있는 방법.
1마이크로 세컨드 까지 시간이 같음.
대안으로 watchdog이 활성화되면 booting failure 시에 자동 rebooting되어 문제가 없다는 의견이었습니다.
ATCM 적용 후, 추가 확인이 필요할것으로 예상됩니다.
HS 메일 자료 분석
현상확인,
T32로 디버깅
점퍼 날려서 전원하고 같이 보기
Jira-724: CRC 확인 되면 Close해 달라.
Jira-725: I2c 점퍼 달아서 폴트레지스터 읽어서, Jira에 답변을 하겠다.
Jira-726: 와치독 후 정지시, SoC 리셋 시그널은 발생하지만 리셋이 안됨. 확인하고 Jira에 답변을 남기겠다.
724번 조연구원한테 상황 확인.
725번 Woody 디버깅
★Address 0x117(TIMEOUT_SOCACTIVA_ST) : 125ms -> 250ms로 변경]
0x117 리드해서 값을 확인하고 5:6:7 bit가 1:1:1 (0x07)이 250ms로 Write한다음에 다시 리드해서 값을 확인
read 0xC3(1100_0011) -> write 0xE3
파형으로 확인 불가
ATOSAR 부팅 170ms가 필요함.
★와치독 스탑(디버거로 스탑)하고 리스타트 했을 때 정상적으로 동작하는지 확인
수요일 오전 CR 코어 죽는 것도 확인
수요일 오후 모비스 방문
[20251002]
★ 할일
Windows환경에서 PMIC제어
- Read/Write Tool
- 와치독 구현,
ICCOM 경과 확인해보기
메모리 충돌 의견 얘기하기
MCAL MCU 설정 값이 맞는지 확인
CPG fusa 모니터링 가이드