인프런 커뮤니티 질문&답변

jjhk192님의 프로필 이미지
jjhk192

작성한 질문수

[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.

1-Wire통신! 나름 유명했다. (온도센서) 3

fnd 관련 질문 있습니다.

해결된 질문

작성

·

205

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 자주 묻는 질문에 혹시 답이 있을 수 있어요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의 수강중인 학생입니다. FND를 GPIO로 제어하는 부분까지 진행하고 하루 쉬고 다시 연결을 했더니 init_fnd() 함수에서 디버거가 아무것도 표시하지 않고 멈추고, 주석 처리하고 디버거를 돌려도 while문이 돌지 않고 멈춰버립니다. 무슨 문제인지를 모르겠습니다.

답변 2

0

ojtube5님의 프로필 이미지
ojtube5
지식공유자

HardFault handler로 들어 간거는 뭔가 문제가 있는 거예요.
그 핸들로러 들어가기 전에 무언가 잘 못 된 코드가 있다는 뜻입니다.

stack overflow.
enable 되지 않은 peripheral에 접근하는 경우.
잘못된 메모리 접근
등등의 이유가 있습니다.
어느 코드에서 걸려서
HardFault로 진입하는지 찾아야 합니다.

즉 HardFault Handler 때문이 아니라, 그 전 코드에 문제가 있어서
Handler Handler에 진입하는 것입니다.

0

jjhk192님의 프로필 이미지
jjhk192
질문자

디버깅을 해보니 배열 정의 함수에서 알 수 없는 에러가 발생중입니다. ioc를 수정하고 코드를 재생성할때마다 #include "fnd_controller.h"가 없어집니다. 문제가 뭘까요?

ojtube5님의 프로필 이미지
ojtube5
지식공유자

ioc를 수정하면, 코드를 다시 작성하게 됩니다.

자동으로 코드를 작성하는 중에, 무조건 사라지는 구간이 있습니다.

그리고 이곳은 사용자가 작성한 공간이니 건들지 말라고 표시해 둔 공간이 있습니다.

즉, 코드를 작성하면, 사라지는 공간에, fnd_controller.h 파일을 include해논 것으로 추측이 됩니다.

주석을 잘 읽어보면, 이부분이 사라지는 구간인지 보존되는 구간인지 알 수 있습니다 ㅇㅇ/

jjhk192님의 프로필 이미지
jjhk192
질문자

원인 찾아서 해결했습니다. 강의 내용 따라서 진행하다가 Hal init() 에서 HardFault Handler 때문에 계속 진행이 막히고 있습니다. manual convert 함수를 주석처리하고 실행하면 하드폴트로 넘어가지 않습니다. 여기서는 뭘 봐야 할까요?

jjhk192님의 프로필 이미지
jjhk192

작성한 질문수

질문하기