연구 노트/Embedded
[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월) 기준에 맞추어 작성..
참고 할만한 임베디드 시스템 요구사항 명세서
혼자서 시작해보려는 프로젝트의 요구사항 명세서를 작성을 해보려고 했습니다. 지난 글에서 이야기했던 IEEE의 표준문서(Std. 830)는 군더더기가 많은 느낌을 받았습니다. 좋게 말하자면 세세한 사항을 적게 되어 있어서 구체적입니다. 하지만 혼자나 적은 인원수로 빠르게 개발하고자 할 때 사용하기에는 이 문서를 작성하다 배보다 배꼽이 커지는 상황이 올 것 같아 고민이 많았습니다. 예를 들어 혼자 개발하고자 할 때 1.3항의 Roles and Responsibilities는 그다지 필요하지 않은 내용입니다. 모든 일을 혼자 하게 될 테니까요. 그러나 오해하면 안 되는 것이 저의 상황에 IEEE의 문서가 맞지 않다는 것이지 그 문서가 잘못되었다는 것은 아닙니다. 참여하는 사람이 많고 규모가 어느 정도 되는 프..
개발을 시작하기 전에
우리는 새로운 제품이나 시스템을 개발해야 할 때 아래 순서대로 개발을 진행하게 됩니다. 분석-설계-구현-실험-배포 개발하고자 하는 것이 단순하다면 이 과정들을 한 번만 거쳐도 되겠지만, 시스템이 복잡한 경우 개발 주기를 몇 회 반복하기도 합니다. [출처](http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C7_DesignDevelopment.htm/) 분석 단계 분석 단계에서는 아래와 같은 일을 해야 합니다. 요구사항 발견하기 요구사항은 시스템이 반드시 갖춰야 할 것들 의미합니다. 제품이 필요한 이유와 어떤 일을 하기를 바라는지가 이 과정에서 드러나게 됩니다. 제약사항 발견하기 시스템을 구성하는 과정에서 예상할 수 있는 한계점들을 나열합니다. 어떤 요소의 성능을..
[MCS-51] GUI 방식으로 Writing 하기, AVRDUDESS 사용법
GUI 방식으로 편하게 Writing 할 수 있는 다운로더 프로그램인 AVRDUDESS를 소개하고자 합니다. 이전 포스트에서 MCU에 hex 파일을 다운로드 할 때 Avrdude를 이용하는 방법을 알아보았습니다. 우리가 하고자 하는 일을 해내기에 부족함은 없지만 매번 명령 옵션들을 키보드로 입력하는 것은 여간 귀찮은 일이 아닙니다. 그래서 이 글에서는 명력 입력을 대신해주는 프로그램인 AVRDUDESS를 소개하고 간단한 사용법을 설명하고자 합니다. AVRDUDESS 개발자 설명에 의하면 이 프로그램은 Windows, Mac, Linux 환경에서 동작한다고 합니다. 저는 Windows 10 환경에서 테스트해 보았으니 이점을 참고해서 다음 내용들을 봐주시기 바랍니다. 프로그램 구하기 AVRDUDESS 개발자..