Cortex-M0 STM32 실습환경

개인 생계문제로 방치만 하던 블로그를 다시 시작하는 의미로  새롭게 시작해 보고자 하는 것은  요즘 대세인 ARM을 다뤄보고자 한다.  8bit AVR도  겨우 쓰는놈이 뭔 16bit MCU 라는 생각을 하지만 Cortex-M Series 중 M0이 가장  만만해 보여  살짝 발을 담궈 보기로 한다.

ARM 이란?

Advanced RISC Machine 의 약자로 AVR(8bit) 보다 진보된 RISC 기계쯤으로 생각하면 되겠다.

RISC는 또 무엇인가?  간단히 설명해 중앙 처리 장치를 구성하는 요소에는 명령세트,레지스터,메모리 공간등으로 이뤄져 있는데 이 중 명령 세트는 RISC(Reduced Instruction Set Computer)와 CISC(Complex Insturction Set Computer) 이 2가지로 분류할 수 있다.

RISC는 프로세서는 전체 명령 중 핵심 명령만을 담고 있어 CISC보다 구조적으로 단순화 할 수 있고 더 빠른 병렬처리가 가능해 상대적으로 성능을 끓어 올린 것이라 생각 하자.

참고로 요즘 컴퓨터의 CPU는 CISC와 RISC를 혼용해서 쓰고 있으며(구형 CPU는 CISC 구조) ARM의 MPU가 RISC 구조이다.

기본 배경은 이즈음 에서 마치며 더 자세한 이론적 내용은 다른 블로그도 많으니 이론보다 실습과 예제 위주로 진행하고자 한다. 또 국내에서는 잘 쓰이지 않는 Compiler를 사용하여 입문자에게 다양한 방법으로 ARM을 접할 수 있도록 꾸미는 것이 목표다.

 

MikroElectronika  MikroC pro for ARM 4.9.0

ARM를 처음 알았을 때는 유료 컴파일러 밖엔 없었는데 요즘 GCC기반의 IDE도 여럿 있는 것으로 파악하고 있다.   하지만 1년 전 ARM을 배워보겠다고  구매하고 쳐 박아둔 MikroC ARM Compiler를 이용하고자 한다.

국내에서는 생소한 컴파일러며 잘 쓰이지 않지만 상대적으로 저렴한 가격과 Knowledge Base가 잘 갖춰있고 사용자 포럼을 운영하고 있어 여러 문제를 해결할 수 있다. 사실 이 컴파일러는 한국을 제외한 국가에서는 다양하게 쓰이는 것으로 파악되고 있다.

국내에서는 평가가 좋지는 않지만 상대적으로 쉬운 접근 방법을 제시하고 있고 기초가 부족한 부분에서 막혀 접근조차 못하고 있는 부분도 있고 해서 이것을 통해 부담을 덜고 익숙해지면  자세하게 파고들고자 한다.

제목 없음

STM32F0 Discovery Expansion Board

다양한 센서와, 확장 모듈을 장착할 수 있는 구성으로 되어 있으며 Aliexpress에서 비교적 저렴한 가격으로 개발 환경을 꾸밀 수 있고, 지원하는 모듈을 구동시키는 예제를 포스팅할 예정임.

포스팅 하면서 되도록이면 LED, FND,LCD,인터럽트, 타이머, ADC 정도의 순서로 포스팅할 예정이지만  LED에 타이머를 쓸 수도 있으니 이점 염두해두기 바란다.

HTB1VBIxLFXXXXarXpXXq6xXFXXXK

HTB1TOcoLFXXXXbDXFXXq6xXFXXXN

1.STM32F0DISCOVERY socket: for easily connecting the STM32F0DISCOVERY
2.8I/Os + DAC + ADC interface: for connecting accessory boards such buttons, motors, AD/DA module etc.
3.USART2 interface: easily connects to RS232, RS485, USB TO 232, etc.
4.SPI1 / SPI2 interface:easily connects to SPI peripherals such as DataFlash (AT45DBxx), SD card, MP3 module, etc.
5.LCD connector: for connecting touch screen LCD
6.USART1 interface: easily connects to RS232, RS485, USB TO 232, etc.
7.I2C1 / I2C2 interface: easily connects to I2C peripherals such as I/O expander (PCF8574), FRAM (FM24CLxx), etc.
8.I2S / I2C1 interface: easily connects to I2S peripherals such as audio module, etc.
9.ONE-WIRE interface: easily connects to ONE-WIRE devices (TO-92 package), such as temperature sensor
(DS18B20), electronic registration number (DS2401), etc.
10.5V/3.3V power input/output: usually used as power output, also common-grounding with other user board
11.5V DC jack
12.MCU pins connector: all the MCU I/O ports are accessible on expansion connectors for further expansion
13.SWD interface: for debugging/programming
14.Joystick jumper
◦short the jumper to connect the joystick to default I/Os used in example code
◦open the jumper to connect the joystick to custom I/Os via jumper wires
15.Boot mode switch: for configuring BOOT0 pin
16.Power switch
17.Power indicator
18.Joystick: five positions

 

STM32F0 Discovery – Cortex-M0 STM32F051R8T6

이 역시 Aliexpress에서 2만원도 채 안되는 가격으로 구입해 놓았다. ST Link/V2가 보드에 적체되어 있어 별도의 다운로더는 필요하지 않다.

HTB1SjRgKFXXXXbSXFXXq6xXFXXX3
•STM32F051R8T6 microcontroller featuring 64 KB Flash, 8 KB RAM in an LQFP64 package
•On-board ST-LINK/V2 with selection mode switch to use the kit as a standalone ST-LINK/V2
(with SWD connector for programming and debugging)
•Board power supply: through USB bus or from an external 5 V supply voltage
•External application power supply: 3 V and 5 V
•Four LEDs: ◦LD1 (red) for 3.3 V power on
◦LD2 (red/green) for USB communication
◦LD3 (green) for PC9 output
◦LD4 (blue) for PC8 output
•Two push buttons (user and reset)
•Extension header for all LQFP64 I/Os for quick connection to prototyping board and easy probing
•An additional board is provided which can be connected to the extension connector for even easier
prototyping and probing.

 

Leave a Reply

Your email address will not be published. Required fields are marked *