MCU
MCU를 선정하다.
MCU는 ST사의 STM32G030F6P6로 선택하기로 했다. 아래와 같은 이유로 적당한 제품이라는 생각을 했다. 현재 기준으로 재고가 충분함 (digi-key) 값이 저렴함: $1.68 2개의 UART: 하나는 UUB와 통신용, 다른 하나는 모터 드라이버와 통신용 1개의 Advanced Timer, 4개의 General purpose Timer: PWM 생성할 때 필요함 17개의 GPIO: 여유롭지는 않지만 부족하지 않을 듯함 64MHz CPU: UART 파싱과 PWM 출력을 하기에는 충분하지 않을까 생각한다. ST 홈페이지를 뒤져보면 스텝 모터 제어에 추천되는 제품군을 소개한 것을 찾을 수 있다. 그중 가장 기본이 되는 라인이 64MHz의 CPU를 가지고 있다. 그렇다면, 괜찮지 않을까? 다음은 MC..
[TM4C] ADC 초기화 과정
들어가며 이 글에서는 Texas Instruments사의 Cortex-M4칩인 TM4C123GH6PM의 ADC 초기화 설정 방법을 설명합니다. 예제 코드는 공개 강좌인 Embedded Systems - Shape the World Chapter 14의 예제 코드를 기반으로 합니다. 여담으로 앞서 언급한 강좌는 MCU 공부를 시작하는 사람에게 많은 도움이 될거라 생각합니다. 관심이 있다면 시간을 들여서 보시는 것을 추천합니다. ADC 초기화 내용 초기화 과정에서 하는 일은 크게 두 가지 입니다. ADC 입력 소스로 사용할 GPIO 설정과 ADC 설정 설정입니다. 우리는 ADC 9번 채널로 사용할 수 있는 GPIOE 4번 핀에 아날로그 입력을 받을 수 있도록 기능을 설정할 것입니다. 그리고 하나의 소스로부터..
[Modulabs] 2020년 임베디드랩 시즌1 마지막 프로젝트
모두의 연구소 임베디드 랩 2020년 시즌1 모임의 마지막 프로젝트를 위한 요구사항 명세서입니다. 이 프로젝트는 공개강좌인 Embedded Systems - Shape The World의 15장 내용을 참고하여 진행합니다. 충분한 시간을 가지지 않고 진행하는 것이라 부족한 점이 있을 수 있습니다. 그럼에도 도움이 될 수 있는 경우가 있을 수 있기에 내용을 공유합니다. 이 글에서 소개하는 요구사항 명세서 양식은 앞서 알려드린 강좌의 7장 (Design and Development) 내용을 살펴보시면 상세히 알 수 있습니다. 요구사항 명세서 1. 개요 1-1. 목적 임베디드랩 2020년 시즌1을 마감하며 이제까지 배웠던 기술을 하나의 시스템에 통합해본다. 통합되는 기술을 나열하면 아래와 같다. 디지털 입력 ..
[TM4C] TivaWare 프로그래밍 모델
들어가며 주변 장치 드라이버는 두 가지 방식의 프로그래밍 모델을 제공합니다. 한 가지는 레지스터에 직접 접근하는 방식(Direct Register Access Model, DRA)이고 다른 한 가지는 소프트웨어 드라이버 모델입니다. 두 모델은 각각 장단점을 가지고 있으며 개발자는 상황에 맞게 개발 모델을 선택해야 합니다. 레지스터 직접 접근(DRA) 모델 DRA 모델은 제어하고자 하는 주변 장치(Peripherals) 레지스터에 직접 접근하여 개발하는 방식입니다. 레지스터에 접근하기 위해서는 레지스터 주소 값이 정의된 매크로를 이용합니다. 매크로에 정의된 주소 값은 개발하려는 칩마다 다를 수 있어 맞는 헤더 파일을 코드에 포함시킬 필요가 있습니다. 그렇다면 그 헤더 파일은 어디에 있는 걸까요? 헤더 파일..
[TM4C] TI사에서 제공하는 예제 프로젝트 추가하기
개요 Code Composer Studio(이하 CCS)에 있는 Resource explorer는 개발에 필요한 각종 자원을 찾는 데 도움을 줄 수 있는 도구입니다. 여기서 말하는 자원이란 각종 문서나 유틸리티 프로그램은 물론 예제 프로젝트 등을 말합니다. Tiva C 개발을 시작할 때 유용한 정보들을 Resource explorer에서 찾아볼 수 있겠습니다. 이번 글은 많은 자원 중 예제 프로젝트를 여러분의 작업 공간(workspace)에 추가하는 방법을 설명합니다. 예제 프로젝트 추가하기 CCS 상단 메뉴에서 [View]-[Resource Explorer]를 클릭합니다. Resource Explorer 창이 열린 모습을 확인할 수 있습니다. 왼쪽 폴더 모양의 메뉴 중 Software를 클릭합니다. 펼..
[TM4C] Code Composer Studio 프로젝트 만들기
개요 TivaC 환경의 개발을 위해서 Code Composer Studio(이하 CCS) 프로젝트를 만드는 방법을 설명합니다. 프로젝트 만들기 CCS를 실행합니다 상단 도구 아이콘에서 [New]-[CCS Project]를 선택합니다. New CCS Project 창이 열립니다. 이 창에서 살펴봐야 할 항목은 아래와 같습니다. Target Project name Compiler version Projector templates and examples Target 항목에서는 개발 대상이 되는 칩을 선택하도록 합니다. 저의 경우 TM4C123GH6PM을 대상으로 개발을 하고자 하므로 아래와 같이 값을 선택하였습니다. Project name 항목에는 프로젝트 이름을 입력합니다. Compiler version 항..
[TM4C] Texas Instruments의 IDE, Code Composer Studio 설치하기
개요 이 글은 Texas Instruments(이하 TI)의 ARM MCU를 이용한 개발을 하기 위해 통합개발환경(Integrated Development Environment, IDE)을 다운로드하고 설치하는 방법을 설명합니다. TI사의 IDE인 Code Composer Studio(이하 CCS)는 TI사에서 공개한 무료 개발 툴로 누구나 무료로 사용할 수 있습니다. 회사나 자금력이 있는 단체에서는 KEIL이나 IAR의 고가의 유료 IDE를 선호하는 경향이 있습니다. 그러나 그렇지 못한 소규모 단체나 개인이라면 CCS를 이용하는 것이 최선이지 않을까 생각합니다. 또 Linux나 Mac을 사용하고 있다면 더더욱 CCS를 사용할 수밖에 없을 것입니다. 이 설명은 현재(2020년 09월) 기준에 맞추어 작성..
[MCS-51] GUI 방식으로 Writing 하기, AVRDUDESS 사용법
GUI 방식으로 편하게 Writing 할 수 있는 다운로더 프로그램인 AVRDUDESS를 소개하고자 합니다. 이전 포스트에서 MCU에 hex 파일을 다운로드 할 때 Avrdude를 이용하는 방법을 알아보았습니다. 우리가 하고자 하는 일을 해내기에 부족함은 없지만 매번 명령 옵션들을 키보드로 입력하는 것은 여간 귀찮은 일이 아닙니다. 그래서 이 글에서는 명력 입력을 대신해주는 프로그램인 AVRDUDESS를 소개하고 간단한 사용법을 설명하고자 합니다. AVRDUDESS 개발자 설명에 의하면 이 프로그램은 Windows, Mac, Linux 환경에서 동작한다고 합니다. 저는 Windows 10 환경에서 테스트해 보았으니 이점을 참고해서 다음 내용들을 봐주시기 바랍니다. 프로그램 구하기 AVRDUDESS 개발자..