전체 10

ROS란 무엇인가?

먼저, ROS란 Robot Operating System의 약자로써, 로봇 소프트웨어 개발을 위한 오픈소스 프레임워크이며, 메타운영체제이다. 여기서 메타운영체제란, 기존의 운영체제 개념을 확장하여, 여러 개의 운영체제나 컴퓨팅 환경을 통합하고 조율하는 상위 레벨의 운영체제이다. 일반적으로 메타운영체제는 각기 다른 운영체제나 환경을 함꼐 관리하거나, 그들 간의 상호작용을 쉽게 만들어주는 역할을 한다. 이를 통하여 다양한 플랫폼이나 디바이스에서 일관된 사용자 경험을 제공하고, 여러 하드웨어 및 소프트웨어 자원을 보다 효율적으로 사용할 수 있다. 메타 운영체제는 정확하게 정의된 용어는 아니지만, 애플리케이션과 분산 컴퓨팅 자원 간의 가상화 레이어로 분산 컴퓨팅 자원을 활용하여, 스케쥴링 및 로드, 감시, 에러..

SoftWare/ROS2 2024.09.13

STM32 시작하기

임베디드를 공부하다 보니 ATmega보다 조금 더 심화적으로 공부를 해볼 수 있는 STM32에 대해서 알게 되었다. 개발보드는 디바이스 마켓에서 판매하는 위의 보드를 구매하였다. 이 NuCleo 보드를 구매한 이유는 찾아보니 MCU만 있거나, 사용자가 직접 설계한 보드의 경우에는 ST-Link/V2를 사용해 디버깅을 해야한다. 구매한 NuCleo 보드는 따로 필요하진 않아서 해당 보드를 구매하였다. STM32의 개발 툴은 홈페이지 가입하니 24시간내에 가입 이메일로 다운로드 링크를 보내주었다. https://www.st.com/en/development-tools/stm32cubeide.html STM32CubeIDE - STMicroelectronics STM32CubeIDE - Integrated D..

ATmega128 프로그래밍 환경 구축 2

ATmega128을 먼저 PC에 연결을 하고 장치 관리자를 살펴보자 포트에 보면 Silicon Labs라고 나오게 된다. 만약 포트 탭에 나오지 않고 기타 장치에 ? 라고 나오게 되면 CP210X 드라이버를 설치 해줘야 한다. ATmega를 위한 CP210X 드라이버이다. 그리고 표시되어있는 COM? 포트를 잘 기억해놓자. 그러면 설치해놓은 Microchip Studio를 실행하자. 상단 Tools - Add target Select tool 은 STK500, 밑에 Serial port는 kit가 접속되어 있는 COM포트를 선택해주면 된다. 선택이 끝났으면 Apply. 기본적인 설정은 끝이 났다. 그럼 이제 프로젝트를 만들어 보겠다. New Project 왼쪽 C/C++탭 - GCC C Executabl..

ATmega128 프로그래밍 환경 구축 1

ATmega128을 프로그래밍 하기 위해서는 Microchip Studio를 다운로드 해야한다. https://www.microchip.com/en-us/tools-resources/develop/microchip-studio#Downloads 해당 사이트에 진입 후 다운로드 두개가 나올텐데 위에껀 인터넷에 연결되지 않은 Offline에서도 설치가 가능한 버전이고 아래껀 인터넷에 연결되어 있어야 하는 버전이다. 둘 중 아무거나 해도 상관없다. 다운로드 후 실행하면 이렇게 나올 것인데 중간에 체크표시 해주면 Next버튼이 활성화 될 것이다. Next를 누르면 이렇게 나올것이다. 우리가 프로그래밍 할 칩셋에 맞게 체크 표시 후 다음. 다음 넘기면 필자처럼 Installer Or WindowsUpdate Ru..

컴퓨터의 기본 구조

아래 그림은 버스(데이터 교환 통로 역할)를 중심으로 간단하게 컴퓨터 구조를 표현한 그림이다. 그림의 컴퓨터는 명령어 처리 및 연산을 담당하는 마이크로프로세서, 마이크로프로세서가 처리해야할 명령, 데이터 그리고 그 결과를 저장하는 RAM및 ROM, 외부와의 데이터 통신을 위한 입·출력 장치, 마이크로프로세서가 메모리, 입 ·출력 장치와 데이터를 교환할 때 데이터 교환 통로 역할을 하는 버스로 구성되어 있다. 아래 그림은 마이크로프로세서를 중심으로 위 그림을 표현해 본 것이다. 연산에 특화되어 있는 마이크로프로세서를 중심으로 하여 마이크로프로세서에서 어떠한 어플리케이션을 구성하고 있는 명령어를 ROM으로부터 읽고 해독하여 어플리케이션을 수행하게 된다. 이 과정에서 ROM으로부터 데이터를 읽어서 처리하기도 ..

