흔히 고민되는 것이 Window watchdog 과 Indepedent watchdog 중에 어느것을 써야할지에 대한 고민입니다. 두가지 모두 Application 동작중에 오류로 인해 Core가 hang 걸렸을 때 System에 Reset을 걸어주는데 유용하게 사용됩니다. 제가 생각하는 Window watchdog 은 아래와 같은 조건에서 사용되는 것이 좋습니다. 이것 이외에는 Window watchdog, Indepedent watchdog 무엇을 사용해도 괜찮습니다. Window watchdog 사용예 Application이 정밀한 스케줄로 동작되며 지정된 시간에 watchdog을 refresh(kick dog)을 못 시킬 경우 Reset을 하는 용도 Low-power mode에서는 Watchdog..
ST Edge AI 스위트, ST 하드웨어·임베디드 AI 관련 툴 활용 솔루션 개발 지원 AWS 등 기존 AI 에코시스템 활용·소프트웨어 툴·평가·개발 키트 통합 예정 ST마이크로일렉트로닉스(이하 ST)가 ST의 하드웨어(범용 및 오토모티브 마이크로컨트롤러와 마이크로프로세서, 스마트 센서)와 임베디드 AI 최적화용 관련 툴을 최대한 활용해 고객이 AI 솔루션을 손쉽게 개발할 수 있도록 하는 ST Edge AI 스위트를 제공한다. ST는 Edge AI로 기업의 제품 혁신을 지원하는 포괄적 에코시스템을 제공한다고 7일 밝혔다. ST 하드웨어와 함께 무료로 사용하는 통합 소프트웨어 툴 세트인 ST Edge AI 스위트(ST Edge AI Suite)를 발표함에 따라 고객은 한 단계 더 나아가 인공 지능을 탑재..
Polling Conversion에서 유의해야 할 Overrun을 없애는 방법은 무엇일까요? Overrun 제거 그것은 바로 AUTODLY를 Set하는 방법입니다. 아래 그림을 참조하도록 하겠습니다. AUTDLY=1로 설정 한 후 Conversion을 보면 CH1 Conversion 이후 ADC_DR에서 Read하기 전까지는 다음 Channel CH2를 Conversion 하지 않는 것을 볼 수 있는데요, 이러한 이유로 Overrun이 발생하지 않게됩니다. CubeMX 설정 지난 포스트에 이어서 CubeMX의 설정을 알아보겠습니다. 핀설정은 생략하고 Configruation 부분만 발췌하였습니다. 중요한 것은 우리는 여러채널을 한번에 Conversion 하기 위해서 Scan Conversion Mode을..
ADC 변환에는 크게 3가지로 구분 할 수 있습니다. 각각의 장단점은 아래와 같이 간단하게 말할 수 있습니다. 변환방법 장점 단점 Interrupt - 변환시간 절약 - 소프트웨어 트리거 사용가능 - 하드웨어 트리거 사용가능 - 잦은 인터럽트 유발 - 인터럽트 처리가 늦으면 Overrun 발생 Polling - 직관적인 사용성 - 소프트웨어 트리거 사용가능 - 변환시간 및 프로세싱 예측가능 - 프로세서 점유율이 높아짐 - 변환완료 처리가 늦어지면 Overrun 발생 - 하드웨어 트리거 사용이 어려움 DMA - 변환시간 절약 - 하드웨어 트리거 사용가능 - 설정의 복잡함 - 변환완료 프로세스를 잘 처리하지 않으면 Overrun 발생 어플리케이션에 맞는 변환방법을 선택하면 사용성은 물론 최상의 성능을 구현할..
IAR 9.20.1 버전 이후 에 overriding 되어 있는 fputc() 은 더 이상 동작하지 않습니다. 자세한 내용은 아래 URL을 참조하시기 바랍니다. https://www.iar.com/kr/knowledge/support/technical-notes/compiler/migrating-projects-with-the-custom-fputc-function/ 사용자 정의 fputc() 함수로 프로젝트 마이그레이션 사용자 정의 fputc() 함수로 프로젝트 마이그레이션 기술노트 220216 아키텍처: Arm 컴포넌트: compiler 업데이트: 2022-07-05 오전 12:10 개요 사용자 정의 함수 fputc()가 있는 일부 프로젝트가 EWARM 9.20.1 이 www.iar.com 위의 Ap..
CubeIDE에서 Formatter를 이용하여, Code를 일관성 있게 만들어 봅시다. 아무런 설정을 하지 않을 경우 들여쓰기는 Tab, Braces는 Same line으로 되어 있습니다. 취향이기 한데, 저는 아래와 같이 세팅합니다. 1. 들여쓰기 - Spaces only indentation size - 2 tab size - 2 들여쓰기를 Tab으로 할 경우에, 다른 사람이 제코드를 보면 조금 다르게 보일 수 있습니다. 그건 Tab의 사이즈가 서로 다르기 때문에 나타나는 현상입니다. Spaces only 로 두면 들여쓰기는 항상 Space로 구성되어 있어 어디서나 동일한 모습으로 보입니다. (심지어 Word에서도 일관성있게 보입니다.) 들여쓰기 size는 2로 구성했습니다. 아무래도 가로로 ..
"8비트 가격으로 32비트 MCU를 구매할 수 있는 기회를 놓치지 마세요. 곧 신제품이 출시됩니다. " 위의 문구처럼 극강의 가성비 32비트 MCU가 나온다. Your next 8-bit MCU is a 32-bit. It’s called STM32C0! - STMicroelectronics 다음 8비트 MCU는 32비트입니다. STM32C0이라고 합니다. 그리고 시리즈가 확장되고 있습니다. ST의 가장 저렴한 32비트 마이크로컨트롤러인 STM32C0은 모든 개발자가 32비트 기능에 액세스할 수 있도록 해줍니다. 현재 STM32C0 시리즈는 16~32KB의 플래시 메모리와 8~48핀 범위의 패키지를 제공하는 마이크로컨트롤러를 제공합니다. 2024년에 STM32C0은 최대 64핀 패키지로 제공되는 최대 2..
Cortex®-M7 프로세서의 MPU(메모리 보호 장치)를 사용하면 영역별로 Level 1(L1) 캐시 속성(Attributes)을 수정할 수 있습니다. 캐시는 캐시 제어 레지스터에 의해 전역적으로 제어되지만 MPU는 캐시 모드와 영역에 대한 액세스를 캐시할 수 있는지 여부를 지정할 수 있습니다. 경우에 따라 캐시된 시스템은 공유 데이터를 처리할 때 코어와 주 메모리 간의 데이터 일관성을 보장해야 합니다. 이 애플리케이션 노트는 레벨 1 캐시 동작을 설명하고 L1 캐시를 사용할 때 STM32F7 시리즈 및 STM32H7 시리즈에서 데이터 일관성을 보장하는 방법을 보여주는 예를 제공합니다. MPU 및 메모리 유형 및 캐시 정책에 따라 메모리 속성을 설정하는 방법에 대한 자세한 내용은 http://w..