User Tools

Site Tools


manual:ports:armcm4_s32k14

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
manual:ports:armcm4_s32k14 [2020/03/20 11:43]
voorburg
manual:ports:armcm4_s32k14 [2022/11/07 11:32] (current)
voorburg [Checksum location]
Line 18: Line 18:
 A 32-bit checksum value is programmed by the bootloader at the end of a programming session. Upon startup, the bootloader verifies the correctness of this checksum to determine if a valid user program is present and can be started. A 32-bit checksum value is programmed by the bootloader at the end of a programming session. Upon startup, the bootloader verifies the correctness of this checksum to determine if a valid user program is present and can be started.
  
-The bootloader programs this value at the end of the user program'​s vector table. Its exact location is configured by macro FLASH_VECTOR_TABLE_CS_OFFSET ​in flash.c. The vector table size can vary based on the microcontroller derivative you are using. Please verify that the default value of FLASH_VECTOR_TABLE_CS_OFFSET ​is correct. If not, you can simply override the value by adding the macro with the correct value to the blt_conf.h configuration header file.+The bootloader programs this value at the end of the user program'​s vector table. Its exact location is configured by macro BOOT_FLASH_VECTOR_TABLE_CS_OFFSET ​in flash.c. The vector table size can vary based on the microcontroller derivative you are using. Please verify that the default value of BOOT_FLASH_VECTOR_TABLE_CS_OFFSET ​is correct. If not, you can simply override the value by adding the macro with the correct value to the blt_conf.h configuration header file.
  
 The user program must reserve space for this 32-bit checksum value. With the default configuration of FLASH_VECTOR_TABLE_CS_OFFSET,​ the 32-bit checksum is located at vector number 254 in the vector table, since this one is unused anyways. All that needs to be done is writing a dummy placeholder value at this location. This reserves space for the checksum at memory address: flash base address + flash reserved for bootloader + FLASH_VECTOR_TABLE_CS_OFFSET. Refer to the demo program for an example. The user program must reserve space for this 32-bit checksum value. With the default configuration of FLASH_VECTOR_TABLE_CS_OFFSET,​ the 32-bit checksum is located at vector number 254 in the vector table, since this one is unused anyways. All that needs to be done is writing a dummy placeholder value at this location. This reserves space for the checksum at memory address: flash base address + flash reserved for bootloader + FLASH_VECTOR_TABLE_CS_OFFSET. Refer to the demo program for an example.
manual/ports/armcm4_s32k14.1584701005.txt.gz ยท Last modified: 2020/03/20 11:43 by voorburg