S-REC(File Format)
모토로라 S-record 포맷은 바이너리 데이터를 엔코딩하기 위한 아스키코드이다. SREC 또는 S19 포맷이라고 알려져있다. 이 포맷은 바이너리 포맷 이외에 몇 가지의 이점을 가지고 있다. 아스키는 텍스트 에디터로 파일을 작성하는 것이 가능하다. 또한 각 레코드는 전송하는 동한 발생할 수 있는 identity data를 체크섬하는 기능을 포함한다.
이 포맷은 1970년대 모토로라 6800 프로세서를 위해 생성되었다. 임베디드 프로세서에서 특별하게 실행 가능한 코드, 바이나리 데이터를 엔코딩할 때 소프트웨어 개발 툴로 사용된다.
약간 다른 아스키 포맷으로 비슷한 엔코딩을하는 인텔 헥사 포맷은 인텔 프로세서에 사용된다.
SREC 포맷 파일은 아스키 레코드 시리즈의 한 구성이며 모든 헥사 수는 빅 엔디안(상위 바이트가 먼저 전송되거나 저장되는 방식)이며 레코드는 다음의 구조를 갖는다.
Start code |
Record type |
Byte count |
Address |
Data |
Checksum |
S00F000068656C6C6F202020202000003C S11F00007C0802A6900100049421FFF07C6C1B787C8C23783C6000003863000026 S11F001C4BFFFFE5398000007D83637880010014382100107C0803A64E800020E9 S111003848656C6C6F20776F726C642E0A0042 S5030003F9 S9030000FC
|
Start code Field에서 영문자 S는 코드 Start를 의미한다.
Record type Field는 한 자리 0~9의 값으로서 데이터 필드의 타입을 정의한다.
Byte Count Field는 어드레스 필드, 데이터 필드, 체크섬 필드를 두 자리의 16진수를 한 쌍으로 묶어 총 바이트의 수를 카운트해서 표시된다.
Address Field는 첫 번째 데이터 바이트가 로드될 메모리 위치를 레코드 타입에 의해 4자리,6자리 또는 8자리의 16진수로 정해진다.
Data Field는 데이터 또는 분산 정보이다.
Checksum Field는 바이트 카운트 필드와 어드레스 필드, 데이터 필드를 두 자리의 16진수를 한 쌍으로 묶어 총 바이트의 수를 카운트한 후 1의 보수를 취해서 표시된다.
다음 표는 8가지 레코드 타입이다.
Record |
Description |
Address Bytes |
Data Sequence |
S0 |
Block header |
2 |
Yes |
S1 |
Data sequence |
2 |
Yes |
S2 |
Data sequence |
3 |
Yes |
S3 |
Data sequence |
4 |
Yes |
S5 |
Record count |
2 |
No |
S7 |
End of block |
4 |
No |
S8 |
End of block |
3 |
No |
S9 |
End of block |
2 |
No |
S0 record는 프로그램 데이터라기보다 벤더의 스펙 데이터를 포함하는 각 블록에 대한 헤더 레코드이다. S5 record에서 record count는 2-byte address field로 저장된다. S7, S8, 또는 S9 record의 address field는 프로그램의 시작 주소를 포함한다.
'┕Tip' 카테고리의 다른 글
결혼식 축가 추천곡! (0) | 2009.09.21 |
---|