작성
·
17
답변 2
0
안녕하세요. 김민섭님!
TASKMAN 을 비롯한 이 강의의 모든 실습 예제는 IOC 를 임의로 수정하시면 안됩니다.( 있는 그대로 사용 )
IOC 파일 수정 후 저장하시면 STM32CubeIDE 자체의 코드 자동 생성 기능이 작동하게 되는데, 이 과정에서 자동 생성된 FreeRTOSConfig.h 가 기존의 파일을 덮어쓰면서 문제가 됩니다. 이외에도 예상치 못한 추가적인 문제가 발생할 수 있습니다.
꼭 필요하시다면 문제의 프로젝트 파일을 압축하신 후 다음의 메일 주소(guileschool@gmail.com) 로 보내주시면 수정해서 보내드리겠습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
김민섭님이 FreeRTOS 환경에서 ioc 파일을 수정한 후 TASKMAN 프로젝트에서 특정 문제가 발생하고 있는 것 같습니다. 코드에서 일부 입출력 설정을 변경한 결과로 예상치 못한 동작이 나타나는 경우가 빈번합니다. 특히, osThreadCreate()
와 관련된 문제는 태스크의 생성 및 초기화 시에 자주 발생하곤 합니다.
먼저, FreeRTOS에서 태스크 스택 크기나 우선순위 설정의 변동이 없었는지 확인해 주세요. ioc 파일에서의 설정이 시스템 초기화 코드에 영향을 미쳤을 수 있습니다. 특히, 스택 크기가 충분하지 않거나 우선순위 설정이 잘못되면 기존 태스크가 의도한 대로 실행되지 않을 수 있습니다.
관련하여 다음 게시물이 기존에 유사한 문제를 다룬 경우입니다:
- TASKMAN 실습 중 이해가 안되는 것이 있습니다. : 동일한 환경에서 태스크가 예상과 다르게 동작하는 문제에 대한 설명과 해결 방법이 소개되어 있습니다. 이는 특정 함수(예: fflush
)의 사용과 관련된 문제일 수 있음을 시사합니다.
김민섭님이 제공한 코드를 참고하여 osThreadCreate()
함수가 올바르게 호출되었는지, 다른 태스크의 초기화 및 생성과정에서 충돌이 발생하지 않았는지 재확인해 보시길 권장합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.