소개
인하대학교 공과대학에서 전자공학 학사 학위를 받았으며 임베디드 시스템용 소프트웨어 개발자로써 수년간의 경력을 쌓았습니다. 임베디드 시스템 및 프로그래밍을 위한 전문 강사로도 활동 중입니다. 아이폰 3GS 등장과 같은 시기에 맥(북)에 입문하였고, 그때부터 맥(북) 자동화에 관심을 갖게 되었습니다. '맥(북)에서 사용할 수 있는 시리 리모트', '키보드마에스트로를 이용한 구글번역기' 같은 오픈 소스를 깃허브(https://github.com/guileschool) 에 두고 개발 및 유지보수하고 있습니다. 오픈 소스 하드웨어 '비글본블랙' 에도 많은 관심을 가지고 있습니다. 맥(북) 자동화를 이용하여 생산성을 높일 수 있는 컴퓨터를 사용하는 모든 분야에 관심을 가지고 있고, 이를 필요로 하는 사람들을 돕고 있습니다.
강의 요청 및 기타 문의사항은 guileschool@gmail.com으로 보내주세요 :)
강의
수강평
- ARM Cortex-M 프로세서 프로그래밍
- FreeRTOS 프로그래밍
- FreeRTOS 프로그래밍
- 리눅스 쉘 스크립트 마스터
게시글
질문&답변
TaskDelay와 printf 순서
안녕하세요. establers님!태스크 실행 → 1초 대기(vTaskDelay) → 깨어난 후 “b” 출력 → 다시 대기.printf 을 이용해서 시스템이 태스크를 어떻게 스케줄링하는지 확인하거나, 실행 주기를 측정하는 데 도움을 줄 수 있습니다.
- 1
- 2
- 30
질문&답변
섹션3 포팅 실습
안녕하세요. 세계시민83님!freertos_port 와 PORT 는 각각 별개의 프로젝트입니다.PORT 프로젝트 생성시 알수 없는 오류가 발생한 것 같습니다. 실습을 해보길 원하시면 현재의 PORT 프로젝트를 삭제(완전삭제)하시고, 영상을 참고하시어 새 프로젝트를 다시 만들어보세요.
- 1
- 2
- 37
질문&답변
질문있습니다
안녕하세요. 김민섭님!TASKMAN 을 비롯한 이 강의의 모든 실습 예제는 IOC 를 임의로 수정하시면 안됩니다.( 있는 그대로 사용 )IOC 파일 수정 후 저장하시면 STM32CubeIDE 자체의 코드 자동 생성 기능이 작동하게 되는데, 이 과정에서 자동 생성된 FreeRTOSConfig.h 가 기존의 파일을 덮어쓰면서 문제가 됩니다. 이외에도 예상치 못한 추가적인 문제가 발생할 수 있습니다.꼭 필요하시다면 문제의 프로젝트 파일을 압축하신 후 다음의 메일 주소(guileschool@gmail.com) 로 보내주시면 수정해서 보내드리겠습니다.
- 1
- 2
- 31
질문&답변
섹션1 보드 디버깅 putty 실행화면(속도:115200)
안녕하세요. 세계시민83님!putty 설정 잘 하신 겁니다.^^또 필요한 내용 있으면 글 남겨주세요.
- 1
- 2
- 37
질문&답변
Nucleo-64 F103RB 케이블
안녕하세요, 세계시민83님!아래 AI 인턴이 답변을 잘 해주었네요참고해보시기 바랍니다
- 1
- 2
- 49
질문&답변
수업 자료 pdf
실습예제 다운로드 받으신 압축파일 내에 강의 ppt 가 pdf 문서 형태로 포함되어 있습니다
- 1
- 2
- 55
질문&답변
push pop 질문
안녕하세요. 박진수님push {lr} 이후 sp가 증가하지 않고 감소하게 됩니다. ARM 아키텍처에서 스택 메모리는 주소를 감소시켜가면서 값을 저장하기 때문에, 스택에 값을 푸시하면 sp가 감소합니다.pop {pc}를 수행하면 현재 스택 포인터가 가리키는 위치의 값을 pc에 로드한 후, 스택 포인터는 원래 위치로 증가하게 됩니다. 따라서 pop {pc} 이후 pc에는 정확히 반환 주소가 저장되므로 정상적인 서브루틴 리턴 동작이 수행됩니다.
- 1
- 2
- 49
질문&답변
configCHECK_FOR_STACK_OVERFLOW 관련
안녕하세요. taeun.ahn님!해외출장 건으로 답변이 늦어진 점 우선 양해를 구합니다.stm32cubeide 버젼이 올라가면서 생긴 변화(경고 WARNING) 입니다. 자세한 내용은 여기참조stm32cubeide 1.15.0 이후 버젼을 사용하시는 분들만 이 글을 참조해주세요.주의!!! 역 호환되지 않기 때문에 이전 버젼(stm32cubeide 1.15.0 보다 이전 버전)을 사용하시는 분들은 아래 내용을 적용하시면 안됩니다.freeRTOS_tutorials 의 모든 프로젝트를 대상으로 아래와 같이 두 가지를 수정해 주셔야 하는데 첫째, 링커스크립트 파일(STM32F???_FLASH.ld)을 아래 그림을 참고해서 수정해주세요.(사진) 둘째, FreeRTOSConfig_base.h 파일 내용중 아래를 수정변경전#define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled( __FILENAME__, LINE )변경후#define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled( __FILE_NAME__, LINE )
- 1
- 2
- 87
질문&답변
포팅 부탁드립니다!
Vinda Ha님!일반적인 보드들은 CMSIS-V1 으로 아래와 같은 형태로 보이게 됩니다.(사진)그런데, 요청하신 보드 NUCLEO-U5A5ZJ-Q 는 STM32CubeIDE 상에서 CMSIS-V2 만을 지원하는 것 같네요.강의 실습 예제는 CMSIS-V2 을 지원할 계획이 없습니다.도움이 못 되어 드려 죄송합니다. 아 그리고 제가 내일부터 해외 출장이 예정되어 있어 빠른 답변이 혹 어려울 수 있습니다. 글 남겨주시면 다음 주말 귀국 후 답변드리겠습니다. 감사합니다.(사진)
- 1
- 1
- 68
질문&답변
펌웨어 설계시 RTOS 적용 여부 질문
안녕하세요. edu님!적어주신 글을 보며 edu 님은 스스로 내신 질문에 대한 답을 이미 알고계신다는 느낌을 받았습니다.복잡하지 않은 시스템이라면 실시간에 대해 펌웨어를 능가할 수 있는 것은 없습니다. RTOS 에서의 실시간은 멀티태스킹을 하면서도 실시간을 보장하는 것쯤으로 이해해 주시면 좋겠습니다.다만, RTOS 는 복잡한 소프트웨어 구현을 단순하게 만들어주는 장점도 있기에 이 부분도 고려되어야 합니다.내가 만드는 소프트웨어에서 실시간의 중요도가 어느 정도인지를 충분히 고민해보고 펌웨어냐 RTOS 냐를 선택하는 것이 좋겠습니다.
- 1
- 2
- 132