본문 바로가기
# Semiconductor/- Semicon Academy

[Harman 세미콘 아카데미] 36일차 - ARM & RTOS 활용(STM32 Review, LED 실습)

by Graffitio 2023. 8. 16.
[Harman 세미콘 아카데미] 36일차 - ARM & RTOS 활용(STM32 Review, LED 실습)
728x90
반응형
[Review]

 

통신 방식

 

Parallel(병렬)

- 대용량, 속도 빠름

- 데이터의 크기에 맞춰서 여러 개의 wire가 필요하다.

- 무선일 경우, 또 다른 문제가 발생한다.

- Mainboard 상에 존재하는 bus(Address bus, Data bus, 가장 대표적인 상태)

- STM32 : 시스템을 구성하는 데이터가 32bit

 

Serial(직렬)

- 하나의 wire를 통해 데이터를 전송(Tx : Transmit, Rx : Receive)

- Sync, Async 의 두 가지 방식으로 나뉜다.(Sync : SPI)

- Sync 방식은 동기 신호가 Define되어 있던지, 따로 준비가 되어 있어야 하므로 범용성이 떨어짐.

- Async : clock이 따로 필요없음. 단, 서로 속도(Baud Rate)와 데이터 타입(몇 bit인지), 검증 방식이 같아야 한다.

- Parallel은 현실적으로 한계가 있음.

- 대부분의 통신은 Serial 방식으로 이루어진다.

 

 

ARM Core

 

ARM : Advanced RISC Machines의 약자로, 저전력 및 고성능 마이크로프로세서이다.

  

Cortex-A

: Cortex-A 시리즈는 주로 고성능 컴퓨팅 및 응용분야에 사용되는 프로세서이다.

  스마트폰, 태블릿, 서버 등 다양한 장치에서 사용되며, 다중 코어 구조와 고급 기능을 가지고 있다.

  이 프로세서는 복잡한 작업을 수행할 수 있도록 설계되어 있어

  멀티테스킹, 멀티미디어처리, 가상화 등의 작업에 적합하다.

 

Cortex-R

: Cortex-R 시리즈는 실시간 응용 분야에 주로 사용되는 프로세서로,

  고도의 신뢰성과 예측 가능한 동작이 요구되는 환경에서 사용된다.

  자동차 제어 시스템, 의료기기, 산업 자동화 등에서 사용되며,

  실시간 제어와 안정성이 필요한 상황에서 활용된다.

 

Cortex-M

: Cortex-M 시리즈는 저전력, 임베디드 시스템 분양에서 사용되는 프로세서로

  소형 및 저전력 장치에서의 작업에 최적화되어 있다.

  마이크로컨트롤러 애플리케이션, IoT 디바이스, 센서 기반 시스템 등에 사용된다.

  Cortex-M 시리즈는 비교적 단순한 구조를 가지며,

  낮은 전력 소모와 빠른 응답 시간이 중요한 분야에 주로 사용된다.

 

  우리가 쓰는 STM32 board 에 들어 있는 core는 ARMv6

 

 

Code generation

 

Pin assignment의 내용 등을 적용하기 위한 코드를 생성한다.

하지만, 이 기능을 사용하면 내가 만든 소스들은 지워지고 기본 폼으로 리셋될 수도 있다.

따라서 필요한 부분까지 지워지는 것을 방지하기 위해

내가 사용할 소스들을 작성하는 영역이 지정되어 있으며, 여기에 작성하면 문제없이 쓸 수 있다.

 

위와 같이 USER Code block 내에 작성하면 안 지워짐.

 

 

관련 자료 다운

 

<홈페이지에서 다운>

stmicroelectronics 홈페이지에서 NECLEO-F411RE 검색
Schematic도 받을 수 있다.

 

<IDE프로그램 내부에서 다운>

 


 

[LED 실습]

 

LED On-Off

Pin Assignment
위와 같이 TogglePin 함수를 사용해서 만들 수도 있다.

 

 

 

LED On-Off(Button 적용)

 

 

 

 

LED On-Off(외부 Switch적용)

 

 

 

RGB_LED On-Off(외부 Switch적용)

 

RGB LED

① 버튼 누를 때마다 RGB 순차적으로 출력

② 4번째 눌리면 Off

Pin assignment

if 문으로 작성해도 되지만, switch-case문에 비해 컴파일러를 많이 잡아먹기 때문에

swicth-case문을 사용하는 것이 더 바람직하다.

 

 

 

Fin.

728x90
반응형