SLAA450G April 2010 – April 2020
This file is used to abstract certain device variations and allow all BSL source code files to remain identical between devices. It is where all device-specific information can be found, such as device include file, port redefinitions, clock speeds, and so on. In addition, there are custom BSL definitions as described below. Note that not all definitions are valid for all BSLs and may not appear in this file.
MASS_ERASE_DELAY
The delay value used before sending an ACK on an unlock
INTERRUPT_VECTOR_START
The definition for the start address of the BSL password
INTERRUPT_VECTOR_END
The definition for the end address of the BSL password
SECURE_RAM_START
The start of the RAM that should be overwritten at BSL start, for security. This is usually the lowest RAM value. The RAM between this address and the stack pointer is cleared.
TX_PORT_SEL
This collection of port definitions is used to abstract the TX and RX ports away from specific port pins, so that these values may change between devices without requiring a change to the Peripheral Interface source code.
RAM_WRITE_ONLY_BSL
When defined, this causes the BSL to compile to a much smaller version, which can only write to RAM in a device and receive the commands required for unlock, set PC, and RX data. It is used in the USB BSL to save space and fit the USB stack in the 2KB BSL memory. A RAM write-only BSL is used to load a complete BSL into RAM and start it for further communication.
RAM_BASED_BSL
When defined, this includes sections of code in the API that are required when the BSL is running out of RAM and not the BSL memory. This is primarily for delays on flash writing and is used only in BSLs running out of RAM such as the USB BSL.
USB_VID
The Vendor ID for the USB BSL
USB_PID
The Product ID for the USB BSL
SPEED_x
This is used to define the speeds of external oscillators that should be tested for in the USB BSL start-up sequence. The values here are the raw values in Hertz (for example, 24000000 for 24 MHz).
SPEED_x_PLL
The corresponding PLL definition from the device header file for the oscillator speed described in the SPEED_x definition.