TM4C123
[TM4C] GPIO 초기 설정 방법 해설
들어가며 이 글에서 다룰 예제는 버튼스위치를 이용해서 LED를 켜고 끄는 코드입니다. GPIO 입/출력 관련 설정을 하고 GPIO 데이터 레지스터에 접근하여 값을 읽기도 하고 쓰기도 합니다. 우리는 이 예제를 통해서 레지스터 설정과 접근 방법에 대한 기본을 이해할 수 있을 것입니다. 실습에 필요한 재료는 개발 보드 EK-TM4C123GXL 이고 별다른 추가 회로는 필요하지 않습니다. 이번 글에서는 GPIO 초기 설정 위주로 코드를 해설하고자 합니다. 예제 코드 #include "tm4c123gh6pm.h" #include #define PF4 (*((volatile unsigned long *) 0x40025040)) // SW1 void Switch_Init(void) { volatile unsigne..
[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월) 기준에 맞추어 작성..