RTOS와 임베디드 개발: 부팅 프로세스와 컨텍스트 스위칭의 이해

2025-01-23 10:30~12:00

e4ds / 임종수 대표

  • 생조**2025-01-23 오후 12:00:20

    MDK Keil에서 제공하는 이벤트 레코더(Event Recorder)를 활용하여 RTOS 상태를 분석하고 디버깅하는 과정에서 발생할 수 있는 일반적인 오류와 그 해결 방법은 무엇인가요? SWD 환경에서 이벤트 레코더를 제대로 설정하기 위한 팁도 궁금합니다.
  • MDS22025.01.23

    아래 링크에서 전반적인 개념 및 사용 방법 확인 가능합니다. "https://developer.arm.com/documentation/101407/0541/Debugging/Debug-Windows-and-Dialogs/Event-Recorder"
  • 김*수2025-01-23 오전 11:52:54

    C언어 외에 C++도 지원을 하는지요?
  • e4ds12025.01.23

    embedded coding에서 C++는 의미가 없습니다. C 언어만 하시면, 되고, 그것만 다루고 있습니다.
  • 이*선2025-01-23 오전 11:45:21

    미러링이라는게 0번지로 복사된다는 뜻인가요?
  • e4ds12025.01.23

    아니오. 0번지와 0x0800_0000번지를 동일한 번지도 번지 디코딩을 하도록 내부 logic을 구성했다는 것입니다. VHDL/Verilog로 칩 설계하는 과정에서 흔히 사용하는 방법입니다. 제가 S 회사에서 FPGA만 전문으로 10년해서요.^^
  • 조*일2025-01-23 오전 11:43:40

    네 직접 제어 및 수정이 가능한 코드 또는 라이브러리라면 관계 없도 하면 되겠지만, 이미 라이브러리로 만들어 져있고 수정 불가 코드등을 MDK V6에서 적용하는 사용하는 법이 있는지 여부가 질문 이었고, 지금까지 결과가 저에게는 없다 이여서 혹시나 무슨 대안이 있는지 혹시나 해서 다시 문의 드립니다.
  • e4ds12025.01.23

    Vol2. 내용과 예제 코드를 보시면, AC5와 AC6, 그리고, IAR에 맞추어 컴파일러가 선택적으로 동작하도록 pre compiler를 설정하고, 해당 코드를 제공하고 있습니다. 그것만 학습하면 되므로 교보에서 커피마시며 확인해 보시기 바랍니다.
  • 김*수2025-01-23 오전 11:38:41

    지원하는 RTOS는 어떤 종류가 있을까요?
  • e4ds12025.01.23

    Vol2.는 RTOS에 대한 근본적인 개념과 그에 따른 구현과 실습을 다루고 있습니다. 지원하는 RTOS의 종류는 좀 다른 의미인 것 같습니다. 근본적인 개념을 다루고 있으므로 Linux, Windows OS 모두 통용되는 내용입니다.,
  • 조*일2025-01-23 오전 11:28:24

    mdk6 이걸로 오면서 과거 라이브러리 및 API 등 등 외부 연결 되는 코드들이 모두 컴파일 에러로 인해 일부러 과거 버전으로 설치해서 사용 하고 있는데 관련 참조 문서가 있을까요?
  • MDS22025.01.23

    MDK v6 로 오면서 기본 내장 컴파일러 최신화가 있었고 migration 이 필요합니다. 아래 링크에서 확인 가능합니다. "https://developer.arm.com/documentation/kan298/latest/"
  • 최*운2025-01-23 오전 11:24:55

    PowerPC MCU를 사용하고 있습니다. 부트로더를 설계하기 위해서 어떤 절차를 밝아가야할까요? 이미 부트로더는 존재하지만 저의 입맛대로 만든 부트로더를 설계해서 넣고 싶습니다.
  • e4ds12025.01.23

    이와 같은 문의 사항에 대한 첫번째 해답은 사용자 bootloader에 대한 개념입니다. 이 개념은 MCU와 상관없습니다. 그야말로, vector table relocation 의미와 flash memory access에 대한 것으로 VOl2에 자세히 설명되어 있습니다. 좀 더 자세한 내용을 원하사는 경우에는 제 카페에 문의 부탁드립니다,.
  • 박*진2025-01-23 오전 11:23:50

    추가 질문으로는 mdk keil은 iar이나 cubeIDE와는 다르게, 스캐터 파일로 메모리 layout을 설정하는 방식인듯 한데 이 파일을 통해 외부 메모리 주소도 정의를 하면 되는게 맞나요? 일반적인 경우에는 링커스크립트 파일에서 수정했었습니다
  • MDS22025.01.23

    Target option 에서 1.UI 에서 작성한 값으로 빌드할지 2.scatter 파일을 사용할지 사용자가 지정할 수 있습니다. option for target > linker 에서 지정할 수 있습니다
  • 박*진2025-01-23 오전 11:22:25

    ST MCU를 cubeMx 로 제너레이팅해서 mdk keil로 프로젝트를 생성하면, 디버깅 했을 때 RTOS Status 창이 보이지 않았습니다. keil pro 버전 5.x 대였는데 이유를 알 수 있을까요? RTOS는 FreeRTOS로 생성했었습니다
  • MDS22025.01.23

    Keil MDK > Debug > OS Support 에서 기능 확인해보시기 바랍니다.
  • 신*원2025-01-23 오전 11:21:14

    mdkv5 는 cmsis5를 지원하고 mdkv6는 cmsis6를 지원하게되는건가요?
  • MDS22025.01.23

    CMSIS 버전은 MDK 버전과 관계 없이 사용자가 선택할 수 있습니다
Top