이 시리즈는, FreeRTOS 개론을 공부하며, 헷갈리는 부분들을 정리해둔 자료 입니다태스크, 프로세스, 쓰레드는 엄밀히는 다르지만, 동일하다고 가정하자.RTOS는 멀티테스킹이 필요한 환경에서, 실시간성을 만족하기 위해 사용하곤 한다.그리고 임베디드 시스템 용 운영체제

XTaskCreate XtaskCreate라는 FreeRTOS 함수로, 태스크를 만들 수 있따. 이 함수에 대해서는, 메뉴얼을 읽어봐도 좋으나, 들어가는 인자에 대해 알려주겠다 xTaskCreate(테스크 함수, "테스크 이름", 테스크 파라미터, 테스크 우선순위,

어떤 함수를 동시에 여러 테스크에서 부른다면? (레지스터를 동시에 접근)"동시성 문제가 발생할 수 있다."이러한 현상은 공유자원이 있고, 비원자적인 연산일 때비원자적인 연산은 어셈블리코드로 보았을 때, x = x+1에서 일어날 수 있다x값을 메모리에서 읽어오고메모리에

현재 실행 중인 태스크의 스택 메모리의 위치를 가르키는 레지스터프로세서가 태스크의 현재 상태를 나타내기 위해 사용하는 모든 정보레지스터 상태 : CPUU 레지스터에 저장된 값들PCxPSR : 프로세서 상태 레지스터스택 정보각 태스크의 메타 데이터 저장스택 포인터태스크

코루틴 RAM 제약이 심한 프로세서에서 사용, 32bit 마이크로 컨트롤러에서는 사용 잘 안 됨 태스크 형태처럼 보이지만, 태스크는 아니다 xCoRoutineCreate 이 함수로 코루틴 만들 수 있음, 우선 순위 갖춘다. 스택 메모리를 공유한다 crSTART 함

3가지 연산만 가능초기화 연산(동적 초기화)sem_create 커널 API 활용해서 세마포어 구조체 내부의 카운터 변수를 1로 초기화P연산V연산만약 우선순위가 T1,T2,T3 순으로 높다고 가정세마포어 변수가 초기화 된 상태에서, T3가 deposit함수를 부른다그러면

테스크나 SR이 다른 테스크에게 정보 전달주의 : 임계구역 유의전역 변수 이용메시지 전송 : 메시지 MAILBOX, 메시지 QUEUE, 이벤트 플레그, 세마포어메일박스 : 어떤 테스크에서 포인터 주소를 넣고 다른 테스크에서 그 포인터 주소를 읽어본다메시지 큐 : 포인터

1\. T3가 어떤 임계구역(Critical Section)에 들어가서, 테스크 진행 중이다가, 우선순위가 높은 Task1이 Ready가 되어서, 선점하여 태스크1이 작동 됨2\. 태스크1에서도 임계구역에 진입을 하고 싶어서 P연산 하지만, 이미 Task3에서 임계구역

메인테스크1\. 시동 시작2\. 엔진, 미션, 조향, 제동, 에어백 테스크 생성3\. 각 태스크 진단 결과 대기 -> 이벤트 플래그로 구현 4\. 주행시작EventGroupHandle_t group_id; 로 복수개의 이벤트 플래그를 저장할 수 있다xEventGroup

RTOS에서 가장 많이 쓰는 IPC테스크 혹은 ISR에서 다른 테스크로 포인터 변수를 보낸다ex) "Hello World" 문자열1\. 문자열 자체를 메시지 큐에 담는다2\. 문자열의 포인터 변수 주소를 담는다메시지큐에 메시지 들어오면 Task1 깨어난다(Reciev

소프트 타이머 사용하려면, 관련 정의 해줘야함해당 함수 한 번만 실행주기에 맞게 해당 함수 무한 반복디스크 드라이버 열라고 하는 시스템1\. 스위치를 누르면 소프트 타이머 동작2\. 슬라이드가 열렸는지 콜백에 로직 넣음3\. 열리지 않았으면 Fail반환이를 위해 테스크

Task1이 스캐너 리소스를 사용하기 위해 1번 뮤텍스락을 건다Task2는 CD Writer 리소스를 사용하기 위해 2번 뮤텍스락 건다이후 서로 상대방의 리소스에 뮤텍스락을 걸려고 한다 -> 실패task1에서 임계구역에 접근하기 위해 m1 뮤텍스락 건다task2도 임계

제품명 : L298N회로 연결출처 에듀이노본 사진은 아두이노와 연결한거지만, STM32에서도 대동소이하다.출처 에듀이노'ENA, ENB에는 PWM신호를 넣고, 여기서 듀티사이클을 정해 모터를 작동 시킨다듀티사이클 100이란 5V를 쭉 준것듀사이클 50이란 5V를 주는

TRIG 핀에서 10마이크로 시간동안 High로 신호를 주면울트라사운드 모듈에서 8개의 신호를 보낸다.다 쏘고 나면, Echo를 High로 바꾸고, 8개의 초음파가 다 돌아오면 End로 바꾼다이 High부터 End까지의 시간을 구해서 거리를 계산하는 방식PA9 ->