PIC32MX 스타터 키트에서 PIC32 마이크로 컨트롤러 용 FreeRTOS 포트를 사용하고 있습니다. 그냥 작업과 놀고 있었지만 작업은 컨텍스트 전환이 아닙니다. 여기 내 기본 설정이 있습니다 :FreeRTOS 작업이 컨텍스트 스위칭이 아닙니다.
#define configMAX_PRIORITIES ((unsigned portBASE_TYPE) 5)
#define configKERNEL_INTERRUPT_PRIORITY 0x01
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 0x03
#define configTICK_RATE_HZ ((portTickType) 100)
두 개의 LED가 깜박이는 두 가지 작업이 있습니다. 둘 다 우선 순위가 4 (가장 높음)입니다. 정상 작동 상태에서 LED는 각 100 틱마다 번갈아 깜박 여야합니다. 그러나 이것은 일어나지 않습니다. 두 번째 LED가 100 tick 동안 깜박이고 컨트롤이 일반 예외 처리기로 이동합니다. 왜 이런 일이 생길까요? 어떤 스케줄도 전혀없는 것처럼 보입니다.
작업 코드를 보지 않고 누가 알 수 있습니까? 디버거에서 무엇을 말합니까? 예외 처리기를 쳤을 때 호출 스택을 확인하여 호출 스택과 그 태스크 (또는 스케줄러)를 확인합니다. – Clifford
보드 용 포트/데모를 사용하고 있습니까? 작동 했나요? – XTL