STM32 & C언어 디자인 패턴
close
프로필 배경
프로필 로고

STM32 & C언어 디자인 패턴

  • 분류 전체보기 (171)
    • ▶ STM32 (63)
      • News (8)
      • 회로리뷰 (12)
      • Peripheral (37)
      • 개발환경 (6)
    • ▶ C Application (28)
      • 디자인 패턴 (22)
      • App 만들기 (6)
    • ▶ ARM Core (10)
    • ▶ RTOS (7)
      • RTOS 만들기 (7)
      • FreeRTOS (0)
      • ThreadX (0)
    • ▶ 일상리뷰 (3)
    • ▶ 이전글 (53)
      • C Pattern (25)
      • C Coding (7)
      • Linux (5)
      • Programming (6)
      • Book Reference (10)
  • 홈
  • 태그
  • 방명록
  • Github
[AN4838] STM32 MPU (2)

[AN4838] STM32 MPU (2)

Cortex-M33 memory types, registers and attributes MPU 작업에 대한 개념은 유사하지만 Armv8-M 아키텍처의 MPU는 이전 버전의 M-profile Arm 아키텍처의 MPU와 다른 프로그래머 모델을 가지고 있습니다. 모든 MPU 레지스터가 뱅크된다는 사실을 깨닫는 것이 중요합니다. Arm TrustZone®이 활성화된 경우 보안 상태에 대한 MPU 레지스터 세트와 비보안 상태에 대한 미러 세트가 있습니다. 0xE000 ED90과 0xE000 EDC4 사이의 MPU 주소에 액세스할 때 액세스되는 MPU 레지스터의 유형은 프로세서의 현재 상태에 의해 결정됩니다. ​ 비보안 코드는 비보안 MPU 레지스터에 액세스할 수 있고 보안 코드는 보안 MPU 레지스터에 액세스할..

  • format_list_bulleted ▶ ARM Core
  • · 2023. 11. 17.
  • textsms
[AN4838] STM32 MPU (1)

[AN4838] STM32 MPU (1)

고성능 STM32에 포함되어 있는 MPU(Memory protection unit) 를 설명하고 있는 어플리케이션 노트 AN4838을 번역기를 돌려 올리도록 하겠습니다. ​ Managing memory protection unit in STM32 MCUs Introduction 이 애플리케이션 노트는 STM32 제품에서 메모리 보호 장치(MPU)를 관리하는 방법을 설명합니다. MPU는 메모리 보호를 위한 선택적 구성 요소입니다. STM32 마이크로컨트롤러(MCU)에 MPU를 포함하면 더 강력하고 안정적입니다. ​ MPU를 사용하기 전에 프로그래밍하고 활성화해야 합니다. MPU가 활성화되지 않은 경우 메모리 시스템 동작에는 변경 사항이 없습니다. ​ 이 애플리케이션 노트는 MPU를 지원하는 Cortex®-..

  • format_list_bulleted ▶ ARM Core
  • · 2023. 11. 17.
  • textsms
Cortex-M7 Memory Model(feat. MPU)

Cortex-M7 Memory Model(feat. MPU)

Cortex-M7 아키텍쳐는 MPU를 통해 각 메모리의 유형(Type)과 속성(Attributes)를 지정할 수 있습니다. 여기서 메모리는 Internal or External 메모리를 말합니다. 메모리 맵과 MPU는 메모리 맵을 영역으로 분할합니다. 각 영역에는 정의 된 메모리 유형(type)을 가지고 있으며 일부 영역은 추가 메모리 속성(attributes)이 가지고 있습니다. 메모리 유형 및 속성은 영역에 대한 액세스 동작을 결정합니다. ​ 다음은 STM32F7, H7 Programming manual을 번역하여 올립니다. ​ 1. Type - Normal : 프로세서는 효율성을 위해 트랜잭션을 재정렬하거나 추측 읽기를 수행 할 수 있습니다. 즉, 순차적으로 정렬된 Instruction 대로 실행이..

  • format_list_bulleted ▶ ARM Core
  • · 2023. 11. 17.
  • textsms
App state machine 만들기 #1 app.h

App state machine 만들기 #1 app.h

이전 포스트에서 설명한 state machine 은 현재 application의 상태를 상황에 맞게 active app state를 변경하여 해당 상태에 있을 경우 들어오는 이벤트, 메시지 처리, 이외 요청들을 처리하도록 만듭니다. 또한 원한다면 현재 상태(state)에서 다른 상태(state)로 전환을 할 수도 있습니다. ​ C언어에서는 몇가지 코딩의 제약이 있지만 간단하게 state machine을 만들 수 있으며 우리는 이것을 app state(혹은 app)이라고 편하게 부르도록 하겠습니다. ​ app state 들은 간략하게 다음의 필수 요건이 있습니다. app을 생성,삭제, 전환등을 할 controller 필요 app은 이벤트를 받을 수 있음 app끼리 전환 할 수 있음 app은 하나만 동작 가..

  • format_list_bulleted ▶ C Application/App 만들기
  • · 2023. 11. 15.
  • textsms
App state machine 개요

App state machine 개요

펌웨어를 처음 개발할 때 수많은 절차와 처리들을 어떻게 일목요연하고 보기 쉽게 코딩해야하는지 막막하게 느껴집니다. 이럴 때 보통 디자인 패턴이라는 프로그래밍의 오래된 습관 혹은 관습을 이용하여 해결할 수 있습니다. ​ state machine은 이런 디자인 패턴중에 하나로 아주 사용하기 쉽고 유용하며 소프트웨어 개발자라면 꼭 알아야 할 디자인 패턴 기법입니다. ​ single core 안에서 동작 중인 application은 반드시 하나의 상태(state)안에 있습니다. 각각의 이벤트나 어떠한 처리는 state 안에서 이루어 지며 여러개의 state 끼리 서로 전환하며 프로그램이 동작하게 됩니다. ​ 아래 다이어그램에서 우리가 만들 app state machine 을 좀 더 구체적으로 알아보겠습니다. a..

  • format_list_bulleted ▶ C Application/App 만들기
  • · 2023. 11. 14.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
공지사항
  • [2023.11.15] App State machine 글 게재
  • [2023.11.3] 티스토리 다시 시작합니다
전체 카테고리
  • 분류 전체보기 (171)
    • ▶ STM32 (63)
      • News (8)
      • 회로리뷰 (12)
      • Peripheral (37)
      • 개발환경 (6)
    • ▶ C Application (28)
      • 디자인 패턴 (22)
      • App 만들기 (6)
    • ▶ ARM Core (10)
    • ▶ RTOS (7)
      • RTOS 만들기 (7)
      • FreeRTOS (0)
      • ThreadX (0)
    • ▶ 일상리뷰 (3)
    • ▶ 이전글 (53)
      • C Pattern (25)
      • C Coding (7)
      • Linux (5)
      • Programming (6)
      • Book Reference (10)
최근 글
인기 글
최근 댓글
태그
  • #C언어
  • #STM32G4
  • #디자인 패턴
  • #STM32H7
  • #STM32
  • #MCU
  • #C언어 패턴
  • #rtos
  • #arm
  • #디자인패턴
전체 방문자
오늘
어제
전체
Copyright © STM32 & C언어 디자인 패턴 All rights reserved.
Designed by JJuum

티스토리툴바