임베디드 10

FreeRTOS 들여다보기6 - Task2(Delete, Suspend, Notifiy)

사용하는 보드와 freeRTOS 버전 정보, 진행 내용 등에 대한 정보는 github에 있습니다. (계속 업데이트 중..) https://github.com/fish9903/FreeRTOS-STM32G4 GitHub - fish9903/FreeRTOS-STM32G4: FreeRTOS (Real Time Operating System) on STM32G474(ARM cortex M4 based mircocontrollers) FreeRTOS (Real Time Operating System) on STM32G474(ARM cortex M4 based mircocontrollers) - GitHub - fish9903/FreeRTOS-STM32G4: FreeRTOS (Real Time Operating Sy..

FreeRTOS 들여다보기5 - Task1(task state, delay)

사용하는 보드와 freeRTOS 버전 정보, 진행 내용 등에 대한 정보는 github에 있습니다. (계속 업데이트 중..) https://github.com/fish9903/FreeRTOS-STM32G4 GitHub - fish9903/FreeRTOS-STM32G4: FreeRTOS (Real Time Operating System) on STM32G474(ARM cortex M4 based mircocontrollers) FreeRTOS (Real Time Operating System) on STM32G474(ARM cortex M4 based mircocontrollers) - GitHub - fish9903/FreeRTOS-STM32G4: FreeRTOS (Real Time Operating Sy..

FreeRTOS 들여다보기4 - Scheduler2(Context switching)

사용하는 보드와 freeRTOS 버전 정보, 진행 내용 등에 대한 정보는 github에 있습니다. (계속 업데이트 중..) https://github.com/fish9903/FreeRTOS-STM32G4 GitHub - fish9903/FreeRTOS-STM32G4: FreeRTOS (Real Time Operating System) on STM32G474(ARM cortex M4 based mircocontrollers) FreeRTOS (Real Time Operating System) on STM32G474(ARM cortex M4 based mircocontrollers) - GitHub - fish9903/FreeRTOS-STM32G4: FreeRTOS (Real Time Operating Sy..

FreeRTOS 들여다보기3 - Scheduler1

사용하는 보드와 freeRTOS 버전 정보, 진행 내용 등에 대한 정보는 github에 있습니다. (계속 업데이트 중..) https://github.com/fish9903/FreeRTOS-STM32G4 GitHub - fish9903/FreeRTOS-STM32G4: FreeRTOS (Real Time Operating System) on STM32G474(ARM cortex M4 based mircocontrollers) FreeRTOS (Real Time Operating System) on STM32G474(ARM cortex M4 based mircocontrollers) - GitHub - fish9903/FreeRTOS-STM32G4: FreeRTOS (Real Time Operating Sy..

FreeRTOS 들여다보기2 - Task creation

사용하는 보드와 freeRTOS 버전 정보, 진행 내용 등에 대한 정보는 github에 있습니다. (계속 업데이트 중..) https://github.com/fish9903/FreeRTOS-STM32G4 GitHub - fish9903/FreeRTOS-STM32G4: FreeRTOS (Real Time Operating System) on STM32G474(ARM cortex M4 based mircocontrollers) FreeRTOS (Real Time Operating System) on STM32G474(ARM cortex M4 based mircocontrollers) - GitHub - fish9903/FreeRTOS-STM32G4: FreeRTOS (Real Time Operating Sy..

FreeRTOS 들여다보기1 - RTOS란?

이전 프로젝트를 진행하면서 RTOS에 대해 알게 되었고, RTOS에 대해 알아보고자 한다. 1. Real Time RTOS는 Real Time OS로, 직역하면 실시간 운영체제라고 할 수 있다. OS는 OS인데 real time이 무슨 뜻일까? 단어 자체로만 보면 '실시간'이라 뭔가 빠를 것 같은 느낌이 든다. 하지만 real time 뜻은 fast가 아닌 in time이다. 정확히 말하면, "제한된 시간 조건 내에 주어진 작업완료를 보장하는 것" 이다. 속도가 빠르면 좋겠지만, Real time에서 속도보다 중요한 것 주어진 작업을 정해진 시간 내에 완료하는 것을 보장하는 것이 더 중요한 특성이다. 이런 특징을 가지는(가져야 하는) 어플리케이션을 Real time application(RTA)라고 부른..

ARM Mode, Register, Exception

ARM을 다루는데 가장 기초적인 개념은 mode, register, exception일 것이다. 이 용어들에 대해 알아보자. 위 세 가지 용어들은 서로 연관되어 있어서 무엇을 먼저 설명하던지간에 용어가 섞여서 나온다. 여기선 mode, register, exception 순서로 진행해본다. ARM operating mode ARM에는 7가지 동작 모드가 존재한다. 각 모드에 대한 설명은 아래와 같다. 각 모드에 대한 추가적인 설명은 아래와 같다. User(USR): 일반적으로 사용하는 모드로 ARM 상태와 Thumb 상태로 동작한다. 사용자 프로그램은 보통 이 모드에서 동작한다. Fast Interrupt(FIQ): FIQ exception(high priority, fast)이 발생하면 이 모드로 전환..

빠른 프로세스와 느린 메모리

빠른 프로세서와 느린 메모리 다른 시스템들과 마찬가지로 임베디드 시스템에서도 속도가 중요하다. 속도를 올리려면 prcoessor와 memory의 속도를 높여야 하지만, processor의 속도는 계속해서 증가하고 있는 것에 반해, memory의 속도는 processor만큼 증가하지 못하고 있다. Processor와 memory는 서로 상호작용하는 관계이기 때문에, processor의 속도를 높인다고 그래도 시스템의 전체적인 속도가 비례하여 중가하는 것은 아니다. 메모리의 특징과 속도의 한계 메인 메모리로 많이 사용되는 메모리인 DRAM과 HDD를 보자. DRAM은 축전기로 이루어진 battery와 비슷한 구조이다. 한 bit를 한 cell에 저장하는데, 이 cell이 축전기이고, 춘전기의 전기용량이 특정..

RTOS 개발 프로젝트

'임베디드 OS 개발 프로젝트' 책을 따라 진행한 내용입니다. - 2023.03.06 시작 - 2023.03.07 Reset vector - 2023.03.14 Booting - 2023.03.21 UART - 2023.03.07 Interrupt(1) - 2023.04.03 Interrupt(2) - 2023.04.04 Timer - 2023.07.04 Task, Scheduler, Context switching - 2023.07.05 Event - 2023.07.09 Message queue - 2023.07.10 Synchronization(semaphore, mutex) https://github.com/fish9903/RTOS-project GitHub - fish9903/RTOS-projec..

프로세서 관점에서 본 임베디드 시스템

임베디드 프로세서 흔히 말하는 CPU는 general purpose processor로, 범용 processor이다. 이름에서 알 수 있듯이 범용, 즉 다양한 목적을 위해 사용되는 processor이다. 이와는 다른 processor들도 존재하는데, 임베디드 processor가 이중 하나이다. 우선 임베디드 processor는 사용되는 목적부터 범용 processor와 다르다. 다양한 목적을 위해 다양한 동작을 할 수 있도록 만들어지는 범용 processor와 다르게 특정한 목적을 위해 만들어진 것이 임베디 드 processor이다. 특정한 목적을 위해 동작하는 processor란 이미지 처리, 신호 처리 등의 하나의 목표를 위해 주어진 동작만 수행하는 processor라는 것이다. 보통 이러한 동작은 ..