본문 바로가기

분류 전체보기

(31)
현재 Mac 15.0.1 에서 ST-Link server 연결 문제 현재 저의 환경인 Mac 15.0.1에서 STM32 CubeIDE를 실행하면 아래의 메세지와 함께 ST-Link 연결이 되지 않고 있습니다. 터미널에서 직접 실행하면 정상 동작 되고 있습니다. 아래의 사이트에서는 sudo를 함께 사용한 것을 해결책으로 알려주는데 저는 sudo 없이도 정상 동작하고 있습니다. https://community.st.com/t5/stm32cubeide-mcus/stlink-server-with-macos-15/td-p/705089 STLink Server with MacOS 15  Hello, I updated to Mac15 (MacOS Sonoma Public Beta), which was probably a mistake. Now I get an error from ST..
printf UART로 출력 c 함수 printf()를 UART로 출력하게 해서 디버깅을 할 수 있습니다. 아래의 링크를 참고하면 간단히 해결됩니다.The ST-LINKs embedded on ST Nucleo boards have a virtual com port feature, and we can easily get debugging information on a terminal using printf redirected to the UART of the STM32 connected to the ST-LINK pins used for the virtual COM port. https://community.st.com/t5/stm32-mcus/how-to-redirect-the-printf-function-to-a-uart-for..
CAN bus 환경 테스트 STM32 board와 Raspiberry Pi 3을 이용해 CAN 통신 한경을 구성했습니다.  STM32 보드는 NUCLEO-F446RE 입니다.CAN transceiver는 SN65HVD230 Board 를 연결하였습니다. Raspberry Pi 3는 RS485 CAN HAT를 사용했습니다.동일하게 CAN transceiver는 SN65HVD230 이기 때문에 환경 구성이 수월합니다. STM32 보드는 1초 단위로 메시지를 전송하고 수신된 메세지를 출력하도록 했습니다.Rpi3 보드는 can-utils을 사용하여 메시지를 전송하고 수신하였습니다. Rpi3 메세지 전송 STM32 메세지 수신 STM32에서 전송한 메세지 Rpi3에서 수신 캡처를 이상하게 해서 좀 안 맞지만 일단 기록해 둡니다.
Sparse file header 이전 포스팅에서 본 sparse file 의 헤더를 읽어보았습니다. https://seanlog.tistory.com/1 Sparse file파일 시스템에서 공간을 절약하는 방법Sparse file는 파일 시스템에서 데이터를 효율적으로 저장하기 위한 방법 중 하나이다.파일의 데이터 중에서 연속된 의미없는 값(empty data)는 실제로 디스크seanlog.tistory.com 헤더는 아래와 같이 정의되어 있습니다.typedef struct sparse_header { __le32 magic; /* 0xed26ff3a */ __le16 major_version; /* (0x1) - reject images with higher major versions */..
HTTP range requests HTTP range requestsHTTPS range requests에 대해 확인해 본 내용 정리입니다.아래의 사이트에서 대부분 참고하였습니다.https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests HTTP range request는 서버에게 리소스의 일부를 클라이언트로 다시 전송하도록 요청하는 것을 정의합니다.Range requests는 랜덤 액세스를 지원하는 미디어 플레이어나 대용량 파일의 일부만 필요한 데이터 소프트웨어, 사용자가 다운로드를 일시 중지했다가 다시 시작할 수 있는 다운로드 관리자 등의 다양한 클라이언트에서 유용하게 사용될 수 있습니다.서버가 지원하는지 확인하는 방법HTTP response에 Accept-Ranges가 포함되..
Eclipse hawkBit Eclipse hawkBit™은 제한된 에지 장치와 IP 기반 네트워킹 인프라에 연결된 보다 강력한 컨트롤러 및 게이트웨이에 소프트웨어 업데이트를 제공하기 위한 도메인 독립적인 백엔드 프레임워크입니다.https://eclipse.dev/hawkbit Getting Started from docker imageGetting Started 페이지에 설명된 docker image로 실행해 보았습니다. Run hawkBit Update Server (Monolith) as Docker ContainerStart the hawkBit Update Server as a single container$ docker run -p 8080:8080 hawkbit/hawkbit-update-server:latest  Di..
eMMC/Embedded MultiMediaCard https://en.wikipedia.org/wiki/MultiMediaCard#eMMC위키피디아 번역현재 구현된 임베디드 MMC(eMMC 또는 e.MMC) 아키텍처는 플래시 메모리, 버퍼 및 컨트롤러와 같은 MMC 구성 요소를 소형 ball grid array(BGA) IC 패키지에 넣어 회로 기판에 내장된 비휘발성 메모리 시스템으로 사용할 수 있도록 합니다. 이는 사용자가 탈착할 수 있는 카드가 아니라 printed circuit board(PCB)에 영구적으로 부착된다는 점에서 다른 버전의 MMC와 다릅니다.따라서 메모리 또는 컨트롤러에 문제가 발생하면 eMMC를 교체하거나 수리해야 합니다. eMMC에서는 호스트 시스템이 논리 블록 주소(logical block addresses)에 데이터를 읽고 ..
NUCLEO-F446RE 보드 NUCLEO-F446RE NUCLEO-F446RE - STM32 Nucleo-64 development board with STM32F446RE MCU, supports Arduino and ST morpho connectivity - STMicroelectronics NUCLEO-F446RE - STMicroelectronicsNUCLEO-F446RE - STM32 Nucleo-64 development board with STM32F446RE MCU, supports Arduino and ST morpho connectivity, NUCLEO-F446RE, STMicroelectronicswww.st.com On-board ST-LINK/V2-1 debugger/programmer on USB Min..
Zstandard, zstd ZstandardZstandard (zstd)는 Facebook에서 개발한 압축 알고리즘 이다.Zstandard, or zstd as short version, is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios.It also offers a special mode for small data, called dictionary compression.It's backed by a very fast entropy stage, provided by [Huff0 and FSE library](https://github.com/Cyan497..
Android partitions Standard partitionsboot: kernal image 및 ramdisk(Android 13 이전)를 포함하고 있어 안드로이드 장치를 부팅하는 데 필요한 핵심 요소들을 담고 있다. 장치의 부팅을 담당하는 가장 중요한 파티션 중 하나이다. 부트 로더는 이 파티션에서 커널을 로드하고 운영체제를 시작한다.init_boot: Android 13에서 도입된 새로운 파티션으로, 기존의 boot 파티션과 관련된 기능을 분리하는 역할을 한다. init_boot는 주로 Device tree(bootloader 관련 데이터)를 처리하는 데 사용된다. 이 변화는 보안 강화와 관련된 목적을 가지고 있으며, A/B partition 구조 및 dynamic partition과 관련된 업데이트 과정에서 유용하게 활용된..