Can you summarize the following document?
        
  S-record檔案格式是摩托羅拉公司在1970年代中期,為了摩托羅拉6800處理器所創的檔案格式。針對摩托羅拉6800處理器及其他嵌入式系統的軟體開發工具可以將可執行檔及資料轉換為S-record格式。PROM燒錄器可以讀取S-record,燒錄到嵌入式系統的PROM或EPROM中。

  也存在類似用途的其他ASCII檔案格式。BPNF、BHLF及B10F是早期的二進位制格式,不過檔案較大,也沒有可變性。十六進位制格式用一個字元表示四個位元,相較於二進位制格式用一個字元表示一個位元,檔案比較精簡。許多十六進位制格式(包括S-record)的可變性較大,其中可以包括位址的資訊,因此其內容可以只對應PROM的一部分。Intel HEX格式常用在Intel的處理器上。Tek Hex是另一種HEX格式,其中包括了除錯用的符號表。

  

  SREC格式的檔案包括一組的ASCII字元記錄。記錄從左到右的結構如下:

  SREC記錄之間會用一個或是多個ASCII字元的行分隔字元隔開,因此每一個記錄就會佔一行。此作法透過直觀的分隔符記錄來提高易讀性,而且在HEX記錄之間的填充也可以提高語法分析器的效率。  產生HEX的程式一般會依其作業系統的習慣使用對應的行分隔字元。例如,Linux程式會用單一的LF字元( 換行符號,16進位制codice_1)作為一行的結尾,但Windows程式會用CR字元(回車符,16進位制codice_2)之後接著LF字元,作為一行的結尾。

  以下的表格說明十種可能出現的S-records,其中的S4保留,目前沒有定義,S6一開始也是保留,後來有新的定義。

  有些Unix檔案中提到「檔案中S-records的順序不重要,不應假設其順序。」,不過大部分產生SREC的軟體都會按照次序排列S-records。一般的檔案順序會由一個(選擇性)的S0檔頭記錄,之後有一筆或是多筆S1/S2/S3資料記錄,可能有一個S5/S6記錄來說明記錄個數,最後由一個適當的S7/S8/S9記錄作結束。

  記錄長度:Unix手冊中提到:「每個S-record記錄的長度小於等於78個字元」。手冊進一步的限制資料欄位字元限制在64個字元(32個位元組)以內。用8個字元表示位址的資料欄位,若資料為64個字元,總長度為78個字元(2+2+8+64+2,此計算省略了記錄尾端的終止符號或是換行符號)。這個檔案可以用80字元寬的列表機列印。在手冊下面有說明:「此說明只是針對記錄總長度在78個字元的情形,不一定適用於所有情形。」。若省略此限制,S-record的最大長度為514字元:記錄種類2個字元,位元組數量2個位元(其值會是codice_3),以及位址、資料及檢查碼共2*255個字元。而且需要額外的空間儲存換行符號以及字串結束字元。若記錄長度太長,會有一些問題:「Motorola S-record格式定義允許一行到514個字元,另外加上行終結符號。EPROM燒錄器需要有夠大的行暫存器來處理這麼長的資料,但有這麼大暫存器的EPROM燒錄器不多。」  資料欄位:有些檔案建議資料欄位最長到32位元組的資料(64個字元)。S0/S1/S2/S3的最小資料欄位長度為0,最大資料資料欄位長度視位址欄位長度而定。因為位元組數量最大值是255(0xFF),資料欄位的長度為255減1(檢查碼)再減去位址欄位的位元組長度)。S0/S1 records最多可以到252位元組的資料,S2 record最多可以到251位元組的資料,S3 record最多可以到250位元組的資料。  註解:SREC檔案格式不支援註解,有些軟體會省略開頭不是S的資料行,也會省略檢查碼之後的欄位,有時會有這些部分來寫註解(但沒有相容性)。例如CCS PIC編譯器支援在Intel HEX檔案最前面或是最後面的行,前面加上分號當成註解,其手冊提到:「有些燒錄器(尤其是MPLAB)不喜歡在檔案最前面出現註解,因此我們有選項,可以把註解放在檔案後面。

  

  以下是一個記錄的例子:  其檢查碼計算方式如下:

  S00F000068656C6C6F202020202000003C
Motorola S-record是摩托羅拉公司所創立的檔案格式,可以將二進位制的資訊轉換為用ASCII文字表示的十六進位制資料,此檔案格式也稱為SRECORD、SREC、S19、S28、S37或MOT。此檔案格式常用在微處理器的快閃記憶體資料寫入,EPROM、EEPROM的資料寫入,或是其他可程式設計邏輯元件的程式設計寫入。一般的應用中,會用編譯器或是組譯器將程式的原始碼(可能是C語言或是組合語言)轉換為機器碼,再輸出為S-record或其他格式檔案。燒錄器可以讀取這些檔案,將機器碼寫入非揮發性記憶體中,或是截入到目的系統中,以便執行。