ZHCAEP5A November   2024  – October 2025 F29H850TU , F29H859TU-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 简介
  5. 补充性在线信息
  6. SSU 概述
  7. 关键概念定义
  8. 功能安全和信息安全目标
  9. 系统设计
  10. 配置 SSU
    1. 7.1 闪存 SECCFG 区域
    2. 7.2 SSU 开发生命周期
    3. 7.3 使用 SysConfig 工具
      1. 7.3.1 启用系统安全配置
      2. 7.3.2 配置应用模块
      3. 7.3.3 配置特殊模块
        1. 7.3.3.1 LINK2 配置
        2. 7.3.3.2 LINK1 配置
        3. 7.3.3.3 通用代码链接配置
      4. 7.3.4 定义沙盒
      5. 7.3.5 添加共享内存
  11. 调试授权
    1. 8.1 基于密码的解锁
  12. 调试 SSU
    1. 9.1 调试构建错误
    2. 9.2 调试运行时错误
  13. 10SSU 常见问题解答 (FAQ)
  14. 11总结
  15. 12参考资料
  16. 13修订历史记录

调试构建错误

表 9-1 可能的构建错误
错误示例 说明 分辨率
“syscfg/linker.cmd”,第 73 行:错误 #10099-D:程序将无法放入可用的内存中,或者该段包含一个需要蹦床函数的调用点,而该蹦床函数无法为该段生成,或该段包含填充的函数。对于第 0 页大小为 0x5052 的“.LINK2_codeAPR_Flash”部分,对齐放置失败。可用内存范围:LINK2_CODEAPR_FLASH 大小:0x2000 未使用:0x1fe0 最大孔:0x1fe0 定义的 APR 大小不足。 如果为任何 APR 类型(闪存、RAM、RW 或 RO 数据)分配的内存不足,则在工程构建时将出现构建错误。要确定 APR 的正确大小,请将提供的大小 (0x5052) 转换为十进制数 (20,562)。这表示 APR 的总大小约为 20k。APR 绑定到 4kB,因此对于此分区情况,APR 大小需要设置为 24kB。
错误#10483-D:不允许从输出段“.comms_Module_codeAPR_Flash”到未受保护符号“UART_writeCharArray”进行未受保护的调用:SECURE_GROUP 不匹配;调用位于 SECURE_GROUP "STACK2_STACK”,被调用者位于 SECURE_GROUP "sbox_CommonCode_STACK_COMMONCODE" 跨堆栈调用未附带相应的进入和退出指令。 跨 STACK 调用必须一直附带适当的进入和退出指令。SSU 工具有一个选项可以指定如何处理未受保护调用。共有三个选项:
  • 生成链接器错误:如果没有适当的进入和退出说明(由用户设置),则会引发错误。
  • 添加链接器蹦床函数和焊盘(安全):编译器为针对所选 STACK 的所有调用插入适当的进入和退出指令。寄存器会在跨 STACK 调用中保留。
  • 添加链接器蹦床函数和焊盘(不安全,速度更快):编译器为针对所选 STACK 的所有调用插入适当的进入和退出指令。寄存器不会在跨 STACK 调用中保留。
选择适当选项来处理跨 STACK 进入和退出指令。