inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

caddr_t undeclared 문제

미해결

FreeRTOS 프로그래밍

TASKMAN 예제를 돌리려는데 다음과 같은 문제가 발생합니다. Description Resource Path Location Type 'caddr_t' undeclared (first use in this function) sysmem.c /01_TASKMAN/Src line 76 C/C++ Problem 검색해보니, https://community.st.com/t5/stm32cubeide-mcus/how-do-i-load-stm32cube-fw-g4-v1-5-0-examples-into-stm32cubeide/m-p/582818 void * 로 대체 하거나 <sys/types.h> include 하라는것 같은데 예제에 업데이트가 되야 할것 같아 문의 드립니다.

  • 운영체제
  • 임베디드
  • FreeRTOS
ko Kin 댓글 2 좋아요 1 조회수 686

elf 파일 다운로드 오류

해결됨

STM32 FreeRTOS 구현

elf 파일을 다운로드 하기 위하여 Run - Run Configurations - STM32 Cortex-M C/C++ Application(Debug 폴더의 elf 파일 선택) - Run 을 하면 사진의 오류 메시지가 뜨고 콘솔에는 이렇게 뜹니다. 해결 방법을 알려주시면 감사하겠습니다.

  • FreeRTOS
이윤재 댓글 1 좋아요 0 조회수 497

uart 통신 메세지가 두번 출력됩니다..

해결됨

STM32 FreeRTOS 구현

uart 통신은 잘 되어서 메세지는 출력이 되는데 메세지가 한번출력되고 간격을 두고 또 출력되어 총 두번 출력됩니다. 혹시나 툴의 차이인가 해서 putty로도 진행을 해보았으나 동일하게 두번 메세지가 출력됩니다. 프로젝트도 다시 구성해보았는데 동일한 문제가 발생했습니다. 뭐가 문제일까요..?ㅠㅠ

  • FreeRTOS
조현준 댓글 1 좋아요 0 조회수 345

WinIDT

해결됨

STM32 FreeRTOS 구현

WinIDT를 실행해보았으나 현재 PC에서는 이 앱을 사용할 수 없다고 알림이 떠서 문의드립니다! 다른방법이 있을까요?

  • FreeRTOS
조현준 댓글 1 좋아요 1 조회수 335

max3232 관련 질문입니다.

해결됨

STM32 FreeRTOS 구현

제가 시리얼포트를 이용한 디버깅이 처음이라.. 소자를 구매하려고 하는데 배송기간이 연휴와 겹쳐 늦어져서 질문 드립니다! Max3232와 rs232 to usb를 사용하시는데 바로 그냥 uart to usb 소자를 사용하면 안되나요..?

  • FreeRTOS
조현준 댓글 1 좋아요 1 조회수 249

칩 관련 질문입니다

해결됨

STM32 FreeRTOS 구현

혹시 NUCLEO-F103RB로도 그대로 수업진행이 가능할까요? 된다면 펌웨어는 그대로 사용하면 될까요?

  • FreeRTOS
조현준 댓글 1 좋아요 0 조회수 284

FreeRTOS 사용시 us 단위의 측정이 가능한가요?

미해결

FreeRTOS 프로그래밍

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요? 기존에 STM32F405를 사용하여 함수의 수행시간을 측정할때 us 단위의 측정이 가능했습니다. 사용 클럭은 168MHz이고, SysTick->LOAD 레지스터에 168값을 넣으면 168번 카운트가 들어갈때마다 SysTick 인터럽트가 발생해서 1us 주기의 측정이 가능했습니다. 그런데 FreeRTOS를 사용할때 보면 FreeRTOSconfig.h에서 configTICK_RATE_HZ 에 1000 디폴트값으로 사용하는 것을 확인했습니다. 1KHz 주기이므로, 1ms단위의 측정이 가능합니다. 이값을 1MHz까지 올리게되면 FreeRTOS 디버그 모드에서 동작을 하지 않더군요. FreeRTOS가 올라가면 1us단위의 측정이 불가능한가요?

  • 운영체제
  • 임베디드
  • FreeRTOS
