본문 바로가기

분류 전체보기

(31)
STM32-CAN-Raspberry Pi STM32에서 DHT22의 온습도 값을 CAN을 통해 Raspberry Pi로 전송. STM32(FreeRTOS)Task1: DHT22의 온습도 값을 주기적으로 읽어 Task2로 값 전달.Task2: 전달 된 온습도 값을 CAN transmit 하고 OLED display 에 출력. Raspberry PiCAN ID 모니터링, 수신된 데이터를 콘솔 출력.
AI로 overflow 정도는 걸러낼 수 있는 세상 MS에서 copilot을 이용해 bootloader들의 취약점들을 발견해 수정했다는 기사입니다. Microsoft uses AI to find flaws in GRUB2, U-Boot, Barebox bootloaders Microsoft uses AI to find flaws in GRUB2, U-Boot, Barebox bootloadersMicrosoft used its AI-powered Security Copilot to discover 20 previously unknown vulnerabilities in the GRUB2, U-Boot, and Barebox open-source bootloaders.www.bleepingcomputer.com Microsoft는 AI 기반 Security..
MCP(Model Context Protocol) https://www.anthropic.com/news/model-context-protocol모델 컨텍스트 프로토콜 (MCP) - Anthropic 요즘 키워드가 너무 많이 떠서 모르고 넘어가면 안될것 같아 정리. MCP는 애플리케이션이 LLM에 컨텍스트를 제공하는 방법을 표준화하는 개방형 프로토콜입니다. MCP는 AI 애플리케이션을 위한 USB-C 포트와 같습니다. USB-C가 다양한 주변기기와 액세서리에 기기를 연결하는 표준화된 방법을 제공하는 것처럼, MCP는 AI 모델을 다양한 데이터 소스와 도구에 연결하는 표준화된 방법을 제공합니다. MCP provides a standardized way for applications to:Share contextual information with lang..
Cursor's prompt Cursor의 동작 방식에 대해 설명해준 블로그 글.LLM을 잘 이해하고 유용하게 동작하도록 만드는 기술이 쉽지 않음.Cursor를 안쓰더라도 잘 알아두면 프롬프트를 잘 작성하는데 도움이 될 것이라고 보여 기록.프롬프트 엔지니어링이라는 용어가 그냥 생긴것이 아님. How Cursor (AI IDE) Works - by Shrivu Shankar How Cursor (AI IDE) WorksTurning LLMs into coding experts and how to take advantage of them.blog.sshh.io “”, “”, etc. — Using a mix of markdown and XML section tags improves prompt readability for both hu..
DHT22 온습도 센서 DHT22 온습도 센서를 동작시키는데 뜻밖의 우여곡절을 겪었습니다. 데이터시트를 대충 훑어보고 구글링의 도움으로 간단히 코드를 돌려 보았습니다.아래의 사이트가 많은 도움을 줍니다.https://controllerstech.com/temperature-measurement-using-dht22-in-stm32/ FreeRTOS로 동작해야 하므로 타이머를 추가하여 microsecond 단위로 동작하는 delay 함수를 구현해야 합니다.void delay(uint32_t delay){ __HAL_TIM_SET_COUNTER(&htim6, 0); while (__HAL_TIM_GET_COUNTER(&htim6)  그런데 이 함수가 동작하질 않았습니다.이유는 단순히 타이머를 시작하지 않았기 때문이었습니다..M..
OLED display 128x32 STM32에 SSD1306 OLED 모듈을 연결했습니다.오픈소스가 많이 있어서 어렵지 않게 동작을 확인해볼 수 있었지만,쉽게 검색되는 코드를 사용했을때는 글씨가 화면 전체에 제대로 출력되지 않았습니다.128x32 크기에 맞는 수정을 위한 코드리뷰가 필요했고,겸사겸사 초기화 코드와 데이터시트를 보며 각 설정의 내용을 살펴보았습니다. I2C로 연결했기에 https://github.com/4ilo/ssd1306-stm32HAL 를 사용했습니다. ssd1306_Init()의 코드:https://github.com/4ilo/ssd1306-stm32HAL/blob/master/lib/ssd1306.c#L23 ssd1306-stm32HAL/lib/ssd1306.c at master · 4ilo/ssd1306-stm3..
AOSP에 디바이스를 추가하는 과정. AOSP(Android Open Source Project)에 새로운 디바이스를 추가하는 과정은 여러 단계로 구성됩니다. 이를 쉽게 수행할 수 있도록 Google에서는 populate-new-device.sh 스크립트를 제공합니다. 해당 스크립트의 동작을 참고하여, 새로운 디바이스를 AOSP에 추가하는 과정을 살펴보았습니다. 새로운 디바이스를 추가하는 과정새로운 디바이스를 AOSP에 추가하려면 기본적으로 다음 단계를 수행해야 합니다.device// 경로에 디바이스 디렉터리 생성하고 디바이스 관련 파일을 배치합니다.BoardConfig.mk, AndroidProducts.mk, device.mk 등의 필수 설정 파일들을 추가합니다.커널 및 드라이버 준비: 적절한 커널을 가져오고 디바이스에 맞게 설정합니다...
AOSP build nsjail error Ubuntu 24.04 에서 lunch 실행 후 아래와 같은 메세지가 발생했습니다.Build sandboxing disabled due to nsjail error. 검색해보니 docker나 wsl 환경에서 발생했다는 경우들이 있었고그 외의 Ubuntu 환경의 경우에 아래의 링크에서 답을 찾을 수 있었습니다. https://github.com/google/nsjail/issues/110#issuecomment-2322854914 Build sandboxing disabled due to nsjail error. This may become fatal in the future. · Issue #110 · google/nsjailI was following a tutorial on how to build a..
STM32 clock STM32의 Clock Configuration 에 대해 정리해봅니다.보유중인 STM32F446xC/E 기준.Clock 소스HSE (High Speed External)외부에서 입력되는 고주파 Clock으로, Crystal, Resonator, 또는 외부 Clock source나 Oscillator를 사용합니다.PLL을 거쳐 System Clock으로 입력됩니다. HSI (Hight Speed Internal)STM32에 내장된 RC 발진 회로로, 전원 인가 시 처음 동작하는 Clock입니다.일반적으로 8MHz 또는 16MHz 주파수를 가집니다. LSE (Low Speed External)RTC(Real-Time Clock)에 사용되며 정확한 시간을 맞추기 위한 용도로, 주로 32.768kHz Cryst..
Slack Webhook Slack의 Webhook 설정 해보기. 먼저 webhook과 연결 될 채널 생성 해두고. https://api.slack.com/ 접속.  오른쪽 상단에 "Your apps" 페이지로 이동Create New App 클릭 From scratch 선택 이름 설정과 workspace 선택 후 Create App 생성확인  왼쪽 목록의 Features 에서 Incoming Webhooks 선택. On으로 설정 변경. 아래의 화면에서 "Add New Webhook to Workspace" 선택. 생성한 채널을 선택하고 허용해주면 완료.