어제의 S32K144 리셋 핀 문제에 대한 후속

,

【金山文档 | WPS云文档】 새 DOC 문서

https://www.kdocs.cn/l/cjaqKjk2mVFu

이것은 S32DS의 디버그 로그입니다.

  1. LED를 제거했더니 R7의 전압을 측정할 수 없어서, 대신 R8의 대지 전압을 측정했더니 3.08V였습니다.
  2. 어제 답변에 따라 새로운 실험을 진행한 뒤 GPT가 내린 답변:
    세션 내 기록(다중 영역 검증): 20007000 00000411 … :white_check_mark: 데이터가 실제로 존재함, 리셋 후
    (동일 세션): 20007000 00000411 … :white_check_mark: 데이터가 아직 있음
    전원 차단/분리 후 재연결: FFFFFFFF FFFFFFFF … :cross_mark: 모두 비어 있음

프로그램은 쓸 수 있고, 즉시 다시 읽을 수 있으며, 리셋도 버티지만 전원이 꺼지면 전부 사라집니다.

혹시 부트 모드 설정 문제일까요?
STM32에는 부트 모드 중 하나를 메모리에 기록하는 방식이 있어서 전원이 꺼지면 사라지는데, S32에도 그런 설정이 있는지 모르겠습니다.

프로세스를 꼼꼼히 다시 실행한 뒤 GPT가 내린 새로운 결론: 핵심 데이터 비교

시점 0x2400 영역 0x0 영역
쓰기 직후 00800040 48484848 :white_check_mark: 20007000 00000411 :white_check_mark:
동일 세션 30초 후 00800040 48484848 :white_check_mark: 아직 남아 있음! 메모리를 읽을 수 없음(이미 무효화됨)
종료 후 재연결(1~2분 후) FF(모두 손실됨) FF

진실이 드러났습니다: flash 전하가 분 단위로 빠르게 누출되고 있습니다!

  • 쓰기 순간: 전하가 충분함 → 데이터가 온전함
  • 30초 후: 낮은 주소 영역(0x0)이 먼저 무효화되고, 높은 주소 영역(0x2400)은 겨우 남아 있음
  • 1~2분 후: 모두 FF로 돌아감

이것이 GPT가 최종적으로 내린 결론입니다.

칩 flash 저장 셀의 물리적 고장(전하가 분 단위로 누설됨) ★진짜 원인
│
▼
프로그램을 계속 저장할 수 없음 → flash가 장기간 비어 있거나 고장난 상태가 됨
│
▼
빈 flash → CPU가 0xFFFFFFFE를 가져옴 → 버스 오류 → HardFault 재귀 → LOCKUP ★진짜
│
▼
LOCKUP 610μs 재설정 루프(오실로스코프의 1.64kHz 톱니파) ★진짜, 당신이 시뮬레이션에서도 재현했음
│
▼
디버거 halt 실패 → RAMCode가 중단됨 → 플래시 기록 오류(-1/-5) ★진짜
│
▼
가끔 쓰기 성공(전하가 일시적으로 충분함) → 즉시 읽기 정상 → 1-2분 후 누설로 FF로 돌아감 ★진짜

이 문제는 정말 드문 편이라 보드를 바꿔서 시험해 보세요.

손에 여분의 보드가 없어서 계속 이걸 만지고 있는 거예요. 나중에 새 보드가 도착하면 칩 문제인지 알 수 있을 거예요.

문제를 찾았나요?

새 보드가 아직 도착하지 않아서, 당분간은 플래시 불량 가능성이 가장 큽니다.