This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62L:在 AM62L 中启用安全启动

Guru**** 2834805 points

Other Parts Discussed in Thread: AM62L

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1619993/am62l-enable-secure-boot-in-am62l

器件型号: AM62L

尊敬的团队:

我们将使用基于 AM62L EVM 参考的定制电路板和 11.00.15.05 Yocto 配置。

我有几个问题:

  1. 我已将 U-Boot 配置为加载时基故障映像并CONFIG_CMD_CACHE=y在 defconfig 中启用。 是否需要进行任何其他更改?

  2. keywrlite.bin使用 key_configurator 工具 (https://github.com/TexasInstruments/security-utils) 和虚拟 SMPKH 密钥生成。 该工具还生成了一个keywrlite.c文件。 我们是否需要将此文件添加到 U-Boot 源中并重新编译?

  3. 除了在 Key Configurator v1.0.0 中设置 SMPKH、Key Count = 1 和 Key Revision = 1 外、是否需要任何其他建议设置来执行安全启动?

  4. 我们是否需要在工具中进行与扩展 OTP 相关的任何更改?

  5. 写入保险丝缓冲区后、我们是否需要运行命令fuse prog 0 15 0x1234

谢谢、

达尔米克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1/。 和 2/。
    编号
    https://software-dl.ti.com/processor-sdk-linux/esd/AM62LX/11_02_08_02/exports/docs/linux/Foundational_Components /U-Boot/UG-Key-Writer-Lite.html
    3。
    https://software-dl.ti.com/tisci/esd/latest/6_topic_user_guides/key_writer_lite.html
    4。 和 5/。

    此致、
    - Hong

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我建议参考这些链接。
    https://software-dl.ti.com/tisci/esd/latest/6_topic_user_guides/key_writer_lite.html
    https://software-dl.ti.com/processor-sdk-linux/esd/AM62LX/11_02_08_02/exports/docs/linux/Foundational_Components /U-Boot/UG-Key-Writer-Lite.html
    此致、
    - Hong

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    相同的映像一直在启动、直到我们执行安全启动、现在内核出现恐慌并停止启动。 请查看引导日志并告诉我出现了什么问题。

    [  OK  ] Finished Load/Save OS Random Seed.
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Time Set.
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Host and Network Name Lookups.
    [  OK  ] Found device /dev/ttyS0.
    [  OK  ] Finished Rebuild Dynamic Linker Cache.
             Starting Update is Completed...
    [  OK  ] Finished Update is Completed.
    [    8.349599] clk: failed to reparent 0_ADC0 to 2_ADC0: -22
    [    8.361655] SError Interrupt on CPU0, code 0x00000000bf000002 -- SError
    [    8.361689] CPU: 0 UID: 0 PID: 167 Comm: (udev-worker) Not tainted 6.12.24-havnam #1
    [    8.361699] Hardware name: Texas Instruments AM62L3 Evaluation Module (DT)
    [    8.361703] pstate: 200000c5 (nzCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    [    8.361712] pc : regmap_mmio_write+0x64/0x70
    [    8.361737] lr : regmap_mmio_write+0x48/0x70
    [    8.361746] sp : ffff80008275b760
    [    8.361748] x29: ffff80008275b760 x28: ffff800079604028 x27: ffff800079604030
    [    8.361762] x26: ffff800081578450 x25: 0000000000000000 x24: ffff0000053ba480
    [    8.361772] x23: ffff800079604070 x22: ffff000005a6e400 x21: 00000000ffffffff
    [    8.361781] x20: 00000000ffffffff x19: ffff000005a6e400 x18: ffffffffffffffff
    [    8.361790] x17: ffff0000052a0400 x16: ffff00000527fe00 x15: 0000000000000001
    [    8.361799] x14: 0000000000000000 x13: ffff800081027dc0 x12: 742d636461637374
    [    8.361808] x11: 0000000000000040 x10: ffff000003b72138 x9 : ffff000003b72130
    [    8.361817] x8 : ffff00000408b020 x7 : 0000000000000000 x6 : 0000000000000008
    [    8.361826] x5 : ffff8000807a491c x4 : 000000000000004c x3 : ffff8000807a4380
    [    8.361835] x2 : 00000000ffffffff x1 : ffff800081c5d04c x0 : 0000000000000000
    [    8.361847] Kernel panic - not syncing: Asynchronous SError Interrupt
    [    8.361851] CPU: 0 UID: 0 PID: 167 Comm: (udev-worker) Not tainted 6.12.24-havnam #1
    [    8.361858] Hardware name: Texas Instruments AM62L3 Evaluation Module (DT)
    [    8.361862] Call trace:
    [    8.361864]  dump_backtrace+0x90/0xe8
    [    8.361878]  show_stack+0x18/0x24
    [    8.361887]  dump_stack_lvl+0x34/0x8c
    [    8.361898]  dump_stack+0x18/0x24
    [    8.361905]  panic+0x390/0x3a4
    [    8.361916]  nmi_panic+0x40/0x8c
    [    8.361925]  arm64_serror_panic+0x64/0x70
    [    8.361935]  do_serror+0x3c/0x70
    [    8.361944]  el1h_64_error_handler+0x30/0x48
    [    8.361956]  el1h_64_error+0x64/0x68
    [    8.361963]  regmap_mmio_write+0x64/0x70
    [    8.361972]  _regmap_bus_reg_write+0x74/0xb4
    [    8.361980]  _regmap_write+0x58/0xb4
    [    8.361987]  regmap_write+0x4c/0x78
    [    8.361994]  ti_tscadc_probe+0x270/0x55c [ti_am335x_tscadc]
    [    8.362010]  platform_probe+0x68/0xc4
    [    8.362020]  really_probe+0xbc/0x29c
    [    8.362026]  __driver_probe_device+0x78/0x12c
    [    8.362033]  driver_probe_device+0xd8/0x15c
    [    8.362039]  __driver_attach+0x90/0x19c
    [    8.362045]  bus_for_each_dev+0x7c/0xdc
    [    8.362055]  driver_attach+0x24/0x30
    [    8.362065]  bus_add_driver+0xe4/0x208
    [    8.362074]  driver_register+0x5c/0x124
    [    8.362081]  __platform_driver_register+0x24/0x30
    [    8.362088]  ti_tscadc_driver_init+0x20/0x1000 [ti_am335x_tscadc]
    [    8.362098]  do_one_initcall+0x80/0x1c8
    [    8.362105]  do_init_module+0x58/0x1fc
    [    8.362115]  load_module+0x1bcc/0x1d8c
    [    8.362123]  init_module_from_file+0x88/0xcc
    [    8.362131]  __arm64_sys_finit_module+0x148/0x324
    [    8.362140]  invoke_syscall+0x48/0x10c
    [    8.362150]  el0_svc_common.constprop.0+0xc0/0xe0
    [    8.362159]  do_el0_svc+0x1c/0x28
    [    8.362168]  el0_svc+0x28/0x98
    [    8.362176]  el0t_64_sync_handler+0x120/0x12c
    [    8.362185]  el0t_64_sync+0x190/0x194
    [    8.362193] SMP: stopping secondary CPUs
    [    8.362210] Kernel Offset: disabled
    [    8.362214] CPU features: 0x00,00000080,00200000,4200420b
    [    8.362220] Memory Limit: none
    [    8.656542] ---[ end Kernel panic - not syncing: Asynchronous SError Interrupt ]---
    

    谢谢、

    达尔米克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Dharmik:
    日志指示内核中 ADC probe/init 的问题。
    1/。 是否是在 HS-SE 上引导的日志?
    2/。 从 FS 引导时是否未观察到问题?
    3。 是否在 TI 电路板或客户电路板上进行测试?
    此致、
    - Hong

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hong Hong:

    1/。 是的

    2/。 是的、它在 HS-SE 上引导。

    3。 它是客户电路板。

    如果需要我方面的更多信息、请告诉我。

    另一方面、如果我在 dts 文件中禁用&tscadc0 节点、则会出现以下错误:

    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Host and Network Name Lookups.
    [  OK  ] Finished Rebuild Dynamic Linker Cache.
             Starting Update is Completed...
    [  OK  ] Finished Update is Completed.
    [    8.066436] Yes got the irq 
    [    8.094565] tasdevice-codec 2-004c: Primary-device = 0x4c
    [    8.109893] tasdevice-codec 2-004c: irq-gpio = 92
    [    8.130879] SError Interrupt on CPU0, code 0x00000000bf000002 -- SError
    [    8.130904] CPU: 0 UID: 0 PID: 163 Comm: (udev-worker) Not tainted 6.12.24-havnam #1
    [    8.130914] Hardware name: Texas Instruments AM62L3 Evaluation Module (DT)
    [    8.130919] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    [    8.130927] pc : davinci_mcasp_runtime_resume+0x1c/0xac [snd_soc_davinci_mcasp]
    [    8.130950] lr : pm_generic_runtime_resume+0x2c/0x44
    [    8.130966] sp : ffff80008277b6a0
    [    8.130968] x29: ffff80008277b6a0 x28: 0000000000000000 x27: 0000000000000000
    [    8.130981] x26: ffff0000038e18f4 x25: 0000000000000000 x24: 0000000000000000
    [    8.130990] x23: 0000000000000000 x22: ffff0000054f5c00 x21: ffff0000038f0810
    [    8.131000] x20: 0000000000000000 x19: ffff000004790bb0 x18: ffffffffffffffff
    [    8.131009] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
    [    8.131018] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000002
    [    8.131026] x11: 0000000000000000 x10: fffffffff8687c80 x9 : 0000000000000000
    [    8.131035] x8 : ffff000003669840 x7 : 0000000000000000 x6 : ffff000005624080
    [    8.131043] x5 : ffff0000056243d0 x4 : ffff80007967b6b8 x3 : ffff800081c04000
    [    8.131052] x2 : 0000000000000000 x1 : 0000000000000008 x0 : 00000000000000a8
    [    8.131063] Kernel panic - not syncing: Asynchronous SError Interrupt
    [    8.131067] CPU: 0 UID: 0 PID: 163 Comm: (udev-worker) Not tainted 6.12.24-havnam #1
    [    8.131074] Hardware name: Texas Instruments AM62L3 Evaluation Module (DT)
    [    8.131078] Call trace:
    [    8.131082]  dump_backtrace+0x90/0xe8
    [    8.131095]  show_stack+0x18/0x24
    [    8.131104]  dump_stack_lvl+0x34/0x8c
    [    8.131115]  dump_stack+0x18/0x24
    [    8.131122]  panic+0x390/0x3a4
    [    8.131132]  nmi_panic+0x40/0x8c
    [    8.131141]  arm64_serror_panic+0x64/0x70
    [    8.131151]  do_serror+0x3c/0x70
    [    8.131160]  el1h_64_error_handler+0x30/0x48
    [    8.131171]  el1h_64_error+0x64/0x68
    [    8.131177]  davinci_mcasp_runtime_resume+0x1c/0xac [snd_soc_davinci_mcasp]
    [    8.131188]  __genpd_runtime_resume+0x30/0x80
    [    8.131200]  genpd_runtime_resume+0x128/0x250
    [    8.131207]  __rpm_callback+0x48/0x1d8
    [    8.131217]  rpm_callback+0x68/0x74
    [    8.131226]  rpm_resume+0x46c/0x6bc
    [    8.131235]  __pm_runtime_resume+0x50/0x94
    [    8.131245]  davinci_mcasp_probe+0x13c/0xcb8 [snd_soc_davinci_mcasp]
    [    8.131255]  platform_probe+0x68/0xc4
    [    8.131264]  really_probe+0xbc/0x29c
    [    8.131270]  __driver_probe_device+0x78/0x12c
    [    8.131276]  driver_probe_device+0xd8/0x15c
    [    8.131282]  __driver_attach+0x90/0x19c
    [    8.131288]  bus_for_each_dev+0x7c/0xdc
    [    8.131299]  driver_attach+0x24/0x30
    [    8.131308]  bus_add_driver+0xe4/0x208
    [    8.131317]  driver_register+0x5c/0x124
    [    8.131323]  __platform_driver_register+0x24/0x30
    [    8.131330]  davinci_mcasp_driver_init+0x20/0x1000 [snd_soc_davinci_mcasp]
    [    8.131341]  do_one_initcall+0x80/0x1c8
    [    8.131348]  do_init_module+0x58/0x1fc
    [    8.131358]  load_module+0x1bcc/0x1d8c
    [    8.131365]  init_module_from_file+0x88/0xcc
    [    8.131373]  __arm64_sys_finit_module+0x148/0x324
    [    8.131381]  invoke_syscall+0x48/0x10c
    [    8.131392]  el0_svc_common.constprop.0+0xc0/0xe0
    [    8.131400]  do_el0_svc+0x1c/0x28
    [    8.131408]  el0_svc+0x28/0x98
    [    8.131417]  el0t_64_sync_handler+0x120/0x12c
    [    8.131427]  el0t_64_sync+0x190/0x194
    [    8.131435] SMP: stopping secondary CPUs
    [    8.131451] Kernel Offset: disabled
    [    8.131455] CPU features: 0x00,00000080,00200000,4200420b
    [    8.131460] Memory Limit: none
    [    8.446246] ---[ end Kernel panic - not syncing: Asynchronous SError Interrupt ]---
    
     

    谢谢、

    达尔米克  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Dharmik:

    2/。 从 HS-MCU 引导时是否未观察到问题 FS?

    我们是否在客户电路板的 HS-Linux 上顺利引导 FS 内核?
    此致、
    - Hong

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hong Hong:

    抱歉、更正了拼写错误。 是的、内核在 FS 上启动时 没有出现任何问题。

    谢谢、

    达尔米克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Dharmik:
    您是否会将工作案例 (HS-SE) 和非工作案例 (FS) 的完整引导日志附加到客户电路板上。
    此致、
    - Hong

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    工作日志:

    e2e.ti.com/.../success_2D00_boot_2D00_log.txt

    将 FS 转换为 HS-SE +不工作日志:

    e2e.ti.com/.../failed_2D00_boot_2D00_log.txt

    谢谢、

    达尔米克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Dharmik:
    我将连接我在 HS-SE 上捕获的工作引导日志并在 TI AM62L-SK 电路板上连接 AM62L Linux SDK 11.2.8.2。
    我们可以在您的设置中使用最新的 AM62L Linux SDK 11.2.8.2 进行测试吗?
    此致、
    - Hong

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Dharmik:
    我们目前遇到了将文件作为附件上传至 e2e 论坛的问题。
    我刚刚通过电子邮件向您发送了工作日志文件。
    我们在 e2e 论坛上继续讨论。
    此致、
    - Hong

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hong Hong:

    安装到最新的 Yocto 版本板后就可以启动。 测试正在等待处理中、将对此进行更多更新。

    谢谢、

    达尔米克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在最新版本中、我已在 u-boot 中修改 dts 以启用看门狗、但无法获得输出  => WDT 列表 命令。 如前所述、我使用的是 11.00.15.05 版本。

    DTS 更改:

    &main_rti0 {
           status = "okay";
    };

    默认配置:

    +CONFIG_WATCHDOG=y
    +CONFIG_WATCHDOG_TIMEOUT_MSECS=60000
    +CONFIG_CMD_WDT=y
    +CONFIG_WATCHDOG_AUTOSTART=y

    除了这些更改、您能否确认如何在最新版本的 u-boot 中启用看门狗?

    谢谢、

    达尔米克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Dharmik:
    我们关闭 e2e、然后在 WDT 上提交新的 e2e。
    此致、
    - Hong