Microprocessor (MCU) 8

<ST MCU> printf 를 통해 Console 출력 (USART)

예전 라이브러리에서는 여러가지 옵션을 손봐야했는데 2022년 10월 기준으로 CUBEMX 으로 프로젝트 생성시 main 함수에 아래 명칭으로 함수를 만들면 printf 사용시 자동으로 링크가 된다. putchar 함수 내에서 어떻게 사용할지? (Interrupt ? DMA ? Direct ? ) 는 알아서사용하시면됩니다. int putchar(int ch) { if( ch == '\n') // Ender 입력시 { gP->console->putchar('\r'); gP->console->putchar('\n'); } else { gP->console->putchar(ch); // Echo mode } return ch; } 간단하쥬???

CMSIS DAP ?

What is CMSIS-DAP? CMSIS-DAP는 USB를 통해 ARM Cortex 마이크로컨트롤러의 Coresight DAP(디버그 액세스 포트)에 액세스하는 표준화된 방법을 제공합니다. CMSIS-DAP는 일반적으로 온보드 인터페이스 칩으로 구현되어 한쪽의 호스트 컴퓨터에서 실행되는 디버거와 개발 보드에서 JTAG(Joint Test Action Group) 또는 SWD(Serial Wire Debug)를 통해 직접 USB 연결을 제공합니다. 다른 장치의 Coresight DAP에 액세스하기 위해 대상 장치에 연결합니다. ARM 웹 사이트에서 설명서에 액세스할 수 있습니다. 설명서에 액세스하려면 ARM 실버 계정에 등록해야 합니다. Why the need for CMSIS-DAP ? CMSIS-D..

CMSIS , Common Microcontroller Software Interface Standard

https://developer.arm.com/tools-and-software/embedded/cmsis Common Microcontroller Software Interface Standard (CMSIS) – Arm Developer developer.arm.com CMSIS(Common Microcontroller Software Interface Standard)는 Arm Cortex 프로세서를 기반으로 하는 마이크로컨트롤러를 위한 공급업체 독립적인 추상화 계층입니다. CMSIS는 일반 도구 인터페이스를 정의하고 일관된 장치 지원을 가능하게 합니다. CMSIS 소프트웨어 인터페이스는 소프트웨어 재사용을 단순화하고 마이크로컨트롤러 개발자의 학습 곡선을 줄이며 새로운 장치의 출시 시간을 단축합니다..

USB , Selective Suspend & General Suspend <ing>

Susepnd ( 절전) 모드 ? USB Selective Suspend 란? The USB selective suspend feature allows the hub driver to suspend an individual port without affecting the operation of the other ports on the hub. Selective suspension of USB devices is especially useful in portable computers, since it helps conserve battery power. USB Device 는 초기화 ( Enum) 과정에서 Host 가 Selective Suspend 지원여부를 물어보면 대답할 의무가 있다. 아래 Log 확..

NUCLEO-F411RE, 소개

ST 사은품으로 받은 Nucleo F411 EVK 보드입니다. 앞으로 무엇으로 활용해볼지 고민중입니다. ( 21.07.15) 박스에 설명된 내용 유첨합니다. 앞으로 개발시 필요할 수 있는 정보가 있을 수 있습니다. Github Open Project 으로 소스코드 공개합니다. ( 현재 21.07.15 기준으로는 초기화 소스만있음 ) https://github.com/leehands-society/evk_stm32f411_nucleo.git 1. 주기적인 Polling Interrupt Clock Source 는 Internal Clock 사용 : 즉 Clock Source 는 84 Mhz , Prescaler : 8400 --> 10kHz Counter Period : 10000 --> 1Hz ( 1s )

ISA 란 무엇인가?

ISA 란 무엇일까? 명령어는 CPU 작업에 대응하는 바이너리 코드 컴퓨터 아키텍처는 주로 ISA에 의해 결정되므로 ISA에는 아키텍처를 의미하는 A(architecture) 가 있습니다. ISA의 S(Set)는 세트 지시를 의미하는 I(instruction) 고급 프로그래밍 언어로 작성하는 소프트웨어 논리는 산술 또는 논리 연산 또는 메모리 I/O와 같은 일련의 CPU 연산으로 변환되어야합니다. 아시다시피 CPU가 처리 할 수있는 유일한 것은 기계어, 즉 0과 1입니다. 따라서 하나의 특정 작업이 16 비트, 32 비트와 같은 특정 길이의 이진 코드에 매핑되어야한다는 것은 분명합니다. CS 배경이없는 사람들에게 Bit는 바이너리 비트를 의미합니다. ​ ISA는 하드웨어와 소프트웨어 간의 인터페이스입니다..

<ST MCU, EXTI>, Interrupt Mode & Event Mode 차이

필자가 사용하는 ST MCU 는 STM32F205 시리즈입니다. 외부인터럽트는 자주사용하지만 레퍼런스 가이드를 보면 2가지 모드가 있다는 것을 알 수 있습니다. 흔하게 사용하는 모드가 Interrupt Mode, Interrupt Mode 는 설정된 Pin 에 Rising or Falling Edge 에서 Interrupt Service Routine 에 접근하는 것입니다. 인터럽트 모드와 이벤트 모드의 가장 큰 차이는 Interrupt handler 를 실행하는지 여부 그러면 Interrupt 모드와 Event 모드 비슷한듯하면 다른 이 기능에 대해 살펴 보도록하겠습니다. 1. INTERRUPT STM32F205 를 가지고 설명하도록 하겠습니다. 2. EVENT 이벤트 발생시 인터럽트 핸들러를 접근하지..