분류 전체보기 (14) 썸네일형 리스트형 Delta Update with SWUpdate https://sbabic.github.io/swupdate/delta-update.htmlSWUpdate 는 Zchunk를 이용해 delta update 기능을 지원합니다.FOSS projects for delta encodingZchunk - compression formathttps://sbabic.github.io/swupdate/delta-update.html#zchunk-compression-formathttps://github.com/zchunk/zchunk이 프로젝트의 목표는 새로운 압축 포맷을 만들어 새 파일과 이전 파일 간의 차이점을 다운로드하는 기능을 추가하는 것입니다. zchunk 파일에는 모든 chunk에 대한 metadata가 있는 헤더가 포함되어 있으며 헤더에 따라 어떤 chu.. SWUpdate SWUpdateSWUpdate는 임베디드 리눅스 시스템에서 안전하고 신뢰할 수 있는 소프트웨어 업데이트를 제공하기 위해 설계된 오픈 소스 프로젝트입니다.안정적이고 유연한 업데이트 메커니즘을 제공하며, 다양한 임베디드 환경에서 사용할 수 있도록 설계되었습니다.https://github.com/sbabic/swupdate주요 특징다양한 업데이트 방식 지원:OTA(Over-The-Air) 업데이트USB 또는 로컬 파일 시스템을 통한 업데이트네트워크 프로토콜 (HTTP, HTTPS, FTP 등)을 통한 업데이트멀티 이미지 업데이트:단일 업데이트 패키지 내에서 여러 이미지를 동시에 처리 가능.부트로더, 커널, 파일 시스템 등 다양한 파티션에 업데이트 가능.고신뢰성 업데이트:A/B 파티셔닝: 시스템 이미지의 두 복.. Delta update Delta Update란 무엇인가?Delta Update는 기존 데이터에서 변경된 부분(Delta)만을 전송하여 시스템을 업데이트하는 기술입니다. 전송량을 줄이고 업데이트 속도를 개선하는 효율적인 방법으로, 특히 대규모 데이터 처리 환경에서 유용합니다. 이 기술은 IoT 장치, 클라우드 서비스, 데이터베이스, 물류 및 콘텐츠 배포 네트워크(CDN) 등 다양한 분야에서 활용됩니다. 특히 OTA(Over-the-Air) 업데이트에서 자주 사용됩니다.Delta Update의 주요 장점변경된 부분만 업데이트: Delta Update는 전체 소프트웨어를 다시 다운로드하지 않고, 기존 버전과의 차이점만을 포함하는 작은 파일(델타 파일)을 전송합니다.네트워크 효율성: 델타 파일은 전체 이미지보다 훨씬 작기 때문에, .. 현재 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)에 데이터를 읽고 .. 이전 1 2 다음