한국어
Embedded
 

MCU libopencm3 활용, Cortex-M 펌웨어 개발

makersweb 2019.07.14 16:39 조회 수 : 414

libopencm3 프로젝트는 다양한 ARM Cortex-M 마이크로 컨트롤러 용 오픈 소스 펌웨어 라이브러리이다.

http://libopencm3.org/

 

현재 지원되는 마이크로 컨트롤러는 다음과 같다 :

▶ ST STM32F0xx/F1xx/F2xx/F30x/F37x/F4xx/F7xx/L0xx/L1xx/L4xx series

▶ Atmel SAM3A/3N/3S/3U/3X series, as well as SAMDxx and friends

▶ NXP LPC1311/13/17/42/43

▶ Stellaris LM3S series (discontinued, without replacement)

▶ TI (Tiva) LM4F series (continuing as TM4F, pin and peripheral compatible)

▶ EFM32 Gecko series (only core support)

▶ Freescale Vybrid VF6xx

 

ARM 용 GCC 툴 체인 (arm-elf 또는 arm-none-eabi)을 사용하며, 마이크로 컨트롤러에 대한 코드 플래싱은 OpenOCD ARM JTAG 소프트웨어를 사용하여 수행 할 수 있다.

 

libopencm3 프로젝트는 현재 진행 중이기 때문에 아직 마이크로 컨트롤러의 모든 기능을 지원하진 않는다.

또 라이브러리의 API는 아직 안정적인 것으로 간주되지 않으며 함수 이름, 매크로 이름 등의 변경은 사전 통보없이 언제든지 발생할 수 있다.

 

개발환경구축

 

Windows:

 

msys 다운로드 및 설치 - http://sourceforge.net/projects/mingw/files/MSYS/Base/msys-core/msys-1.0.11/MSYS-1.0.11.exe

Python 다운로드 및 설치 - http://www.python.org/ftp/python/2.7/python-2.7.msi (any 2.7 release)

arm-none-eabi/arm-elf 툴체인(toolchain) 다운로드 및 설치 - (for example this one https://launchpad.net/gcc-arm-embedded)

 

msys를 실행 후 환경변수 설정 (경로는 다를 수 있음)

export PATH="/c/Python27:/c/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q2/bin:/usr/local/bin:/usr/bin:/bin"

 

별도의 작업 디렉토리를 만들고 예제 템플릿과 라이브러리 소스 코드를 clone하여 컴파일한다.

$ git clone https://github.com/libopencm3/libopencm3-template.git
$ cd libopencm3-template/
$ git submodule update --init     -> 한번만 실행
$ make -C libopencm3              -> 한번만 실행
$ make -C my-project

 

이 글과 연관된 다른 글
  1. [2019/08/08] STM32 & LibOpenCM3, printf함수사용 by makersweb (1436)
  2. [2019/01/05] Arm, 자율주행자동차를 위한 ‘멀티스레드 프로세서’ 발표 by makersweb (58)
  3. [2014/12/18] ARM, 킥스타터 지원 제품 50종 발표 by makersweb (6560)
  4. [2014/03/01] ARM, 스마트폰 넘어 IoT로 영토 확장 by 운영자 (5925)
  5. [2015/06/07] JFlashARM으로 MCU에 bin(바이너리)다운로드 by makersweb (3845)
번호 제목 글쓴이 날짜 조회 수
24 STM32(Cortex-M3) 개발 - Firmware Flashing file makersweb 2019.07.23 640
» libopencm3 활용, Cortex-M 펌웨어 개발 makersweb 2019.07.14 414
22 yocto의 몇가지 중요한 용어 및 개념 makersweb 2019.06.21 723
21 라즈베리파이3와 PC간 Serial 통신 테스트 file makersweb 2019.05.20 3077
20 욕토 프로젝트를 이용한 Qt SDK 빌드 for 라즈베리파이3 file makersweb 2019.03.19 1201
19 yocto project, 라즈베리파이를 위한 Qt + 임베디드리눅스 빌드 file makersweb 2019.02.01 4110
18 STM32(Cortex-M3) 개발환경구축 with Eclipse file makersweb 2018.11.08 1750
17 ST, STM32 MCU용 ‘통합 개발 환경(IDE)’ 무료 제공 makersweb 2015.03.04 8454
16 USB OTG 기술의 개념 file pjk 2014.11.03 7711
15 USB 핀아웃 file pjk 2014.10.11 5253
14 시리얼 인터페이스 커넥터를 위한 핀아웃 file pjk 2014.10.10 4318
13 STM32와 CAN(Controller Area Network) Loop Back file makersweb 2017.01.23 3321
12 윈도우10에서 Prolific USB to Serial 드라이버 인식문제 file makersweb 2016.01.24 15573
11 AVRISP mkII 펌웨어 업그레이드 file makersweb 2015.07.22 6110
10 이클립스에서 IAR프로젝트 사용방법 file makersweb 2015.07.09 8030
9 JFlashARM으로 MCU에 bin(바이너리)다운로드 file makersweb 2015.06.07 3845
8 AVR(AT90USB162)을 USB to Serial 로 이용하기 file makersweb 2015.02.14 4473
7 실시간 운영 체제 또는 RTOS(Real Time Operating System) pjk 2014.12.02 5134
6 폴링(Polling), 인터럽트(Interrupt), DMA(Direct Memory Access) file pjk 2014.10.24 5099
5 부트로더의 start.S 분석 file makersweb 2014.03.23 2993