인프런 커뮤니티 질문&답변

SeongJin님의 프로필 이미지

작성한 질문수

ARM Cortex-M 프로세서 프로그래밍

유저 mode, xSPR, 어셈블리어 활용, STM32 선정 이유 관련

해결된 질문

23.08.24 15:11 작성

·

204

0

안녕하세요.

강의를 듣는 과정에서 궁금한 사항이 있어서 질문 드립니다.

  1. 유저 모드 관련

    특권 모드와 유저 모드가 있는데, 대부분 특권모드에서 동작한다고 알려주셨습니다.

    인터럽트 핸들러도 특권모드에서 동작을 하고요.
    유저 모드에서는 특권모드로 이동도 못해서 제약이 상당히 많은 것 같은데,
    유저 모드는 어떠한 상황에서 사용되는지 궁금합니다.

  2. xSPR 관련
    AR, VR 등을 합쳐서 부르기 위해, XR이라고 부르는 것과 같이
    xSPR도 ASPR, ESPR 등을 통칭하기 위해 xSPR로 부르는 것인가요?

    아니면, xSPR은 ASPR, ESPR, ISPR을 모두 합친 프로세서 레지스터라고 봐야 할까요?

  3. 어셈블리어 활용 관련
    요즘에는 어셈블리어로 코딩하는 일이 많지 않을 것 같은데,
    어셈블리어의 지식은 어떤 곳에 활용할 수 있을까요?

    프로그램에 문제가 생겼을 때 디버깅을 하면서 어셈블리어를 알면 문제 원인을 찾기가 쉬울 것 같은데,
    혹시 다른 용도로는 어떻게 활용할 수 있는지 궁금합니다.

  4. STM32 관련
    ARM Cortex-M4를 사용하는 MCU를 만드는 제조사는 ST Micronics 외에도 Nordic이나 Microchip등 여러 회사들이 있는 것을 알고 있습니다.
    그런데, 대부분의 강의를 보면 STM32 Series의 보드를 사용하시더라고요.
    STM32 Series 보드의 장점이 무엇이기에 대부분 이를 선택하시는지 궁금합니다.

    또한, STM Cube IDE와 유사하게 nRF Series에서도 segger IDE를 제공하는 것으로 알고있는데, Cube IDE처럼 segger로도 disassemble 등의 기능을 사용할 수 있는지도 궁금합니다.

질문 사항이 좀 길어졌네요...

강의는 잘 듣고 있습니다!

감사합니다.

답변 1

2

홍영기님의 프로필 이미지
홍영기
지식공유자

2023. 08. 24. 22:34

안녕하세요. SeongJin Hong님!

아래와 같이 질문 내용에 답변 달았습니다.

 

유저 모드 관련

유저 모드에서 실행되는 코드는 제한된 권한만 가지기 때문에, 잘못된 코드나 악의적인 코드가 시스템 전체에 영향을 미치는 것을 막을 수 있습니다. 이를 통해 각 태스크나 스레드가 시스템의 중요한 자원에 직접 액세스하는 것을 제한하며, 그 결과 시스템의 안정성과 보안성을 높일 수 있습니다

 

xPSR 관련

xPSR 레지스터를 기능 단위로 쪼개서 액세스 할 수 있도록 3가지 레지스터(ASPR, ESPR, ISPR)로 분화시켜 놓은 것으로 이해하시면 충분할 것 같네요.

 

어셈블리어 활용 관련

본 강의 소개나 강좌내에서 충분히 설명드렸다고 봅니다. 향후 실무에서나 기타 학습에서 어셈블리어를 보게되거나 직접 사용하시게 될때마다, 지금의 이 질문에 대한 답을 스스로 찾아보시는 게 좋습니다.

 

STM32 관련

글쎄요. 우선 개발보드의 가격이 몇만원 정도면 살 수 있을 정도로 부담없고, 사용하기 편리한 개발환경도 무료로 공급되어서 접근성이 좋은 것이 장점이 아닐까 생각하는데요.

 

영상 마지막까지 잘 완주하시길 응원합니다. ^^

 

SeongJin님의 프로필 이미지
SeongJin
질문자

2023. 08. 24. 23:11

다시 보니, 강의 소개 페이지에 자세히 적어주셨네요!
강의를 듣다 보니 잊어버렸었던 것 같습니다.

답변 감사드립니다!

SeongJin님의 프로필 이미지

작성한 질문수

질문하기