ATmega128이란?

지금까지는 임베디드의 제일 기초라 볼 수 있는 마이크로 프로세서 및 마이크로 컨트롤러에 대해서 간단하게 알아보았으니 이제 ATmega에 대해서 알아보도록 하겠다. ATmega128의 특징 ATmega128은 하버드 구조를 갖는 Atmel사의 8비트 마이크로컨트롤러이다. 파이프라인이 적용되어 대부분의 명령어 수행에 1 클럭 사이클이 소요되며 시스템 클럭 1[MHz]당 1[MIPS]의 성능을 발휘한다. 여기서 하버드구조란, 컴퓨터에서 명령을 메모리로부터 읽는 것과 데이터를 메모리부터 읽는 것을 동시에 할 수 있는 것을 말한다. 1. 진보된 RISC구조 - 대부분 1 클럭 사이클에 실행되는 133개의 강력한! 명령어 - 32개의 8비트 범용 목적 레지스터와 주변 장치 제어 레지스터 - 16[MHz]에서 16[..

마이크로 컨트롤러란?

마이크로 프로세서와 입출력 모듈을 하나의 칩으로 만들어 정해진 기능을 수행하는 컴퓨터를 뜻한다. 이 말인 즉슨, 하나의 칩 만으로 컴퓨터의 기능을 수행하는 것을 말하게 된다. 우리가 공부용으로 사용할 때는 아두이노, 라즈베리파이, 라떼판다 등등이 이에 해당한다고 볼 수 있다. 이 마이크로 컨트롤러의 내부 구성은 CPU, ROM, RAM과 같이 우리에게 익숙한 것들이 있고 이외에도 버스, 입출력 장치 접속 회로, 각종 주변장치(타이머/카운터, 인터럽터 I2C통신, SPI 등..)이 있다. 이런 마이크로 컨트롤러는 주로 제어 및 자동화 목적으로 사용되는데, 주로 외부의 어떠한 입력을 통하여 실시간으로 응답해야하는 분야에 사용된다. 예를 들면... 가전제품, 산업용 로봇 등등이 있다.

마이크로 프로세서란?

마이크로프로세서(Microprocessor, Microprocessing unit) 또는 초소형 연산 처리장치는 컴퓨터의 중앙 처리 장치(CPU)를 말한다. 반도체 기술이 발달하기 전에는 CPU가 여러 장치의 결합으로 구성되었었지만 반도체 기술이 발달하면서 1970년대 초반에는 CPU가 한 개의 반도체 부품으로 제작되기 시작하였는데, 이렇듯 한 개의 반도체 부품으로 제작된 CPU를 마이크로 프로세서 라고 부른다. 즉... 마이크로프로세서와 CPU 뿐만 아닌 MPU(Micro processor unit)까지 같은 의미라고 보아도 무방하다. 하지만 MCU(Micro Controller Unit)은 다른 뜻이니 구별을 해야 할 필요성이 있다. MCU에 대해선 차후에 알아보도록 하자. 마이크로 프로세서의 특징으..

임베디드란?

임베디드란 무엇인가? embedded는 영어로 간직하다, 끼워넣다 라는 뜻이다. 기계장치 및 제어가 필요한 어떠한 시스템에 대해 제어를 하기 위한 특정 기능을 수행하는 컴퓨터 시스템으로 장치 내에 존재한다는 특징이 있다. 임베디드 시스템은 전자장치 전체에서 일부분으로 구성이 되어 있으며, 제어가 필요한 시스템을 위한 두뇌역할을 하는 특정 목적의 컴퓨터 시스템이다. 우리가 실생활에서 사용하는 전자제품에는 어디든 적용 된다고 생각하면 된다. 예를 들면... 냉장고, 전자레인지, 청소기, 등등... 외부에서 버튼을 눌러서 작동을 한다고 하면, 버튼의 입력 정보를 받아서 필요한 동작을 수행할 수 있게 해주는 어떠한 시스템이 필요할 것이다. 이것이 바로 임베디드 시스템이라고 생각하면 된다. 우리가 임베디드 시스템..