Hello World! 댓글 1 좋아요 1 조회수 607

멀티태스킹

미해결

FreeRTOS 프로그래밍

안녕하세요 강사님! 해당 강의에서 LCD펌웨어를 멀티태스킹가능하도록 만드는 방법에 대해서 공부하였습니다. 만약에 모터를 제어하는 펌웨어를 멀티태스킹 가능하게 task로 만들면 해당 task가 멀티태스킹 되면서 PWM duty cycle이 낮아질 수도 있나요?? 아니면 pwm 장치는 cpu와 독립적으로 동작해서 다른 task에게 선점당하여도 똑같은 출력을 유지하는지 궁금합니다!

  • 운영체제
  • 임베디드
  • FreeRTOS
규철 댓글 1 좋아요 1 조회수 313

LCD 펌웨어 코드 질문입니다

해결됨

FreeRTOS 프로그래밍

안녕하세요. LCD 펌웨어 코드는 개발자가 일일이 작성해야하는 것인가요? 아니면 해당 제품을 사면 펌웨어 코드가 같이 오는 건가요?

  • 운영체제
  • 임베디드
  • FreeRTOS
토끼야놀자 댓글 1 좋아요 1 조회수 378

뮤텍스 질문입니다.

해결됨

FreeRTOS 프로그래밍

안녕하세요. 뮤텍스 강의 수강중에 질문이 있습니다. 뮤텍스는 우선순위전도 문제를 해결하는 능력이 있는 세마포어라고 볼 수 있습니다. 이 우선순위전도 문제를 뮤텍스를 사용하면 저절로 해결되는 것인가요?

  • 운영체제
  • 임베디드
  • FreeRTOS
토끼야놀자 댓글 1 좋아요 1 조회수 288

PuTTy에 출력되지 않습니다

미해결

FreeRTOS 프로그래밍

장치관리자에서 port를 확인해서 seiral line과 speed를 설정하고 open을 했습니다. 01_ TASKMAN을 디버그 했습니다. 그런데 영상처럼 출력되지 않고 커서만 표시됩니다. 어떻게 해결해야 하나요?

  • 운영체제
  • 임베디드
  • FreeRTOS
  • putty
Wind 댓글 1 좋아요 1 조회수 488

하드 리얼타임에 대해서

미해결

FreeRTOS 프로그래밍

안녕하세요 강사님! 이 강의에서 크리티컬 섹션을 만드는 것은 하드리얼타임에 악영향을 끼친다고 말씀하셨는데, 그럼 크리티컬 섹션으로 만드는 것보다는 세마포어로 상호배제하는 것이 하드리얼타임에 가까운 것인가요? 그렇다면 모든 상호배제는 세마포어로 하는 것이 이득일거라 생각되는데 크리티컬 섹션으로 만들어야하는 특별한 경우나 이유가 있을까요?

  • 운영체제
  • 임베디드
  • FreeRTOS
규철 댓글 1 좋아요 1 조회수 332

해당 인터럽트 강의 질문

해결됨

FreeRTOS 프로그래밍

안녕하세요! 해당 영상을 보다 질문이 생겨 질문 남깁니다:) 해당 영상에서 인터럽트를 disable 시키는 방법으로 interrupt controller 에서 cpu로 가는 신호를 mask하는 방법과 interrupt controller에 들어가는 신호를 막는 방법이 있다고 하셨는데, 이때 첫번째 방법은 cpsid i 명령어를 사용하여 primask 레지스터를 바꾸는 방법이고, 두번째 방법은 NVIC 내부 레지스터를 바꾸는 방법이 맞는건가요? 그렇다면 cpsid i 명령어를 썼다가 cpsie i 명령어를 쓰면 그사이 발생한 인터럽트들이 한번에 발생하는 것인지 궁금합니다! (두번째 방법으로 disable된 인터럽트들은 다시 enable되어도 그사이에 발생한 인터럽트가 발생되지 않는지도 알려주세요) 또한 여기서 말하는 interrupt controller가 NVIC가 맞는지 그렇다면 NVIC와 EXTI의 차이점은 무엇인지 알려주세요! 질문이 많아 죄송합니다ㅠㅠ

  • 운영체제
  • 임베디드
  • FreeRTOS
