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

S-record
모토로라 SREC 포맷의 참조 차트. (여기서 "바이트"는 문자 수를 의미)
파일 확장자.s19, .s28, .s37, .s, .s1, .s2, .s3, .sx, .srec, .mot, .mxt

개요 편집

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

예시 편집

색 범례   레코드 타입   바이트 수   주소   데이터   체크섬

체크섬 계산 편집

다음의 예시 레코드는

S1137AF00A0A0D0000000000000000000000000061

체크섬 값이 어떻게 계산되는지를 보여주며, 그 방법은 아래와 같다:

  1. 추가: 각 바이트 13 + 7A+F0 + 0A+0A+0D+00+00+00+00+00+00+00+00+00+00+00+00+00 = 19E (16진) 전체를 추가.
  2. 마스크(Mask): 전체 중 최소 중요 바이트를 유지 = 9E (16진)
  3. 보충(Complement): 최소 중요 바이트의 1의 보수를 계산 = 61 (16진)

16비트 메모리 주소 편집

S00F000068656C6C6F202020202000003C
S11F00007C0802A6900100049421FFF07C6C1B787C8C23783C6000003863000026
S11F001C4BFFFFE5398000007D83637880010014382100107C0803A64E800020E9
S111003848656C6C6F20776F726C642E0A0042
S5030003F9
S9030000FC

같이 보기 편집

참고 문헌 편집

  • 《M68HC05EVM Evaluation Module User's Manual》 4판, Motorola (Freescale), 1990  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)."
  • 《M146805EVM Evaluation Module Users Manual》 1판, Motorola (Freescale), 1983 
  • 《MCM6830L7 MIKBUG / MINIBUG ROM》, Engineering Note 100, Motorola (Freescale), 1975 

외부 링크 편집

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.