.. Cover Letter

ㅇ공부#임베디드 9

5. 프로세스 동기화(1/2)

이 글은 다음의 강의를 수강하여 정리 및 복습하는 글임을 밝힙니다. http://kocw.or.kr/home/cview.do?mty=p&kemId=1223639&ar=relateCourse 시스템 프로그래밍 기초 이 교과목은 컴퓨터 하드웨어 시스템과 운영체제 기반에서 프로그래밍 언어를 어떻게 사용하는지에 관한 기초에 대해서 학습한다. www.kocw.net 멀티 프로세스가 돌아가는 경우에 다음처럼 두 개의 스레드가 있다고 합시다. 두 개의 스레드는 서로 영향을 주지 않습니다. 이를 no dependency (의존성이 없다) 라고 부릅니다. 그래서 스레드가 돌면서 context switching 이 발생해도 서로 문제가 발생하지 않습니다. 그러나 다음의 경우를 보시겠습니다. y의 초기값은 8인 경우에 두 ..

4. 프로세스와 스레드의 차이

이 글은 다음의 강의를 수강하여 정리 및 복습하는 글임을 밝힙니다. http://kocw.or.kr/home/cview.do?mty=p&kemId=1223639&ar=relateCourse 시스템 프로그래밍 기초 이 교과목은 컴퓨터 하드웨어 시스템과 운영체제 기반에서 프로그래밍 언어를 어떻게 사용하는지에 관한 기초에 대해서 학습한다. www.kocw.net 프로세스 프로세스란 연속적으로 실행되고 있는 컴퓨터 프로그램을 의미한다 (코드의 조각) 1. 프로세스는 자신만의 스택을 가진다. 2. 프로세스는 자신만의 메모리를 가진다. 3. 프로세스는 자신만의 파일입출력 테이블 4. 프로세스는 고유의 아이디를 가진다 (PID) 프로세스를 생성하는 것은 fork()라는 system call에 의해서 부모의 프로세스에..

3. 메모리 관점에서 C언어 이해하기

이 글은 다음의 강의를 수강하여 정리 및 복습하는 글임을 밝힙니다. http://kocw.or.kr/home/cview.do?mty=p&kemId=1223639&ar=relateCourse 시스템 프로그래밍 기초 이 교과목은 컴퓨터 하드웨어 시스템과 운영체제 기반에서 프로그래밍 언어를 어떻게 사용하는지에 관한 기초에 대해서 학습한다. www.kocw.net VS 에서 C언어 파일을 하나 만들어주세요. 참조, 주소 연산자 & 해당 연산자는 Reference operator 라고 부릅니다. 한국어로는 참조연산자 혹은 주소연산자라고 합니다. 간단하게 변수를 선언하고, 변수의 주소를 확인하자면 다음처럼 할 수 있습니다. 초기화는 안되었지만, 정적으로 메모리를 할당받은 상태이기 때문에 주소값은 나오는 상태입니다...

2. C언어의 컴파일 과정 이해하기

이 글은 다음의 강의를 정리 및 복습하는 글임을 밝힙니다. 또한 면저 준비시에 활용합니다. http://kocw.or.kr/home/cview.do?mty=p&kemId=1223639&ar=relateCourse 시스템 프로그래밍 기초 이 교과목은 컴퓨터 하드웨어 시스템과 운영체제 기반에서 프로그래밍 언어를 어떻게 사용하는지에 관한 기초에 대해서 학습한다. www.kocw.net C언어의 개발과정을 이해해보자. 주요한 키워드는 다음과 같다. - Edit - Preprocess - Complie - Link - Load - Execute 1. Edit 코드를 직접 수정하는 단계이다. 예를 들자면 VScode로 코드를 수정하는 과정이다. 2. Preprocess 선처리라고 하며, 코드를 분리하고 컴파일러에게..

1. 시스템 프로그래밍 개요

이 글은 다음의 강의를 정리 및 복습하는 글임을 밝힙니다. http://kocw.or.kr/home/cview.do?mty=p&kemId=1223639&ar=relateCourse 시스템 프로그래밍 기초 이 교과목은 컴퓨터 하드웨어 시스템과 운영체제 기반에서 프로그래밍 언어를 어떻게 사용하는지에 관한 기초에 대해서 학습한다. www.kocw.net 임베디드 SW의 커리큘럼 Programming Language : C언어, C++ 을 공부해야한다고 합니다. -> System Programming : 코드가 컴퓨터 시스템에서 어떻게 동작되는가를 배운다고 합니다. -> Data Structures : 자료구조 -> Operating Systems : 운영체제 -> Microprocessor : (하드웨어) 마..