규철 댓글 1 좋아요 1 조회수 258

수업자료 answer와 student 차이점

미해결

FreeRTOS 프로그래밍

안녕하세요! 강의를 시작하기 위해 workspace에 자료를 넣을려고 하는데 answer폴더와 student폴더가 있습니다. 이 둘의 차이가 무엇이고 어떤 폴더의 파일들을 workspace로 복사해야 하나요??

  • 운영체제
  • 임베디드
  • FreeRTOS
규철 댓글 1 좋아요 0 조회수 300

스택 사이즈 관련 질문입니다.

미해결

FreeRTOS 프로그래밍

스택오버플로우 검사 강의에서 스택 사이즈가 512라고 하셨는데 강의영상 및 예제를 보면 xTaskCreate 함수에서 Stack depth 가 256 Word로 설정되어있는데 그러면 1024 바이트 아닐까요?

  • 운영체제
  • 임베디드
  • FreeRTOS
wjkim 댓글 1 좋아요 1 조회수 327

MessageQueue 질문 드립니다.

미해결

FreeRTOS 프로그래밍

안녕하세요 강사님, Message Queue 질문 드립니다. Task_1, Task_2, Task_3 가 있습니다. Task_1에서는 MessageQueue로 data를 Sendback 으로 넣고 있습니다. Task 2에서는 다른 프로그램과 message queue를 받고 있는데, message queue에 들어가있는 size를 알 수 있는 방법이 있을까요? queue size가 있으면 해당것을 꺼내와 process를 돌리려고 하는데, queue에 담긴 사이즈를 반환해주는 function을 FreeRtos pdf 파일과 구글링 해도 나오지가 않아 해결책을 찾고 싶습니다. xQueueIsQueueFullFromISR <--- Queue가 풀이면 1로 return 하는게 맞을까요? Task_1 Task_2에서는 아래와 같이 Task를 받고 있습니다.

  • 운영체제
  • 임베디드
  • FreeRTOS
고성호 댓글 1 좋아요 1 조회수 428

우선순위역전 상황 질문

미해결

FreeRTOS 프로그래밍

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님, 세마포어 먼저 TAKE한 태스크가 실행된다고 배웠는데요 TASK3이 실행하고 있으니 이것을 GIVE하기 전에는 TASK1이 블락되는것은 이해했습니다. 그런데 TASK2는 왜 갑자기 실행되는 거죠.? TASK3이 GIVE했다면 우선순위가 높은 TASK1이 실행되어야 하고 TASK3이 GIVE하지도 않았는데 TASK2가 실행된 경우는 무슨경우나요.. TASK2는 세마포어와 관련없는 특정 동작이라 선점한 걸로 보면 될까요..? 상황 설명이 부족해서 헷갈립니다.. 저는 오로지 이 강의로만 공부하고 있기 때문에 경험이 많으신 강사님의 설명이 이해가 잘 안되네요 답변 미리 감사합니다.

  • 운영체제
  • 임베디드
  • FreeRTOS
아이스 댓글 1 좋아요 1 조회수 304

세마포어삭제 질문

미해결

FreeRTOS 프로그래밍

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님 안녕하세요, vSemaphoreDelete강의에서 (0:29) 세마포어가 삭제되었기때문에 에러메세지가 발생하였다고 하셨는데 xSemaphoreGive error(0) found 세마포어 삭제하지 않아도 xSemaphoreGive error(0) found 출력이 똑같습니다. 잘못 설명하신것 같은데.. 다른 뜻으로 말씀하셨는지요;;? 설명 부탁드립니다.^^

  • 운영체제
  • 임베디드
  • FreeRTOS
아이스 댓글 1 좋아요 1 조회수 327

세마포어,뮤텍스 초기값 질문

해결됨

