반응형

Embeded 14

펌웨어(Firmware)의 구조

앞으로 포스팅될 게시물들은 각 기능에 대한 설명과 더불어 부분적인 소스를 제공할 것이다. MCU를 처음배우는 사람들은 각 기능의 소스를 제공하더라도 활용하지 못하기 때문에 기본적인 펌웨어의 구조를 제시하겠다. 여기서 펌웨어란 임베디드에서의 소스코드(Source Code)를 말한다고 할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include 라이브러리들 #define 타이머 프리스케어 (타이머의 주기) int 전역변수들(각 함수내에서 static으로 대체가능) void Init_Timer(); //함수원형 void main() { 초기화함수들 호출 while(1) { } // 종료방지 } void Init_Timer() { //함수정..

타이머(timer)와 인터럽트(interrupt)

임베디드에서의 프로그래밍은 일반적인 소프트웨어 프로그래밍과 알고리즘을 짬에 있어서 차이가 발생한다. Timer에 의해 인터럽트가 발생하는 것을 고려하여 펌웨어를 구현해야 한다는 점이다. Timer 자 여기서 타이머란 우리가 쉽게 생각할 수 있는 그 타이머이다. 개발자가 설정한 주기마다 인터럽트를 발생시킨다. Interrupt 인터럽트란 쉽게 얘기해 cpu가 일을 하고 있는데 거기에 태클을 거는 행위이다. cpu는 기본적으로 한번에 하나의 일만 처리할 수 있다. 컴퓨터에서 인터넷서핑을 하면서 노래도 틀어놓고 동영상도 동시에 재생할 수 있는 것은 일을 잘게 나누어 노래도 잠깐 재생했다가 동영상도 잠깐 재생하는 것을 빠르게 반복하기 때문에 동시에 처리할 수 있는 것 처럼 보이는 것이다. 즉 A라는 작업을 하던..

myCortex STM32F4 스펙

STM32F4 Cortex-M4 코어 ◎ 최대 동작 클럭 : 168MHz◎ 최대 210DMIPS(1.25DMIPS/MHz)◎ DSP instruction◎ 16bit FPU 내장 Memory ◎ 512KB Flash◎ 192KB SRAM + 4KB Backup SRAM◎ MPU◎ DMA Peripherals ◎ 16 채널 12bit ADC. 최대 2.4MSPS◎ 2 채널 12bit DAC◎ 16/32 bit Timer◎ RTC◎ Watchdog Timer◎ 6 UART/USART◎ 3 SPI, 3I2C, SDIO◎ USB Full-speed, High-speed◎ CAN. 최대 1Mbps◎ 10/100 Ethernet◎ True Random Number Generator 출처 : https://githu..