4. 아두이노로 알아보는 임베디드 시스템의 동작원리

참고도서 : 임베디드 엔지니어 교과서, 와타나베 노보루, 제이펍, 2020 책을 내용을 참고하였으며, 추가 정보가 필요할 경우 ChatGPT와 구글 검색을 활용합니다. 이 글은 포토폴리오 목적이며, 별도의 수익을 창출하지 않습니다. 이전 시간에 FreeRTOS를 깔아보고 아두이노에 적용까지 해보았습니다. 이번 시간에는 IDE에 작성한 코드가 어떻게 Arduino까지 전달이 되는지 알아보도록 하겠습니다. 임베디드 소프트웨어 임베디드 소프트웨어는 두 가지로 나눌 수 있습니다. 운영체제를 사용하는 타입과 운영체제를 사용하지 않는 타입입니다. 일반적으로 아두이노가 운영체제가 없이 동작하며(FreeRTOS의 경우 제외) 라즈베리 파이가 운영체제가 있게 동작을 합니다. 운영체제가 없는 경우는 동작이 단순한 경우일 ..

3. 임베디드 시스템의 개념, 특징, 구성

참고도서 : 임베디드 엔지니어 교과서, 와타나베 노보루, 제이펍, 2020 책을 내용을 참고하였으며, 추가 정보가 필요할 경우 ChatGPT와 구글 검색을 활용합니다. 이 글은 포토폴리오 목적이며, 별도의 수익을 창출하지 않습니다. 임베디드 시스템이란? 임베디드 시스템이란 마이크로 컴퓨터를 탑제한 기계나 장치를 의미합니다. 기존의 PC와 다른점이라고 한다면, 임베디드 시스템에서 입력은 센서를 통해 얻은 정보가 될 수 있고, 출력은 화면에 출력하거나 모터를 동작하는 등의 제어 신호에 해당할 수 있습니다. 임베디드 시스템의 특징 창문으로 들어오는 빛의 양이 적으면 전등을 켜고, 많으면 전등을 끄는 시스템이 있다고 생각을 해보겠습니다. 이 경우에 다음과 같은 특징을 가질 것입니다. 1. 임베디드 시스템은 외부..

1. Arduino 에 freeRTOS 설치하기 및 사용하기

들어가기 전 임베디드 SW에서는 크게 3가지로 나눌 수 있습니다. 첫 번째는 운영체제가 없이 사용하는 것으로 가벼우며, 직접 일처리에 대한 순서를 지정해줄 수 있습니다. 두 번째는 Real Time OS를 사용하는 것으로 우선순위로 일을 처리합니다. 세 번째는 Linux 혹은 범용 운영체제를 사용하는 것으로 한 번에 여러 일을 처리합니다. 라즈베리파이의 경우 RAM이 2GB 이상일 경우 Ubuntu 22.04를 설치해서 사용할 수 있으며, 아두이노의 경우에는 freeRTOS라고하는 운영체제를 다운로드 받아 사용할 수 있습니다. 아두이노에 freeRTOS 설치 이번시간에는 아두이노에 freeRTOS 운영체제를 설치하는 것을 목표로 진행하도록 하겠습니다. 우선 아두이노용 Free RTOS를 설치하기 위해서는..

0. Arduino IED 환경 세팅하기

참고자료가 있다면 링크를 올리겠습니다. 아두이노 IDE 설치 및 아두이노 연결 준비물 1. Arduino Uno 2. 우분투 운영체제가 설치된 PC or 윈도우 기반 PC 이 글은 우분투22.04를 기준으로 진행됩니다. https://www.arduino.cc/en/software Software Open-source electronic prototyping platform enabling users to create interactive electronic objects. www.arduino.cc 다음의 사이트에서 설치를 진행합니다. 우분투의 경우에는 zip파일로 다운로드 받으면됩니다. 터미널상에서 다운로드 받았던 폴더로 이동하여 다음을 순서대로 입력합니다. cd mkdir arduino cd ~./..