묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결FreeRTOS 프로그래밍
섹션3 포팅 실습
강의와 다르게 아래와 같이 IOC와 프로젝트가 따로 되는데 이게 맞는지 궁금합니다. (강의에서는 IOC 에서 소스가 생성된 것으로 보였습니다)물론 LED 깜빡거리는 건 가능합니다.
-
미해결FreeRTOS 프로그래밍
질문있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. TASKMAN 에서 ioc파일에서 몇개의 입출력을 건들면 바로 테스크1만 실행이 됩니다이 코드가 추가되는거 같아서 수정했는데도 이러네요 ㅜㅜ
-
미해결FreeRTOS 프로그래밍
섹션1 보드 디버깅 putty 실행화면(속도:115200)
속도를 115200 으로 변경한 결과인데 이게 맞는 것인지 모르겠습니다.어떤 설정으로 또 수정해야 할까요?
-
미해결FreeRTOS 프로그래밍
섹션1 보드 디버깅 putty 실행화면
강의처럼 안 나오는데 원인을 알 수 있을까요? 해상도 문제인건지 잘 모르겠네요
-
해결됨FreeRTOS 프로그래밍
Nucleo-64 F103RB 케이블
죄송합니다.완전 초보입니다.Nucleo-64 F103RB 를 구입했는데 케이블은 어떤 것으로 구입하면 되나요?검색했는데 헷갈려서 지정해주심 그걸로 구입하겠습니다 ㅠㅠ
-
미해결FreeRTOS 프로그래밍
LCD 프로젝트 가져오기 질문 있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요1602 LCD쓰고 있고, 순서대로 SCL, SDA VCC, GND 다 잘 연결해서 LCD에 불빛은 들어오는데 mutex 켜기전에 그냥 펌웨어 코드로 LCD에 글자 나오게 하는게 안 되네요 왜 이럴까요? LCD는 새로샀고 펌웨어도 새로 사서 문제는 아니라고 생각합니다 풀업저항을 안 달고 그냥 보드랑 LCD랑 연결해서 그런걸까요?
-
미해결FreeRTOS 프로그래밍
LCD 프로젝트 가져오기
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 1602 LCD로 실습하려고 하는데, VCC,GND는 다 잘 연결했고, SDA, SCL CN 어디에 연결해야하는지.. 등등 프로젝트 세팅에 대해 아무것도 없어서 막혀있는 상태입니다 ㅜ
-
미해결FreeRTOS 프로그래밍
수업 자료 pdf
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 수업 잘 듣고 있습니다. 수업에서 진행하는 ppt? pdf같은 것은 따로 제공은 안 하고 있는 걸까요? 예제들은 모두 받아서 워크스페이스에 올려두었습니다.
-
미해결FreeRTOS 프로그래밍
configCHECK_FOR_STACK_OVERFLOW 관련
스택오버플로우 관련 문제가있어 질문드립니다.FreeRTOSConfig.h 에 configCHECK_FOR_STACK_OVERFLOW 를 정의했는데 task.c 에 vApplicationStackOverflowHook 함수가 활성화가 되지않아 문의드립니다.
-
미해결FreeRTOS 프로그래밍
포팅 부탁드립니다!
-------------------------------------------------- 사용하고 싶은 ST 보드명: NUCLEO-U5A5ZJ-Q (STM32U5A5ZJ)- 사용하시는 컴파일러(stm32cubeide) 버젼: 1.16.0-------------------------------------------------안녕하세요 선생님,강의 수강하면서 포팅도 직접 해볼 예정인데, 선생님께서 포팅해주신 결과물이 있다면 비교하면서 피드백하기가 수월할 듯 하여 요청드립니다.지난번 요청했다가 취소했는데, 이 보드로 진행해보려 합니다.미리 감사의 말씀 먼저 드리겠습니다!
-
미해결FreeRTOS 프로그래밍
포팅 부탁드립니다!
-------------------------------------------------- 사용하고 싶은 ST 보드명: NUCLEO-H7S3L8 (STM32H7S3L8H6)- 사용하시는 컴파일러(stm32cubeide) 버젼: 1.16.0-------------------------------------------------안녕하세요 선생님,강의 수강하면서 포팅도 직접 해볼 예정인데, 선생님께서 포팅해주신 결과물이 있다면 비교하면서 피드백하기가 수월할 듯 하여 요청드립니다.차후에는 CubeIDE 말고 CMake 환경도 직접 구축하여 빌드 및 플래싱해보는 것이 목표입니다.미리 감사의 말씀 먼저 드리겠습니다!
-
해결됨FreeRTOS 프로그래밍
펌웨어 설계시 RTOS 적용 여부 질문
안녕하세요몇년전에 회사에서 진행중인 프로젝트에 RTOS를 적용하였다가 퍼포먼스를 만족시키지 못해서펌웨어로 다시 기능 똑같이 만들어서 해보니까 성능을 만족해서펌웨어로 변경해서 작업을 진행한적이 있었는데 메인 기능은 상위제어기로부터 1ms 주기로 패킷을 수신받으면 100us 내로 응답해야하는 조건에 CRC 체크도 해야하는 상황이었고 통신 기능 뿐만아니라 다른 기능에서 사용하고 있는 프리페럴이 많아서 통신 기능외에 주기적으로 us단위의 인터럽트가 많이 발생되는 상황이였구요.RTOS로 만들었던 SW에서는 기본적으로 각각 프리페럴을 담당하는 TASK를 두고 설계를 했었는데RTOS에서는 위에 나왔던 통신주기를 ISR에서 TASK로 이벤트 전달하는과정에서 리얼타임을 만족시킬수 없었습니다.그래서 RTOS를제거하고 그냥 펌웨어로 만들어서 구조는 똑같이하고멀티태스킹을 인터럽트 처리했는데 성능이 만족스럽게 나왔습니다. 제가 생각한 바로는RTOS가 올라간 시스템에서는 기본적으로 스케줄링하는 커널이 들어가서 기본적으로 자원점유도 하고거기에 인터럽트도 관여되면 컨택스트 스위칭이 자주일어나서 오버헤드가 더 심해질수있다.펌웨어는 그냥 풀로 돌면서 인터럽트로 인한 크리티컬 섹션만 신경쓰면 되기에 성능을 만족한게 아닐까 하는 생각이 듭니다.물론 제가 RTOS에 대해 아는게 없어서 SW가 요구사항을 만족시킬수 없었던것일수도 있지만컨택스트 스위칭으로 인한 오버헤드가 리얼타임에 영향을 미치는 가혹한환경이라면 베어메탈 펌웨어를 사용하는게 맞다고 느꼈습니다. 강의에서도 말씀하셨다시피 ISR로도 멀티태스킹이 된다면 RTOS를 적용하지 않아도 된다고 하셨는데SW가 복잡해진다면 FreeRTOS API를 사용할수있으니 유지보수 측면이나 TASK간 동기화에 있어서 편리하다고 생각이 듭니다. 제 질문은펌웨어를 설계할때 RTOS를 적용할지 아니면 베어메탈 펌웨어로 가냐 적용여부를 어떻게 판별해야할까요?일단 저는 인터럽트가 많이 일어나는 시스템에서는 RTOS가 성능에 영향이 있다고 느껴집니다.
-
미해결FreeRTOS 프로그래밍
타이머 관련 궁금한게 있습니다.
ARM에서 C언어로 FreeRTOS를 구동시키고 있습니다.목표: Timer를 필요할 때만 생성하여 사용한 뒤, 필요 없는 경우 삭제 TimerHandle_t xRTOSTimerA; BaseType_t xStatus = xGetStatus(); if(xStatus == pdTRUE) { xRTOSTimerA = xTimerCreate("TIMER A", pdMS_TO_TICKS(300), pdTRUE, (void *)0, prvRTOSTimerACallback); } else { vTimerDelete(xRTOSTimerA, 0); } 질문 1. xTimerCreate를 통해 Timer를 생성한 뒤 vTimerDelete 함수를 사용해 삭제해도 TimerHandle은 여전히 메모리가 할당된 채 살아있는 거같습니다. vTimerDelete의 동작 이해를 잘못하고있는건가요?질문 2. 위와 같이 소스코드를 작성하여도 메모리 반환이 제대로 이루어지지않는것 같습니다. TimerHandle의 경우 메모리 해제가 불가능한것인가요?
-
미해결STM32 FreeRTOS 구현
RS232 to TTL 모듈 연결 핀
강사님 안녕하세요, 제가 FreeRTOS, FFT, PWM, CAN 강좌를 구매해서 이제 진행해보려고 부품들을 구입했습니다. 보드랑 모듈을 구매했는데 강좌 메뉴얼을 보니 별도로 RS232 모듈을 보드에 연결하는 연결핀이 따로 또 있어야 하는 건가요...? 현재 USB-5핀 연결 잭으로 보드와 노트북은 연결이 가능하지만 TTL모듈과 보드를 연결하는 연결 핀은 따로 없는데 이게 없으면 UART기능만 사용못하는 건가요? 아니면 추후 다른 강좌에서도 다른 작업도 불가능한건가요??또 UART만 안되는 거라면 다른 방법으로 터미널 디버깅하는 방법도 알고 싶습니다...!연결핀이 꼭 필요한거라면 어떤걸 구매해야되는지도 알려주시면 감사하겠습니다...
-
미해결FreeRTOS 프로그래밍
프로젝트 구조 질문
안녕하세요. 강의 잘 보고 있습니다.예제 프로젝트의 구조에 대해 질문이 있습니다.모든 예제를 보면 main.c에서 USER_THREADS함수를 호출하고 TaskMain 하나를 만듭니다. 그리고 TaskMain에서 사용할 Task들을 만들고 TaskMain은 Delete합니다.질문) 제 생각에는 그냥 USER_THREADS에서 사용할 Task들을 만들면 될 것 같은데 TaskMain을 만들어서 거기서 사용할 Task들을 만든 이유가 궁금합니다. 물론 어떤 방식이던 결과는 같을 것 같은데 이유가 있는지 궁금하네요 ㅎㅎ감사합니다.
-
미해결FreeRTOS 프로그래밍
NUCLEO-H743ZI2 포팅프로젝트 USER 버튼 확인 요청
현재 NUCLEO-H743ZI2 보드를 활용하고 있으며, 미리 포팅해주신 프로젝트를 다운받아 강의를 잘 보고 있습니다.파란색 USER 버튼을 인터럽트로 사용하는 프로젝트가 몇개 있는데요. 코드를 보면 PG.7 (GPIO_EXTI7)로 포팅되어 있다보니, 실제 USER 버튼인 PC.13 과 연동이 되지 않는 것을 확인했습니다. 의도하신바가 아니라면, 다른 분들을 위해서 PC.13(GPIO_EXTI13)으로 수정이 필요해 보입니다.
-
미해결FreeRTOS 프로그래밍
포팅 서비스 부탁드립니다.
-------------------------------------------------- 사용하고 싶은 ST 보드명:NUCLEO-F411RE(STM32F411RE)- 사용하시는 컴파일러(stm32cubeide) 버젼: 1.15.0- 기타: 초급자에게 강좌 도움이 많이 됩니다. -------------------------------------------------감사합니다.
-
미해결FreeRTOS 프로그래밍
메모리 단편화 설명 중에 메모리 요구 사이즈 < 남은 메모리 사이즈 임에도 할당에 실패 할 수 있는게 혹시?
예를 들어 남은 메모리 사이즈가 8KB, 스택 생성을 위한 요구 메모리 사이즈가 7 KB 가정하겠습니다.8KB의 구성이 A 주소에 6KB + B 주소에 2KB로 Non-continuous 하게 분포가 되어 있어서 7KB를 Continuous 하게 할당하지 못하기 때문에 할당에 실패할 수 있다로 이해했습니다. 제가 이해한것이 맞을까요?
-
미해결FreeRTOS 프로그래밍
Timer Interrupt, Task 우선순위
이전에 질문을 남겼습니다.LCD에서 UI 터치 되면 모터 제어 Timer 동작 시켜보았습니다.모터 제어 timer interrupt가 동작 된 후, task가 먹통 되는 증상이 있는데 timer interrupt가 task 보다 우선순위가 높아서 timer가 동작 된 이후로는 task가 동작하지 않는 걸까요?(모터의 제어 주파수가 비 연속적으로 바뀌고 설정한 거리만큼 움직이고 스스로 인터럽트를 종료하는 모터 제어 방식입니다.)질문이 3가지입니다.1) Timer Interrupt 실행 시 Task보다 우선순위가 높아 Task가 동작하지 않는 것인지요?2) 비 연속적으로 제어되는 방식이라면 모터 제어와 완료 후에 Task가 동작 할 수 있게 하는 방식은 어떤 식으로.. 처리해야 하는지 궁금합니다.3) 만약 Timer Interrupt(모터 동작)의 선점으로 Task가 동작하지 못한다면, LCD Touch 인식을 체크하는 Task는 Timer Interrupt는 끝나고(모터 움직임 완료) 동작해야 하는 것인가요..?
-
미해결FreeRTOS 프로그래밍
STM32 LCD 제어 프로그램
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요강의를 거의 다 들었습니다.RTOS에 대해서는 처음 공부해보는 중입니다. TOUCH GFX 프로그램으로 버튼 UI를 구성하였고 버튼을 클릭하면TIMER INTERRUPT를 이용하여 스텝 모터나 LED를 제어하고 싶습니다.버튼을 클릭 시 메인 task를 통해 제어 함수를 구동하게 만들고 싶은데 task와 인터럽트가 꼬이면서 동작이 되지 않습니다. TASK에서 UI 버튼을 감지하고 TIMER 인터럽트를 실행 시키려고 했는데 해당 방법은 좋지 않은 방법인가요? 모터나 LED등 TIMER 인터럽트가 연속적으로 발생될경우에는 시스템을 어떤식으로 구성해야할까요..?