MCS文件格式详解

更新时间:2024-01-28 12:13:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Description

The iMPACT software can be used to generate the following PROM file formats:

? ? ?

Intel MCS-86 Hexadecimal Object (.mcs) Motorola EXORmacs (.exo) Tektronix HEX (.tek)

Hexadecimal files (\ASCII format can also be generated using the iMPACT software.

EXO files will not be support past iMPACT 11.4 and PROMGen will need to be used to change these files into MCS files.

For more PROM File Articles and other Configuration Related Articles, see (Xilinx Answer 34104).

Solution

PROMGen can be used to change file format from one type to the another in the following manner. The following changes an \promgen -p hex -r input.mcs -o output.hex PROM File Formats

INTEL MCS-86 HEXADECIMAL OBJECT File Format Code 88

The Intel Hexadecimal Object record format has a 9-character (4 field) prefix前缀 that defines the start of the record, byte count, load address, and record type, as well as a 2-character checksum suffix. 开始记录、字节个数、加载地址、记录类型、2字符的校验和后缀

The 16-bit hexadecimal format allows for a 20-bit segmented address space, and the 32-bit format allows for the 32-bit linear address space. 16 bit形式允许20 bit的分割的地址空间,32 bit形式允许32 bit的线性地址空间。 The six record types are: 00 = Data Record 数据记录

01 = End of File Record (signals the end of the file) 文件结尾记录

02 = Extended Segment Address Record (provides the offset to determine the absolute destination address) 段地址记录

03 = Start Segment Address Record (is ignored during input and not sent during output by Data I/O translator firmware)

04 = Extended Linear Address Record (provides the offset to determine the absolute destination address) * 线性地

址记录

05 = Start Linear Address Record (provides the execution start address) * 起始线性地址记录

*NOTE: The Extended Linear Address Record type and Start Linear Address Record type are supported only in the 32-bit format.

: 10 0010 00 0000 00E0 0400 0000 0400 0000 0C80 0480 E8 :16个字节 地址 数据

: 10 0020 00 0020 FCA7 0C80 0180 4010 01C9 0C00 0180 59 : 10 0030 00 0000 0090 0400 0000 0C00 0380 0000 6000 3D : 10 0040 00 0C00 0580 0000 6000 0400 0000 0400 0000 B7

:02000004000BEF 020000040001F9

:020000040000FA

(The Start Segment Address record (Type 03) is not used by Data I/O firmware.)

The checksum is the two's complement补码 of the binary summation of the preceding bytes in the record (including the byte count, address, and any data bytes) in hexadecimal notation.

The extended segment address record (Type 02) defines Bits 4 to 19 of the 20-bit segment base address. This address will be added to subsequent data record addresses to provide the absolute address. (This record can appear randomly in the file, but for this application, it will be the initial record.)

The extended linear address record (Type 04) defines bits 16 to 31 of the 32-bit linear base address. This address will be added to subsequent data record addresses to provide the absolute address.

NOTE: Always specify the address offset when using this format, even when the offset is zero.

The Data I/O firmware will force the record size to 16 (decimal) if the record size is specified greater than 16. MOTOROLA EXORmacs File Format Code 87

A Motorola data file may begin with a sign-on record, but for this application it will be ignored. (Data records have an 8- or 9-character prefix and a two- character checksum suffix.)

The Byte Count is the number of data bytes in the record plus 3 (for a four-hexadecimal character address) or plus 4 (for a six-hexadecimal character address) for the checksum and address.

The checksum is a one's complement of binary summation of preceding bytes in the record (including byte count, address, and data bytes) in hexadecimal notation.

************************************************************************************************

Tektronix maximum address:..................................................65536 (x100000) Motorola EXORmacs maximum address:..........................16777216 (x100000) 16-bit Intel MCS-86 Hexadecimal maximum address:..........1048576 (x100000) 32-bit Intel MCS-86 Hexadecimal maximum address:....4294967296 (x100000)

************************************************************************************************

TEKTRONIX HEXADECIMAL File Format Code 86

The Tektronix Hexadecimal format for a data file consists of a 9-character prefix (start character, address, byte count, and checksum of the prefix) followed by data bytes and ended by a 2-character checksum of the data characters. The end-of-file record consists only of control characters used to signal the end of the transmission and a byte count and sum-check for verification.

The prefix checksum is the 8-bit sum of the four-bit hexadecimal value of the six digits that make up the address and byte count. The data checksum is the 8-bit sum, modulo 256, of the 4-bit hexadecimal values of the digits that make up the data bytes.

AR# 34104 Description

The Configuration Design Assistant walks you through the recommended design flow for configuration while debugging commonly encountered issues, such as iMPACT software install and error messages, Cable Support, and FPGA related issues.The Design Assistant not only provides useful design and troubleshooting information, but breaks down the scope of configuration issues through this process.

NOTE:This answer record is part of the Xilinx Configuration Solution Center (Xilinx Answer 34904) Xilinx Configuration Solution Center is available to address all questions related to Configuration.

本文来源:https://www.bwwdw.com/article/jvlw.html

Top