SPRADK2A November   2024  – October 2025 F29H850TU , F29H859TU-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Introduction
  5. Supplemental Online Information
  6. SSU Overview
  7. Key Concept Definitions
  8. Safety and Security Goals
  9. System Design
  10. Configuring the SSU
    1. 7.1 Flash SECCFG Region
    2. 7.2 SSU Development Life Cycle
    3. 7.3 Using the SysConfig Tool
      1. 7.3.1 Enabling System Security Configuration
      2. 7.3.2 Configuring Application Modules
      3. 7.3.3 Configuring Special Modules
        1. 7.3.3.1 LINK2 Configuration
        2. 7.3.3.2 LINK1 Configuration
        3. 7.3.3.3 Common Code Link Configuration
      4. 7.3.4 Defining Sandboxes
      5. 7.3.5 Adding Shared Memory
  11. Debug Authorization
    1. 8.1 Password-Based Unlock
  12. Debugging the SSU
    1. 9.1 Debugging Build Errors
    2. 9.2 Debugging Runtime Errors
  13. 10SSU Frequently Asked Questions (FAQ)
  14. 11Summary
  15. 12References
  16. 13Revision History

Debugging Build Errors

Table 9-1 Possible Build Errors
Error Example Description Resolution
"syscfg/linker.cmd", line 73: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section, or the section contains padded functions. placement with alignment fails for section ".LINK2_codeAPR_Flash" size 0x5052 page 0. Available memory ranges: LINK2_CODEAPR_FLASH size: 0x2000 unused: 0x1fe0 max hole: 0x1fe0 The defined APR size is not enough. If the allocated memory for any of the APR types (Flash, RAM, RW, or RO data) is not sufficient, there will be a build error at the time of project build. In order to determine the correct size for an APR, convert the provided size (0x5052) to decimal (20,562). This indicates that the total size of the APR is ~20k. APRs are bound to 4kB so for this particual case, the APR size would need to be set to 24kB.
error #10483-D: unprotected calls from output section ".comms_Module_codeAPR_Flash" to unprotected symbol "UART_writeCharArray" are not allowed: SECURE_GROUP mismatch; the call is in SECURE_GROUP "STACK2_STACK" and the callee is in SECURE_GROUP "sbox_CommonCode_STACK_COMMONCODE" Cross-stack call is not accompanied by the appropriate entry and exit instructions. Cross-STACK calls must always be accompanied by appropriate entry and exit instructions. The SSU Tool has an option to specify how to handle unprotected calls. There are three options:
  • Generate Linker Error: Throws an error if there are no appropriate entry and exit instructions (to be setup by the user).
  • Add linker trampolines and landing pads (Secure): Compiler inserts the appropriate entry and exit instructions for all of the calls to the selected STACK. Registers are preserved across the cross-STACK call.
  • Add linker trampolines and landing pads (Unsecure, Faster): Compiler inserts the appropriate entry and exit instructions for all of the calls to the selected STACK. Registers are not preserved across the cross-STACK call.
Choose the appropriate option to handle cross-STACK entry and exit instructions.