반응형

분류 전체보기 873

FreeRTOS Idle Task와 Power Management

FreeRTOS Idle Task와 Power ManagementFreeRTOS는 임베디드 시스템에서 실시간 운영 체제를 구현하기 위한 강력한 도구입니다. 특히 저전력 MCU 환경에서는 전력 소비를 최소화하면서도 효율적인 작업 처리를 위해 Idle Task와 Power Management 기능을 활용하는 것이 중요합니다. 이번 포스팅에서는 Idle Task의 역할과 활용 방법, 저전력 모드에서의 FreeRTOS 적용 사례, 그리고 전력 최적화를 위한 CMSIS-RTOS 설정 팁을 다룹니다.1. Idle Task의 역할과 활용 방법Idle Task는 FreeRTOS가 기본적으로 제공하는 가장 낮은 우선순위의 태스크입니다. 시스템 내에서 실행 가능한 다른 태스크가 없는 경우 Idle Task가 실행됩니다. ..

FreeRTOS 2025.01.16

자료구조 [ 스택과 큐 ]

자료구조 ( 스택과 큐 )스택(Stack)과 큐(Queue)는 컴퓨터 공학에서 매우 중요한 기초 자료구조 중 하나입니다. 이 두 가지 자료구조는 각각의 고유한 특성을 가지고 있으며, 다양한 알고리즘에서 사용됩니다. 이번 글에서는 스택과 큐에 대한 기본 개념을 설명하고, 이를 Java와 C 언어로 직접 구현해 보겠습니다.스택(Stack)스택은 "LIFO(Last In, First Out)" 원칙을 따르는 자료구조입니다. 즉, 가장 나중에 삽입된 요소가 가장 먼저 제거됩니다. 이를 현실 세계의 예시로 비유하면, 접시를 쌓는 행위와 유사합니다. 가장 나중에 쌓은 접시가 가장 먼저 사용됩니다.스택에서 주로 사용하는 연산은 다음과 같습니다:push: 스택에 새로운 요소를 추가합니다.pop: 스택에서 가장 위에 있..

Bash Shell Script 실행 환경 설정

Bash Shell Script 실행 환경 설정Linux에서 Shell Script를 작성하고 실행하기 위해서는 적절한 텍스트 에디터를 사용하는 것이 중요합니다. 이 글에서는 Shell Script 작성 및 실행 환경을 설정하는 방법과 함께, 대표적인 텍스트 에디터인 vim, nano, 그리고 VSCode를 소개합니다. 또한 각 에디터를 사용하는 간단한 예제도 함께 살펴보겠습니다.Shell Script 작성 및 실행 환경 설정1. 쉘 스크립트 파일 생성쉘 스크립트 파일은 일반적으로 .sh 확장자를 사용합니다. 파일을 생성하려면 아래 명령어를 실행합니다:$ touch script.sh2. 실행 권한 부여쉘 스크립트를 실행하려면 해당 파일에 실행 권한을 부여해야 합니다. 다음 명령어를 사용하세요:$ chmo..

FreeRTOS 타이머와 시간 관리

FreeRTOS 타이머와 시간 관리FreeRTOS의 CMSIS-RTOS v1 래퍼는 타이머와 시간 관리 기능을 지원하여 주기적인 작업을 효율적으로 수행할 수 있습니다. 이번 포스팅에서는 CMSIS-RTOS v1의 소프트웨어 타이머를 활용하는 방법과 주요 함수인 osTimerNew() 및 osTimerStart()의 사용법을 설명합니다. 또한 LED 점멸 제어와 센서 데이터 정기 업데이트를 예제로 다뤄보겠습니다.소프트웨어 타이머란?소프트웨어 타이머는 특정 시간 간격이 경과했을 때 자동으로 콜백 함수를 호출하는 메커니즘입니다. 실시간 시스템에서 반복적인 작업이나 일정 시간 이후 실행이 필요한 작업에 유용하게 사용됩니다.소프트웨어 타이머의 주요 특징비차단 동작: 타이머는 백그라운드에서 실행되며, 주어진 시간 ..

FreeRTOS 2025.01.15

자료 구조 [배열과 연결 리스트]

자료 구조 ( 배열과 연결 리스트 )자료 구조는 데이터를 효율적으로 저장하고 관리하기 위해 필수적인 개념입니다. 프로그래밍에서 흔히 사용되는 두 가지 중요한 자료 구조로 배열(Array)과 연결 리스트(Linked List)가 있습니다. 이번 글에서는 배열과 연결 리스트를 기초부터 고급 개념까지 소개하고, Java와 C로 구현 예제를 제공하겠습니다.배열 (Array)배열은 동일한 타입의 요소들을 연속된 메모리 공간에 저장하는 자료 구조입니다. 인덱스를 사용해 빠르게 접근할 수 있기 때문에 성능이 중요한 상황에서 자주 사용됩니다. 배열의 크기는 고정되어 있으며, 요소의 추가나 삭제 시 비용이 높다는 단점이 있습니다.배열의 특징인덱스를 사용한 빠른 접근: 배열은 O(1)의 시간 복잡도로 임의의 인덱스에 접근..

