C-Boot ROM Description
574
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
ROM Code and Peripheral Booting
6.6.1.2
On-Chip C-Boot ROM IQmath Functions
The following IQmath functions are included in the Boot ROM:
•
IQNatan2 N= 15, 20, 24, 29
•
IQNcos N= 15, 20, 24, 29
•
IQNdiv N= 15, 20, 24, 29
•
IQisqrt N= 15, 20, 24, 29
•
IQNmag N= 15, 20, 24, 29
•
IQNsin N= 15, 20, 24, 29
•
IQNsqrt N= 15, 20, 24, 29
These functions can be accessed using the IQmath boot ROM symbol library included with the boot ROM
source. If this library is linked in the project before the IQmath library, and the linker-priority option is used,
then any math tables and IQmath functions within the boot ROM will be used first. Refer to the
IQMath
Library
documentation for more information.
6.6.1.3
C-Boot ROM Version and Checksum
C-Boot ROM contains its own version number located at 0x003F FFB8, as shown in
. This
version is incremented each time C-Boot ROM code is modified. The next word contains the month and
year (MM/YY in decimal) that the boot code was released. The next four words contain a checksum value
for C-Boot ROM. Taking a 64-bit summation of all addresses within the ROM, except for the checksum
locations, generates this checksum.
Table 6-14. C-Boot ROM Version and Checksum Information
C-Boot ROM Address
Contents
0x003FFFB8
Revision No = 0x0100 (C-BOOTROM version number)
0x003FFFB9
Release Date = 0x0211 ( 02/2011)
0x3F9882 - 0x3F98C4
Checksum
6.6.1.4
C-Boot ROM PIE Vector Mismatch Handler
As explained in the Control Subsystem PIE Vector Address Validity Check section of the
System Control
and Interrupts
chapter, whenever the control subsystem detects that PIE Vector address of the current
interrupt vector fetch or current NMI vector fetch is corrupted the CPU program control will jump to location
0x003FFFBE and starts executing code at that location. As shown in the memory map and below table C-
BootROM has a branch instruction installed at this 32-bit location to handle the PIE Vector mismatch
event. This branch instruction branches to cbrom_pie_vect_mismatch_handler function. Please refer to
and
for more details on what this function does whenever it is executed.
Table 6-15. C-Boot ROM PIE Mismatch Handler
C-Boot ROM Address
Contents
0x003FFFBE – 0x003FFFBF
BF _cbrom_pie_vect_mismatch_handler, UNC
Note:
This function will be called when the control subsystem detects a mismatch for both normal vector
fetch and NMI vector fetch. The master subsystem will receive and NMI if the mismatch on the control
subsystem happens during an NMI vector fetch. M-Boot ROM handling of this NMI on the master
subsystem is explained in the M-Boot ROM chapter. The master subsystem will not receive any NMI if the
mismatch on the control subsystem is while doing a normal PIE interrupt vector fetch, in which case C-
Boot ROM sends an IPC message to the master subsystem as shown in
and
.