Memory Address: 0x80101C34
The APP_REV_POINTER field contains a pointer to the application version information
stored in main flash memory. This allows the BSL to retrieve and report the
application version when requested by the host.
Default Value: 0xFFFFFFFF (indicating no application version information is
available)
Usage:
The APP_REV_POINTER is used by the BSL to locate and retrieve the application version
information when the Get Device Info command (CMD_GET_IDENTITY, 0x19) is executed.
This allows the host to query the version of the application currently installed on
the device without having to load and execute the application.
When the Get Device Info command is executed, the BSL performs the following checks:
- Verifies that the APP_REV_POINTER contains a valid flash address
- Checks if the address is not blank (not 0xFFFFFFFF)
- Ensures the address is 64-bit aligned
- If all checks pass, reads an 8-byte (64-bit) value from the specified
address as the application version
If any of these checks fail, the BSL returns 0 as the application version.
Implementation Requirements:
The APP_REV_POINTER field is maintained by the customer and requires the following
implementation steps:
- Allocate a Section in Application Linker File: The customer must
allocate a dedicated section in the application linker file to store the
application version information. This section should be 64-bit aligned and
located in main flash memory.
- Define the Application Version: The application version should be
defined as a 64-bit (8-byte) value in the application code. This can be a
structured value containing major, minor, and patch version numbers, or any
other format that fits within 64 bits.
- Place the Version in the Allocated Section: The application version
value should be placed in the allocated section during the application build
process.
- Update the APP_REV_POINTER: The address of the allocated section must
be stored in the APP_REV_POINTER field in the BSL configuration. This can be
done using the methods described in the "Changing BSL Configuration"
section.
Note: The APP_REV_POINTER is an optional feature. If not used, it should be left at
its default value of 0xFFFFFFFF, which indicates that no application version
information is available.