펌웨어

    ABI, EABI 그 의미를 이해하고 툴 체인 이름까지 해석하기

    ABI와 EABI, 그게 뭐야? 아무 생각 없이 공부 자료를 보다가 문득 'ABI'의 의미를 알아야겠다는 생각이 들었습니다. 이에 대해 알아보고 정리한 자료입니다. ABI 'Application Binary Interface'의 약자입니다. 바이너리 수준의 인터페이스 규약을 말합니다. 서로 다른 컴파일러가 소스 코드를 컴파일하더라도 오브젝트 파일끼리 링킹이 될 수 있도록 합니다. EABI 임베디드 환경의 ABI를 의미합니다. ABI와 EABI의 차이점 이런 것들이 있습니다. 권한 명령이 응용 프로그램 코드 안에서 실행됩니다. 동적 링크 요구하지 않으며 아예 허용하지 않을 수도 있습니다. 메모리 저장을 위해 더 작은 스택 프레임을 가집니다. 위에 적힌 차이점 중에서 가장 크게 ..

    [TM4C] GPIO 초기 설정 방법 해설

    [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 프로그래밍 모델

    [TM4C] TivaWare 프로그래밍 모델

    들어가며 주변 장치 드라이버는 두 가지 방식의 프로그래밍 모델을 제공합니다. 한 가지는 레지스터에 직접 접근하는 방식(Direct Register Access Model, DRA)이고 다른 한 가지는 소프트웨어 드라이버 모델입니다. 두 모델은 각각 장단점을 가지고 있으며 개발자는 상황에 맞게 개발 모델을 선택해야 합니다. 레지스터 직접 접근(DRA) 모델 DRA 모델은 제어하고자 하는 주변 장치(Peripherals) 레지스터에 직접 접근하여 개발하는 방식입니다. 레지스터에 접근하기 위해서는 레지스터 주소 값이 정의된 매크로를 이용합니다. 매크로에 정의된 주소 값은 개발하려는 칩마다 다를 수 있어 맞는 헤더 파일을 코드에 포함시킬 필요가 있습니다. 그렇다면 그 헤더 파일은 어디에 있는 걸까요? 헤더 파일..

    [TM4C] TI사에서 제공하는 예제 프로젝트 추가하기

    [TM4C] TI사에서 제공하는 예제 프로젝트 추가하기

    개요 Code Composer Studio(이하 CCS)에 있는 Resource explorer는 개발에 필요한 각종 자원을 찾는 데 도움을 줄 수 있는 도구입니다. 여기서 말하는 자원이란 각종 문서나 유틸리티 프로그램은 물론 예제 프로젝트 등을 말합니다. Tiva C 개발을 시작할 때 유용한 정보들을 Resource explorer에서 찾아볼 수 있겠습니다. 이번 글은 많은 자원 중 예제 프로젝트를 여러분의 작업 공간(workspace)에 추가하는 방법을 설명합니다. 예제 프로젝트 추가하기 CCS 상단 메뉴에서 [View]-[Resource Explorer]를 클릭합니다. Resource Explorer 창이 열린 모습을 확인할 수 있습니다. 왼쪽 폴더 모양의 메뉴 중 Software를 클릭합니다. 펼..

    [TM4C] Code Composer Studio 프로젝트 만들기

    [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 설치하기

    [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월) 기준에 맞추어 작성..