FreeRTOS 프로그래밍

안녕하세요 강의 수강 후 혼자 복습하는 중인데 세마포어 초기값 관련 이해가 가지 않는 부분이 있어 질문 드립니다. 1번 질문. 05_SEM 실습예제에서 sem_id = xSemaphoreCreateBinary(); -> 초기값 0? --- loops = 10; for(;;) { // 세마포어 대기 if ( xSemaphoreTake(sem_id, portMAX_DELAY) == pdTRUE) { printf("."); fflush(stdout); } sem_val=uxSemaphoreGetCount(sem_id); //printf("sem_val is %d\n", (int)sem_val); if(loops == 0) break; // exit loops--; } 위의 경우 printf 출력되지 않고 세마포어에 의해 바로 태스크가 블럭상태에 빠집니다. 따라서 초기값은 0으로 예상됩니다. 07_MUTEX 실습예제에서 mutex_id = xSemaphoreCreateMutex(); -> 초기값 1? --- int buyTicket(void) { /* TODO #2: MUTEX 을 이용하여 공유변수(tickets)를 보호한다 */ #if 1 // CRITICAL SECTION(ENTER) xSemaphoreTake(mutex_id, portMAX_DELAY); #endif // TODO #2 tickets --; // ticket count #if 1 // CRITICAL SECTION(EXIT) xSemaphoreGive(mutex_id); #endif // TODO #2 return(tickets); } 위의 경우 초기값이 1이어야 해당 함수가 바로 블럭에 빠지지 않고 수행되므로 1로 예상됩니다. 영상에서는 초기값이 1로 수행된다고 이해했는데, 그렇다면 세마포어 예제에서 printf함수가 수행이 되는게 맞는데 되지 않습니다. 초기값이 서로 다르게 입력되는 것인지 궁금합니다. 2번 질문. 05_SEM 실습예제에서 카운트값을 디버깅하고 싶어서 보다가 #if 1 sem_id = xSemaphoreCreateBinary(); if (sem_id == NULL) printf("xSemaphoreCreateBinary error found\n"); sem_val = uxSemaphoreGetCount(sem_id); --- loops = 10; for(;;) { // 세마포어 대기 if (xSemaphoreTake(sem_id, portMAX_DELAY) == pdTRUE) { printf("."); fflush(stdout); } sem_val=uxSemaphoreGetCount(sem_id); //printf("sem_val is %d\n", (int)sem_val); if(loops == 0) break; // exit loops--; } 세마포어 생성 후 uxSemaphoreGetCount 함수를 호출하면 세마포어가 블럭상태에 빠지지 않고 printf함수가 출력이 됩니다. (실제 디버깅 해보면 sem_val 변수값은 0으로 찍힙니다) 위 함수에서 V연산을 하는 행위가 있는 것인가요? 3번 질문. xSemaphoreCreateBinary()와 vSemaphoreCreateBinary()의 차이점이 무엇인지 궁금합니다.

  • 운영체제
  • 임베디드
  • FreeRTOS
ctk103 댓글 1 좋아요 2 조회수 525

fflush질문

미해결

FreeRTOS 프로그래밍

강사님 안녕하세요 틱 인터럽트 기준 1ms동안 버퍼에 문자1000개가 들어가는 속도라 하고 버퍼는 100개까지 채울수 있다는 가정시 fflush함수가 없을 때는 a 100개가 1*10번 / b 100개가 1*10번 번갈아 출력되는거죠? 그런데, fflush함수가 있으면 a 1개가 100*10번나오지 못하다 끝나고 b 1개가 100*10번나오지 못하다 끝나야 하는데 말씀하신 uart로직이 결부되었으나 aaaaaabaaaaaabaaaaaab 이런 패턴은 b 태스크에만 영향을 받는것 처럼 보이는데 제가 질문한 예시로 답변 가능할까요??..

  • 운영체제
  • 임베디드
  • FreeRTOS
아이스 댓글 1 좋아요 1 조회수 322

인기 태그

인프런 TOP Writers

주간 인기글