ROM Code Generation Flow
B.4 ROM Code Generation Flow
Step 1:
Submission of code to TI
There are three different possibilities while submitting a code for
ROM:
1) A single COFF file that contains code for both “customer-OTP”
as well as “customer ROM” may be submitted.
2) Code could be provided in two different COFF files, one for “cus-
tomer-OTP” and the other for “customer ROM”.
3) Code could be provided for “customer ROM” alone and not the
“customer-OTP”.
Step 2:
Creating the ROM memory image
This is done by first creating a memory array corresponding to the
size of the ROM (including the OTP areas) and filling it with 0xFFFF.
The memory is then loaded with the customer COFF file(s), TI test
code and the D-number.
The numerical portion of the D-number is converted to its hexadeci-
mal equivalent and stored in 0x3F7FF2 & 0x3F7FF3 and 0x3D7BFC
& 0x3D7BFD. The symbol “DE” is not converted.
For example, for
DE121001, the decimal number 121001 will be converted to its hex-
adecimal equivalent (1D8A9) and stored in the D-number locations.
D8A9 will be stored in address “n” and 0001 will be stored in address
“n+1”. The D-number is stored in both “customer-OTP” as well as
“customer ROM” areas.
Step 3:
Computation of checksum
The checksum is now computed for the ROM contents (Customer-
OTP, TI-OTP and main ROM arrays separately) using the following
algorithm:
The contents of an address is XORed with the address and the result
is stored in a variable. This is done for the chosen ROM array and
the results are added together. The final sum total becomes the
checksum for that ROM array. Only the least significant 16-bits of the
address are used for checksum computation. Any overflow at the
end is ignored and only 32-bits from the end-result are stored. Three
unique checksums are computed for the three ROM arrays (Custom-
er-OTP, TI-OTP and main ROM arrays) and stored as shown in the
table below.
The following memory zones are used for the purpose of checksum
computation:
Содержание TMS320C28x
Страница 30: ...1 12...
Страница 80: ...This page intentionally left blank 2 50 This page intentionally left blank...
Страница 269: ...IN loc16 PA 6 112 MOV AL 0 AL 0 UOUT IORegC AL IOspace IORegC AL 10...
Страница 308: ...MAXCUL P loc32 6 151 Saturate MOVL Var64 2 ACC Store result into Var64 MOVL Var64 P...
Страница 509: ...SUBL ACC P PM 6 352 SUBL ACC P PM ACC S B 11 M X 4 MOVH Y ACC 5 Store Q15 result into Y...
Страница 585: ...This page intentionally left blank 7 32 This page intentionally left blank...