Bash Shell Script의 용도와 장점

Bash Shell Script의 용도와 장점안녕하세요! ‘소프트웨어 공장’에 오신 것을 환영합니다.오늘은 Linux에서 자주 사용되는 Shell Script의 용도와 장점에 대해 알아보겠습니다.Shell Script는 Linux 및 Unix 환경에서 시스템 관리를 자동화하고 효율적으로 작업을 수행하는 데 필수적인 도구입니다.아래에서 Shell Script의 다양한 활용 사례와 함께 이를 사용하는 이유, 그리고 간단한 예제를 소개하겠습니다.Shell Script란 무엇인가?Shell Script는 Unix/Linux Shell에서 실행할 명령어들을 순서대로 작성한 스크립트 파일입니다.사람이 일일이 입력해야 할 명령어를 스크립트로 작성하여 자동으로 실행되도록 함으로써 반복 작업을 줄이고 생산성을 높입니다...

FreeRTOS Semaphore와 Mutex 활용하기

FreeRTOS Semaphore와 Mutex 활용하기FreeRTOS는 임베디드 시스템에서 널리 사용되는 실시간 운영 체제(RTOS)로, 태스크 간 동기화 및 리소스 보호를 위한 다양한 동기화 메커니즘을 제공합니다. 이 글에서는 Semaphore와 Mutex를 활용하는 방법과 주요 차이점, 함수 사용법, 그리고 실제 사용 사례와 예제를 통해 FreeRTOS(CMSIS v1)에서 동기화를 구현하는 방법을 알아보겠습니다.1. Semaphore와 Mutex의 차이점Semaphore용도: 주로 태스크 간 신호 전달 또는 리소스 접근 허용/제어에 사용됩니다.특징:카운팅 세마포어와 바이너리 세마포어로 나뉩니다.특정 리소스의 사용 가능 여부를 태스크 간에 관리합니다.태스크 간 신호 전달(Signal)이 주 목적입니다..

FreeRTOS 2025.01.14

Linux Shell의 개념과 종류 소개

Linux Shell의 개념과 종류 소개Shell이란 무엇인가?Shell은 사용자가 운영 체제와 상호작용할 수 있도록 해주는 인터페이스입니다. Shell은 사용자 명령어를 해석하고 실행하며, 사용자와 운영 체제 커널 사이의 다리 역할을 합니다.운영 체제의 Shell은 크게 두 가지로 나뉩니다:Command-line Shell: 텍스트 기반 인터페이스로, 명령어를 입력하고 결과를 텍스트로 출력합니다.Graphical Shell: 그래픽 사용자 인터페이스(GUI)로, 버튼, 창 등을 통해 사용자와 상호작용합니다.이 글에서는 Command-line Shell에 초점을 맞춰 설명하겠습니다.Linux Shell의 주요 종류Linux에서 사용되는 Shell에는 여러 가지 종류가 있으며, 각 Shell은 고유한 기능..

알고리즘 개요 및 중요성

알고리즘 개요 및 중요성알고리즘이란 무엇인가?알고리즘(Algorithm)은 어떤 문제를 해결하기 위한 절차나 방법을 의미합니다. 특정 입력을 받아들여 원하는 출력을 얻기 위해 단계적으로 수행해야 할 일련의 규칙 또는 명령어들의 집합입니다. 이러한 알고리즘은 수학적 연산, 데이터 처리, 자동 추론 등 다양한 분야에서 사용되며 컴퓨터 과학의 핵심적인 개념입니다.우리 일상에서 알고리즘을 쉽게 찾아볼 수 있습니다. 예를 들어, 요리 레시피도 알고리즘의 한 예입니다. 특정 재료들을 순서대로 섞고 조리하여 최종 요리를 만들어내는 절차는 바로 알고리즘의 개념과 일맥상통합니다. 컴퓨터 프로그램에서도 이러한 알고리즘을 사용하여 입력 데이터를 처리하고 원하는 결과를 도출하게 됩니다.알고리즘의 필요성알고리즘은 문제를 해결하..

FreeRTOS Queue와 데이터 통신

FreeRTOS Queue와 데이터 통신FreeRTOS는 임베디드 시스템에서 태스크 간 통신을 효율적으로 처리하기 위해 다양한 데이터 구조를 제공합니다. 그중 큐(Queue)는 태스크 간 데이터를 주고받는 데 매우 유용하게 활용됩니다. 오늘은 FreeRTOS(CMSIS v1)에서 제공하는 큐의 개념과 활용 방법을 소개하고, 이를 활용한 간단한 예제를 구현해 보겠습니다.큐(Queue)란 무엇인가?큐는 데이터 항목을 순서대로 저장하고 관리하는 자료 구조입니다. FIFO(First In First Out) 방식으로 동작하며, 먼저 삽입된 데이터가 가장 먼저 추출됩니다.FreeRTOS에서 큐는 다음과 같은 경우에 사용됩니다:태스크 간 데이터 전송: 데이터를 생성하는 태스크와 이를 처리하는 태스크 간의 통신.인터..

FreeRTOS 2025.01.13
728x90
반응형