묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결FreeRTOS 프로그래밍
만약에 포팅을 할때 1년에 한번 잡는 치명적인 문제를 해결하는 코드가 들어갔다고 가정하면
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 그 문제가 나타날 때 까지 예상 되는 부분으로만 감지를 해야하는것일까요? 포팅은 결국에 옮기고 문제가 생기면 해결한다는 사후적인 해결책만을 가지고 있는 것인지 궁금합니다.
-
미해결ESP32 IoT 개발 기초 - 하드웨어부터 FreeRTOS까지
LM75A에 대한 온도 값 음수 적용 부분 질문 드립니다.
부호 비트에 대해서 1일 경우 영하를 나타내는 것이고 2진수의 보수를 취해서 값을 가져온다고 설명하셨는데 현재 코드르 보면, 단순히 AND 연산을 통해서 부호 bit에 대한 값만 제외하고 값을 구하는 형태가 아닌가요??
-
해결됨ESP32 IoT 개발 기초 - 하드웨어부터 FreeRTOS까지
강의 영상 음성 겹치는 문제가 있습니다.
섹션11인 저장소 다루기의 49.NVS 단순 데이터 저장하기 부분에서 계속해서 강의에서 음성이 겹쳐서 어떤 이야기를 하는지 파악하기 어려울 정도로 겹치는 현상이 있습니다.
-
미해결FreeRTOS 프로그래밍
STM32 포팅할 때 STM32 Project가 없음
안녕하세요 강의듣고있는 학생입니다.STM32 포팅-시작 강의에서, File - New - STM32 Project로 쭉쭉 넘어가는데 제 IDE에서는 아래 그림처럼 STM32 Project가 없습니다.버전 차이 인것으로 생각되고 STM32 Project Create/Import를 통해서 PORT를 생성했는데 강의처럼 .ioc 파일이 없습니다. 버전 문제라면 강사님은 STM32CubeIDE 1.0.2를 하신 것 같은데.. 이거로 다시 해보겠습니다. 현재 저는 2.0.0 입니다.
-
해결됨ESP32 IoT 개발 기초 - 하드웨어부터 FreeRTOS까지
VS Code에서 ESP-ide extension 설치 후 명령 팔레트 안뜸
선생님 안녕하세요, VS code에서 강의를 따라 설정을 진행하고 있는데, extension 설치 후 명령어 팔레트에 esp-idf를 검색해도, configure extension이 없는데 혹시 어떻게 해야할까요?
-
미해결FreeRTOS 프로그래밍
FreeRTOS 멀티코어 지원안됨?
안녕하세요. 강의 너무 잘 듣고있습니다.그런데 FreeRTOS 소개 강의를 듣다가, 단점으로 멀티코어 지원 안됨. 이라는 말을 듣고 이런저런 검색을 해보았는데요..https://embeddedai.tistory.com/entry/FreeRTOS-%EB%A9%80%ED%8B%B0%EC%BD%94%EC%96%B4-%EC%A7%80%EC%9B%90 이런 글을 보면, 최근 FreeRTOS가 SMP? 기능을 도입해서 멀티코어 지원을 하도록 되었다는 것 같은데, 맞을까요?
-
미해결FreeRTOS 프로그래밍
[소스코드 분석-configUSE_TIME_SLICING] TASK1,2의 우선순위가 동일할 때, configUSE_TIME_SLICING값 변경에 따른 출력 변화
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. #if ( ( configUSE_PREEMPTION == 1 ) && ( configUSE_TIME_SLICING == 1 ) ) { if( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ pxCurrentTCB->uxPriority ] ) ) > ( UBaseType_t ) 1 ) { xSwitchRequired = pdTRUE; } else { mtCOVERAGE_TEST_MARKER(); } } configUSE_TIME_SLICING값이 1->0이 되면 위 코드의 실행 조건이 변경되어 스케쥴러가 cpu 양보를 고려하지 않아 처음 cpu를 잡은 task만 반복해서 동작하게 된다는 것 까지는 이해했습니다.이때 저의 경우에 (1) configUSE_TIME_SLICING == 1 이면 'bbbba...'으로 b가 더 많이 수행되고 (2) configUSE_TIME_SLICING == 0 이면 'a'만 계속 해서 출력되는데 위에서 저의 이해를 바탕으로 configUSE_TIME_SLICING == 1인 경우에 'aaaaaaaaaaab...' 이런식으로 나와야 할 것 같은데(혹은 (2)번에서 'b'만 출력)두 경우에서 먼저 cpu를 선점하는 task가 다른 이유가 궁금합니다!
-
해결됨ESP32 IoT 개발 기초 - 하드웨어부터 FreeRTOS까지
[수강 전 준비 사항 관련]
강사님 안녕하세요,구매후 아직 강의를 듣고 있지는 않는데, 조만간 시작하려고 합니다.강의 초반 준비사항에서 아무 ESP32나 상관 없다고 하셨지만, 최대한 병목을 줄이기 위해 전체 커리큘럼을 따라갈 때 문제되지 않도록, 준비 사항을 미리 알고 싶습니다. (보드, 디스플레이, 브레드 보드 등등) 구체적인 구매처 정보까지 있으면 좋을 것 같습니다.감사합니다.
-
미해결FreeRTOS 프로그래밍
포팅 부탁드립니다!
포팅을 직접하실 시간이 없거나 어려운 점이 있으시면 제가 도와드려요 :-)<인프런 FreeRTOS 프로그래밍 강좌> 질문란에 포팅을 원한다고 올려주시고 다음과 같은 내용을 꼭 함께 적어주세요-------------------------------------------------- 사용하고 싶은 ST 보드명: NuCLEO-F103RBNUF103RB$KU1- 사용하시는 컴파일러(stm32cubeide) 버젼: 1.2.0- 기타: -------------------------------------------------저에게 파일을 보내고 싶으신 분은 guileschool@gmail.com 으로 보내주세요.(필독1) 스팸 혹은 기타 이유로 메일을 제가 못 받을 수도 있으므로 메일을 보내신 분은 꼭 이 강좌의 질문란에다가 저에게 메일을 보내셨다고 글을 남겨주세요.(필독2) 메일에는 본인이 누구인지 알 수 있도록 인프런 아이디를 '꼭' 적어주세요( 기재되지 않으면 회신 보장 못함 )- 끝 -
-
미해결FreeRTOS 프로그래밍
포팅 부탁드립니다. <NUCLEO-G071RB>
- 사용하고 싶은 ST 보드명: NUCLEO-G071RB- 사용하시는 컴파일러(stm32cubeide) 버젼: 2.0.0- 기타: 감사합니다
-
미해결FreeRTOS 프로그래밍
상호배제 후 되지를 않아서 질문드립니다.
상호배재 추가 이후 디버깅을 해보니send함수에서SemaphoreHandle_t mutex_id;디버깅이 되지를 않습니다.
-
미해결FreeRTOS 프로그래밍
수료증 발급 기준 수정 요청
수료증 발급 기준에서 [부록] 강좌 제외 요청 드립니다.현재는 수료증 발급 기준이 [부록] 강좌까지 모두 수강해야 발급되는 걸로 확인됩니다.이는 정규 수강 강좌가 아닌 것으로 알고 있습니다.이러한 이유로 수료증 발급 기준에 [부록] 강좌 제외 요청 드립니다.감사합니다.
-
미해결FreeRTOS 프로그래밍
재진입가능여부에 관한 질문
void swap(int *x, int *y) { int temp; temp = *x; *x = *y; *y = temp;}안녕하세요 강사님 위 함수가 temp를 지역변수로 선언하면 재진입가능한 함수가 된다고하셨는데x와 y 포인터 접근으로 공유자원이 발생할 수 있는 상황이 발생할 수 있어재진입 불가능한 함수이지 않나요? 잦은 질문드려 죄송합니다.
-
미해결FreeRTOS 프로그래밍
01_TASKMAN프로젝트 디버깅 모드 실패
강좌 3번에서 진행되는 TASKMAN의 task.c를 디버깅 모드로 실행했는데 에러가 뜹니다.../Inc/FreeRTOSConfig_base.h:120:59: error: '__FILENAME__' undeclared (first use in this function); did you mean '__FILE_NAME__'? inc 폴더에 시스템 헤더파일 같은데 어떻게 대처 해야할지 모르겠습니다.
-
미해결FreeRTOS 프로그래밍
그러면 malloc/free가 아닌 동적할당자를 써서 메모리를 할당했기떄문에
그러면 malloc/free가 아닌 동적할당자를 써서 메모리를 할당했기떄문에Heap이 아니라 bss에 할당되어 있는것을 볼 수 있던건가요?그렇다면 동적할당자를 사용하는것은 bss말고도 Heap에도 할당을 할 수 있다는 의미일까요?
-
미해결FreeRTOS 프로그래밍
실행순서
안녕하세요 강사님fflush를 주석처리하지 않고동일한 우선순위인 task1 과 task2가 있을때aaaaaaaaaaaaaaab와 같이 비정상 출력이 나오는 상황에서아래 제가 정리한 내용이 맞나요?FACT 1.HAL_UART_Transmit 실행 중에도 컨텍스트 스위칭은 가능하며,단지 UART 하드웨어 자원이 점유 중이라 다른 Task는 전송만 못 할 뿐이지 SysTick에 의해 timeslice마다 Context Switching이 일어난다.FACT2. FACT1에 따라 Task2가 printf("b")와 fflush로 UART 점유 및 전송중일때Tick마다 ContextSwitching이 일어나고 그때 Task1의 printf("a")로 인해 버퍼가 누적되며 동시에 fflush는 기존에 TASK2가 UART를 점유중이여서 Skip된다는 것이 맞을까요?____________ 그리고 task1과 task2가 fflush때문에 aaaaaaaaaaaaaab 와 같이 a다수 b한개만 실행될경우어떤 timeline을 거쳐 저렇게 실행되는것인지 정리해주실수 있나요?___________
-
미해결FreeRTOS 프로그래밍
uart 전송중에는 스위칭이 금지되나요?
틱인터럽트가 들어와도fflush로 uart 점유 및 전송중이면 스위칭을 안하는건가요?
-
미해결FreeRTOS 프로그래밍
스택오버플로우 실습 중 stack size 설정 질문
안녕하세요. 저는 F429I 보드를 사용하고 있고,올려주신 포팅한 자료로 실습하고 있습니다. 그런데, 강의 내용과는 다르게 taskCreate 함수에서 설정하는 stak 크기가 default로 256이 설정되어 있었습니다. 아래와 같이 256으로 설정하면, 정상적으로 동작하는데,모든 tsck의 Create 함수를 128로 설정하면, 아래 putty 캡처 그림과 같이 task2가 정상적으로 실행되지 않습니다. 혹시 stack size를 128로 줄이면서 문제가 발생하는 이유를 알려주실 수 있을까요?
-
해결됨FreeRTOS 프로그래밍
포팅 원합니다.
- 사용하고 싶은 ST 보드명: NUCLEO_F439ZI- 사용하시는 컴파일러(stm32cubeide) 버젼: 1.19.0- 기타: .
-
미해결FreeRTOS 프로그래밍
코루틴 실습질문
NUCLEO-F334R8 보드를 사용하고 있습니다.코루틴도 다음과 같이 메모리 문제가 있습니다.코루틴도 메모리 설정 하는 구간이 있을까요? C:/ST/STM32CubeIDE_1.18.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: 04_coROUTINE1.elf section ._user_heap_stack' will not fit in region RAM'C:/ST/STM32CubeIDE_1.18.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: region `RAM' overflowed by 392 bytesC:/ST/STM32CubeIDE_1.18.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: warning: 04_coROUTINE1.elf has a LOAD segment with RWX permissionscollect2.exe: error: ld returned 1 exit statusmake: *** [makefile:68: 04_coROUTINE1.elf] Error 1