Table 2-8. Stand-Alone Boot Modes with (TRST = 0)
TRST
GPIO37
TDO
GPIO34
EMU
KEY
EMU
BMODE
OTP
KEY
OTP
BMODE
Boot Mode
EMU
KEY
EMU
BMODE
Read
from
0x0D00
Read
from
0x0D01
Read
from
0x3D7BFB
Read
from
0x3D7BFE
Written
to
0x0D00
Written
to
0x0D01
0
0
0
x
x
x
Parallel I/O
0x55AA
0x0000
0
0
1
x
x
x
x
SCI
0x55AA
0x0001
0
1
0
x
x
x
x
Wait
0x55AA
0x0002
0
1
1
x
x
!=0x005A
x
GetMode: Flash
0x55AA
0x0003
0x005A
0x0001
GetMode: SCI
0x000B
GetMode: Flash
0x0004
GetMode: SPI
0x0005
GetMode: I2C
0x0006
GetMode: OTP
0x0007
GetMode: CAN
Other
GetMode: Flash
(1)
Get Mode indicates the boot mode was derived from the values programmed in the OTP_KEY and OTP_BMODE locations.
(2)
x = don't care.
(3)
The boot ROM will write this value to EMU_KEY and EMU_BMODE. This value can be used or overwritten by the user if a debugger is
connected.
2.2.10 Device_Cal
The Device_cal() routine is programmed into TI reserved memory by the factory. The boot ROM automatically
calls the Device_cal() routine to calibrate the internal oscillators and ADC with device specific calibration data.
During normal operation, this process occurs automatically and no action is required by the user.
If the boot ROM is bypassed by the Code Composer Studio™ IDE during the development process, then the
calibration must be initialized by application. For working examples, see the system initialization in the
C280 3x
C/C++ Header Files and Peripheral Examples
.
Note
Failure to initialize these registers will cause the oscillators and ADC to function out of specification.
The following three steps describe how to call the Device_cal routine from an application.
Step 1: Create a pointer to the Device_cal function as shown in
. This #define is included in the
Header Files and Peripheral Examples.
Step 2: Call the function pointed to by Device_cal() as shown in
. The ADC clocks must be enabled
before making this call.
Example 2-5. Calling the Device_cal() function
//Device call is a pointer to a function
//that begins at the address shown
# define Device_cal (void(*)(void))0x3D7C80
... ...
EALLOW;
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1;
(*Device_cal)();
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 0;
EDIS;
...
Boot ROM
SPRUH18I – JANUARY 2011 – REVISED JUNE 2022
TMS320x2806x Microcontrollers
211
Copyright © 2022 Texas Instruments Incorporated
Содержание TMS320 2806 Series
Страница 2: ......