SREC

모토로라 S-레코드(Motorola S-record)는 ASCII 16진 텍스트 형태로 이진 정보를 전달하는 모토로라가 개발한 파일 포맷이다. 이 파일 포맷의 다른 이름은 SRECORD, SREC, S19, S28, S37이다. 마이크로컨트롤러의 플래시 메모리, EPROM, EEPROM, 그리고 다른 종류의 프로그래밍 가능한 논리 장치의 프로그래밍에 흔히 사용된다. 일반적인 상황에서 컴파일러나 어셈블러는 프로그램의 솟 코드(예: C 또는 어셈블리어)를 기계어로 변환하고 이를 HEX 파일로 출력한다. 그 뒤 HEX 파일을 프로그래머가 가져와 기계 코드를 비휘발성 메모리로 버닝(burn)하거나 적재 및 실행을 위해 대상 시스템에 전송한다.

개요 
S-레코드 포맷은 1970년대 중순 모토로라 6800 프로세서용으로 개발되었다.

예시 
색 범례

체크섬 계산 
다음의 예시 레코드는

 

체크섬 값이 어떻게 계산되는지를 보여주며, 그 방법은 아래와 같다:
 추가: 각 바이트  +  +  = 19E (16진) 전체를 추가.
 마스크(Mask): 전체 중 최소 중요 바이트를 유지 = 9E (16진)
 보충(Complement): 최소 중요 바이트의 1의 보수를 계산 =  (16진)

16비트 메모리 주소

같이 보기 
 인텔 HEX: 인텔의 16진 파일 포맷

참고 문헌 
 Appendix A, "S Record Information", page A-1, states, "For compatibility with teletypewriters, some programs may limit the number of [data] bytes to as few as 28 (56 printable characters in the S-record)."

외부 링크 
 RFC 4194 - The S Hexdump Format - IETF
Software
 SRecord is a collection of tools for manipulating SREC format files.
 BIN2MOT, BINARY to Motorola S-Record file converter utility.
 SRecordizer is a tool for viewing, editing, and error checking S19 format files.
 bincopy is a python package for manipulating SREC format files.

임베디드 시스템
파일 포맷