Cortex

STM32 - BIN파일과 HEX 파일의 차이

부트로더 펌웨어를 개발하기 위해 조사하던 도중,

 

실제 플래시 메모리에 실리는 펌웨어의 크기가 100KByte라고 했을 때 Bin 파일은 100Kbyte 온전한 크기를 지니고 있고, Hex 파일은 200Kbyte 정도를 지니고 있었다.

 

HxD Editor을 통해 Byte Array을 확인한 결과 실제 플래시 메모리에 실리는 값들이 Bin 파일에 온전히 실려 있었고,

 

Hex파일은 문자열 형식으로 무언가의 프로토콜을 지니고 있는 것 같았다.

 

확인 결과 Bin 파일은 플래시 메모리 주소 어디에 펌웨어가 실려야 하는지 관심 없이, 그냥 온전한 펌웨어 데이터를 갖고 있기 때문에 이를 사용하는 사용자가 메모리 주소번지 어디에 이를 실어야 하는지 관리해줘야 하고,

 

Hex 파일은 프로토콜 자체 내에 메모리 특정 번지에 펌웨어를 넣도록 포맷 (주소번지, 데이터 길이, 데이터 등..)을 갖추고 있다.

 

Hex 파일을 이용하여 부트로더를 작성 할 경우 이 포맷에 대한 지식을 익히고 이를 구현해도 되지만, 요즈음 오픈소스가 잘 되어 있어서 아마 구글링 몇번만 하면 나올 것 같다..

 

참고한 글 : https://blog.naver.com/ansdbtls4067/221507253724

 

STM32F4 시리즈 MCU 펌웨어 *.hex 파일 구조 살펴보기

안녕하세요? 땜쓰 전자연구소의 땜쓰입니다. 오늘 포스팅에서는 MCU에 다운로드하는 여러 포맷의 펌웨어...

blog.naver.com