S19格式檔案詳解(S-record) 分享
網上有關S-record格式檔案的資料很少,經過我的收集和實驗,整理出以下文件,方便大家對Freescale微控制器做深入瞭解。
1、格式定義及含義
S-record每行最大是78個位元組,156個字元
S-record format
type | count | address | data | checksum |
type(型別):2個字元。用來描述記錄的型別 (S0,S1,S2,S3,S5,S7,S8,S9)。
count(計數):2個字元。 用來組成和說明了一個16進位制的值,顯示了在記錄中剩餘成對字元的計數。
address(地址):4或6或8個位元組。用來組成和說明了一個16進位制的值,顯示了資料應該裝載的地址, 這部分的長度取決於載入地址的位元組數。2個位元組的地址佔用4個字元,3個位元組的地址佔用6個字元,4個位元組的地址佔用8個字元。
data(資料):0—64字元。用來組成和說明一個代表了記憶體載入資料或者描述資訊的16進位制的值。
checksum(校驗和):2個字元。這些字元當被配對並換算成16進位制資料的時候形成了一個最低有效字元節,該字元節用來表達作為補充資料,地址和資料庫的字元對所代表的(位元組的)補碼的byte總和。即計數值、地址場和資料場的若干字元以兩個字元為一對,將它們相加求和,和的溢位部分不計,只保留最低兩位字元NN,checksum =0xFF-0xNN。
S0 Record:記錄型別是“S0” (0x5330)。地址場沒有被用,用零置位(0x0000)。資料場中的資訊被劃分為以下四個子域:
name(名稱):20個字元,用來編碼單元名稱
ver(版本):2個字元,用來編碼版本號
rev(修訂版本):2個字元,用來編碼修訂版本號
description(描述):0-36個字元,用來編碼文字註釋
此行表示程式的開始,不需燒入memory。
S1 Record:記錄型別是“S1” (0x5331)。地址場由2個位元組地址來說明。資料場由可載入的資料組成。
S2 Record:記錄型別是“S2” (0x5332)。地址場由3個位元組地址來說明。資料場由可載入的資料組成。
S3 Record:記錄型別是“S3” (0x5333)。地址場由4個位元組地址來說明。資料場由可載入的資料組成。
S5 Record:記錄型別是“S5” (0x5335)。地址場由2位元組的值說明,包含了先前傳輸的S1、S2、S3記錄的計數。沒有資料場。
S7 Record:記錄型別是“S7” (0x5337)。地址場由4位元組的地址說明,包含了開始執行地址。沒有資料場。此行表示程式的結束,不需燒入memory。
S8 Record:記錄型別是“S8” (0x5338)。地址場由3位元組的地址說明,包含了開始執行地址。沒有資料場。此行表示程式的結束,不需燒入memory。
S9 Record:記錄型別是“S9” (0x5339)。地址場由2位元組的地址說明,包含了開始執行地址。沒有資料場。此行表示程式的結束,不需燒入memory。
根據不同的描述資訊,在以上三種不同的結束行中選擇一種使用
2、EXAMPLE
2.1 example I
S19檔案首行: S021000036384B50524F47202020313143524541544544204259204541535936384B6D
首行翻譯資訊: S0 0000 6 8 K P R O G 1 1 C R E A T E D B Y E A S Y 6 8 K
色塊圖例:module name version number revision number checksum
checksum的演算法:
0x21+0x00+0x00+0x36+0x38+0x4B+0x50+0x52+0x4F+0x47+0x20+0x20+0x20+0x31+0x31+0x43+0x52+0x45+0x41+0x54+0x45+0x44
+0x20+0x42+0x59+0x20+0x45+0x41+0x53+0x59+0x36+0x38+0x4B=0x792
checksum=0xFF-0x92=6D
注意:EASy68K總是用S8 record作為結束行。
2.2 example II
S123C000CF1400790011CC09395B105A124A8046304A8000300001C01BCB73140007340027
色塊圖例:type count address data checksum
2.3 example III
S224308000C61E877C1516C6197B151ACE04C07E15187A153EC74A90F9301D026A01C6017BF0
色塊圖例:type count address data checksum
3、另附Freescale HCS12DP256B 16位微控制器空程式S19檔案:
S0520000453A5C576F6F64795C4C6561726E696E675C50726F6772616D6D655C42444DD2FDB5BCB3CCD0F25C44556D795C447032 35365C62696E5C48435331325F53657269616C5F4D6F6E69746F722E6162735A
S123C000CF1100790011CC09395B105A124A8004304A8000300000C01BC01F00000000001B
S104C020001B
S105FFFEC0003D
S22430800010EF20FEFEC017FDC015270E35ED31EC3169700434FB310326F2FEC019EC31274F
S2113080200BED31180A30700434F920F10AE7
S804000000FB
相關文章
- S19檔案格式簡述
- Class 檔案格式詳解
- 目標檔案和ELF格式詳解
- Android逆向之旅---SO(ELF)檔案格式詳解Android
- 3D中的OBJ檔案格式詳解3DOBJ
- PE檔案格式詳細解析(一)
- Linux可執行檔案格式-ELF結構詳解Linux
- PE檔案格式詳細解析(二)--IAT
- Dockerfile檔案詳解Docker
- mtl檔案詳解
- cmake檔案詳解
- BMP檔案詳解
- LD檔案詳解
- 初步瞭解PE檔案格式(上)
- TIFF檔案格式中文解說.txt
- VirtualView Android實現詳解(一)—— 檔案格式與模板編譯ViewAndroid編譯
- java class檔案詳解Java
- JavaScript 檔案物件詳解JavaScript物件
- redis 配置檔案詳解Redis
- haproxy配置檔案詳解
- Scala檔案操作詳解
- redis配置檔案詳解Redis
- Dockerfile檔案全面詳解Docker
- SSH配置檔案詳解
- zookeeper配置檔案詳解
- nginx配置檔案詳解Nginx
- WCF配置檔案詳解
- Java Class檔案詳解Java
- 控制檔案詳解(轉)
- /etc/fstab檔案詳解
- 痞子衡嵌入式:ARM Cortex-M檔案那些事(8)- 映象檔案(.bin/.hex/.s19)
- JPEG檔案編/解碼詳解 .
- smali 檔案格式
- elf檔案格式
- FastQ檔案格式AST
- Cron檔案格式
- PE檔案格式
- 檔案流下載檔案,zip/其他格式檔案