Thread 中讨论的其他器件:UNIFLASH、、 SysConfig
工具与软件:
大家好、团队成员:
我们使用 AM64x_EVM 进行开发。
我们已分别测试了 M4F 和 A53示例并成功运行。
现在、我们转向多内核启动、我们希望同时使用 A53和 M4F 内核。 需要您的支持和规程。
引导文件将位于 eMMC/SD 卡或 OSPI 中。 我们主要需要来自 eMMC。
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.
工具与软件:
大家好、团队成员:
我们使用 AM64x_EVM 进行开发。
我们已分别测试了 M4F 和 A53示例并成功运行。
现在、我们转向多内核启动、我们希望同时使用 A53和 M4F 内核。 需要您的支持和规程。
引导文件将位于 eMMC/SD 卡或 OSPI 中。 我们主要需要来自 eMMC。
您好!
为此、您可以创建 M4和 A53的多核 appimage、您可以在这里找到执行该操作的步骤:AM64x MCU+ SDK:启动工具。 请注意、A53的内核 ID 是0。 您还可以参阅此常见问题解答、其中详细介绍了如何创建多核应用映像: (+)[常见问题解答] AM6442 (AM64X):适用于 GP 和 HS 的多核映像生成器- FS 硬件版本-处理器论坛-处理器- TI E2E 支持论坛
完成多核应用映像的创建后、您可以使用 default_sbl_emmc.cfg 文件 通过 UART_uniflash 刷写该映像并使用 SBL_EMMC 进行引导。 在 default_sbl_emmc.cfg 文件中、您需要说明所创建多核 appimage 的路径、而不是默认的 ipc_rpmsg_echo_system appimage 路径。
此致、
开会。
您好!
我们的目标是使用 CCS 独立构建 M4F 内核示例、它将生成。 RPRC 文件。
此 M4Fcore_xx.RPRC 映像与 Linux (A53内核)映像相结合以使用 multicoreImageGen 的方式。
我也可以在哪里找到. A53Core 的 RPRC 文件。
此外、也可以使用以下命令
尊敬的 Mallikarjuanreddy:
我的印象是、您也在使用适用于 A53的 NoRTOS/RTOS、并且正在尝试组合 appimage。 如果您在 A53上使用 Linux、则该方法不起作用。 为此、您必须使用 SBL_EMMC_Linux 引导流程、如下所述: AM64x MCU+ SDK:SBL EMMC Linux。 在 default_sbl_emmc_linux.cfg 中、您可以提及要引导的 M4映像路径、以代替默认的 ipc_rpmsg_echo_linux_system.release.appimage
如此处所述、为此、Linux 必须刷写到 EMMC、此类内容可参考本指南: 将 Linux 刷写到 eMMC
此致、
开会。
您好、TI:
当 A53内核为 Linux 映像且 M4、R5内核为 RTOS/NonRTOS 时、您能否向我们介绍多核的刷写过程。
我们的理解如下所示、
1.我们需要使用 A53 Linux 映像(tiboot3.bin、tispl.bin、u-boot.img、Image、*。DTB、 文件系统)
2.需要创建
a.包含 Linux 二进制文件(ATF、OPTEE、SPL)的 Linux appimage
b. Muticore appimage、其中包含 R5和 M4内核的 RTOS/NORTOS 应用程序
3.现在如何闪存这些 Linux 和多核 appimage 以及 eMMC 的地址是什么?
根据您之前评论中共享的链接、以下地址是否正确?
a.将多核 appimage (R5和 M4内核)连接到0x800000的 eMMC
b. Linux 附加映像到 eMMC 的0xA00000
谢谢!
Prathibha
Pratibha、您好!
您的理解是正确的:
1.您需要创建 R5和 M4内核的多核 appimage、可以参考以下常见问题解答中的帮助: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1217662/faq-am6442-am64x-multi-core-image-gen-for-gp-and-hs---fs-hw-versions
2.对于默认的 SBL_EMMC_Linux 示例、您提到的多核 appimage 和 Linux appimage 的偏移量也是正确的、 default_sbl_emmc_linux.cfg 中也提及了这一点
此致、
开会。
您好、TI:
A53将因多核而崩溃、请查看以下过程、
1.我们将 A53 Linux 映像刷入 eMMC、系统已完全启动
2.为 Linux 和其他多核生成 appimage
3.将生成的新 appimage 刷写到中
a. Linux 附加映像到 eMMC 的0xA00000
b.将多核 appimage 安装到 eMMC 的0x800000处
4.之后我们看到 M4和 A53(Linux)从 eMMC 引导,但是 A53引导崩溃,无法完全引导
A53崩溃日志已随附、请告诉我们此处可能会出现什么问题、
谢谢!
Prathibha
您好、TI:
A53将因多核而崩溃、请查看以下过程、
1.我们将 A53 Linux 映像刷入 eMMC、系统已完全启动
2.为 Linux 和其他多核生成 appimage
3.将生成的新 appimage 刷写到中
a. Linux 附加映像到 eMMC 的0xA00000
b.将多核 appimage 安装到 eMMC 的0x800000处
4.之后我们看到 M4和 A53(Linux)从 eMMC 引导,但是 A53引导崩溃,无法完全引导
A53崩溃日志已随附、请告诉我们此处可能会出现什么问题、
崩溃日志:
[ 1.447037] Davinci_MDIO 8000f00.MDIO:在手动模式下配置 MDIO
[ 1.490830] Davinci_MDIO 8000f00.MDIO:Davinci MDIO 修订版9.7、总线频率10 00000
[ 1.501312] Davinci_MDIO 8000f00.MDIO:PHY[0]:器件8000f00.MDIO:00、驱动程序 TI DP83867
[1.509507] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss vers ion 0x6BA00903, cpsw version 0x6BA80903端口: 3 quirks: 00000006.
[ 1.522455] am65-cpsw-nuss 8000000.ethernet:初始化 cpsw ale 版本1.4
[ 1.529593] am65-cpsw-nuss 8000000.ethernet: ale table size 512
[ 1.536400] pps pps0:新的 PPS 供电端 ptp0
[ 1.540923] am65-cpsw-nuss 8000000.ethernet:cpts ver 0x4e8a010c、freq:500000 000、add_val:1pps:1
[1.559873] am65-cpsw-nuss 8000000.ethernet:设置新的 floow-id-base 16.
[ 1.573284] am65-cpts 39000000.cpts:cpts ver 0x4e8a010c、freq:500000000、add _val:1pps:0
[ 1.584044] mmc0:CQHCI 版本5.10
[ 1.602984] j721e-pcie f102000.pcie:主机桥接器/bus@f4000/pcie@f102000范围:
[ 1.610474] j721e-pcie f102000.pcie:io 0x0068001000..0x0068010fff -> 0 x0068001000
[ 1.618585] j721e-PCIe f102000.PCIe:MEM 0x0068011000..0x006fffff -> 0 x0068011000
[ 1.626692] j721e-pcie f102000.pcie:IB MEM 0x0000000000..0x0fffffff -> 0 x0000000000
[ 1.634880] mmc0:fa1000.mmc [fa1000.mmc]上的 SDHCI 控制器使用 ADMA 64位
[ 1.723779] mmc0:启用命令队列引擎
[ 1.728320] mmc0:地址0001处的新 HS200 MMC 卡
[ 1.734206] mmcblk0:mmc0:0001 S0J56X 14.8 GiB
[ 1.743010] mmcblk0:p1
[ 1.746410] mmcblk0boot0:mmc0:0001 S0J56X 31.5MIB
[ 1.752879] mmcblk0boot1:mmc0:0001 S0J56X 31.5MIB
[ 1.759264] mmcblk0rpmb:mmc0:0001 S0J56X 4.00MiB、chardev (239:0)
[2.640104] j721e-pcie f102000.pcie:PCI 主机桥接至总线0000:00
[ 2.646473] PCI_BUS 0000:00:根总线资源[总线00-ff]
[2.651971] PCI_BUS 0000:00:根总线资源[IO 0x0000-0xFFFFFFF](总线地址[0x68001000-0x68010fff])
[ 2.661449] PCI_BUS 0000:00:根总线资源[mem 0x68011000-0x6fffff]
[ 2.668366] PCI 0000:00:00.0:[104C:b01]类型01类0x060400
[ 2.674390] PCI 0000:00:00.0:寄存器0x10:[MEM 0x00000000-0xfffffff 64位预取缓冲器]
[ 2.681787] PCI 0000:00:00.0:支持 D1
[2.685801] PCI 0000:00:00.0:D0 D1 D3hot 支持 PME#
[ 2.694759] PCI 0000:00:00.0:桥接器配置无效([总线00-00])、估计
[ 2.703099] PCI_BUS 0000:01:Busn_res:[bus 01-ff] END 更新为01
[ 2.709776] PCI 0000:00:00.0:bar 0:没有空间用于[mem size 0x1000000000 64bi t pref]
[2.717523] PCI 0000:00:00.0:bar 0:无法分配[mem size 0x1000000000 64位 pref]
[2.725615] PCI 0000:00:00.0:PCI 桥接至[总线01]
[2.730785] pcieport 0000:00:00.0:of_IRQ_parse_pci:failed with RC=-22.
[ 2.737880] pcieport 0000:00:00.0:pme:使用 IRQ 520发送信号
[ 2.744184] pcieport 0000:00:00.0:AER:通过 IRQ 520启用
[2.752967] mmc1:CQHCI 版本5.10
[2.756060] clk:禁用未使用的时钟
[ 2.789053] ALSA 器件列表:
[2.792066]找不到声卡。
[4.268909] sdhci-am654 fa0000.mmc:开机失败
[4.304542] mmc1:在 fa000.mmc [fa0000.mmc]上使用 ADMA 64位的 SDHCI 控制器
[4.317078] mmc0:运行 CQE 恢复
[4.322352] mmc0:运行 CQE 恢复
[4.327536] mmc0:运行 CQE 恢复
[ 4.331721] I/O 错误、dev mmcblk0、扇区1186 op 0x0:(读取)标志0x80700 p hys_seg 32 prio 类2
[4.340903]无法处理虚拟地址0000105 000000000的内核分页请求
[ 4.348819]存储器中止信息:
[ 4.351614] ESR = 0x0000000086000004
[ 4.355362] EC = 0x21:IABT (电流 EL)、IL = 32位
[ 4.360674]设置= 0、FNV = 0
[ 4.363729] EA = 0、S1PTW = 0
[ 4.366870] FSC = 0x04:0级转换故障
[ 4.371746][0000105000000000]用户地址、但 ACTIVE_MM 是交换器
[ 4.378098]内部错误:Oops:0000000086000004 [#1] preempty SMP
[ 4.384356]已链接的模块:
[4.387411] CPU: 0 PID: 50 Comm: kworker/0:2未污染6.6.32-ti-01287-g6de 6e418c80e-dirty #1
[ 4.396098]硬件名称:德州仪器(TI) AM642 EVM (DT)
[ 4.401659]工作队列:事件 MMC_MQ_RECOVERY_HANDLER
[4.406727] pstate:40000005 (nZcv daif -pan -uao -tco -dit -ssbs BTYPE=-)
[4.413679] PC : 0x105000000000
[4.416816] LR : bio_endio+0x180/0x198
[4.420565] sp : ffffff80008173bb80
[4.423871] x29: ffff80008173bb80 x28: 0000000000000000 x27: 00000000000000000000
[ 4.431004] x26:0000000000000000 x25:0000000000018000 x24:000000000000000a
[4.438136] x23:000000000000ffffffff x22:0000000000000001 x21:ffff800080486bac
[4.445268] x20:0000000000000000 x19:ffff000001b4d240 x18:0000000000000006
[4.452399] x17:2030303730387830 x16:207367616c662029 x15:44414552283a3078
[4.459532] x14:3020706f20363831 x13:ffffff80008123ea58 x12:0000000000000390
[4.466664] x11: 0000000000000130 x10: ffffff800081296a58 x9: ffff80008123ea58.
[4.473797] x8 : ffff80008173baa0 x7 : 0000000000000000 x6 : 00000000000000000000
[4.480928] x5 : ffffffffffda x4 : 0000000000000000 x3 : ffffffffffffffffffffff
[ 4.488060] x2 : ffffff7ffffeb41000 x1 : 0000105000000000 x0 : ff000001b4d240
[4.495192]呼叫跟踪:
[ 4.497632] 0x105000000000
[ 4.500421] blk_update_request+0x218/0x3c4
[ 4.504603] blk_mq_end_request+0x24/0x138
[ 4.508697] MMC_BLK_CQE_COMPLETE_rq+0x74/0x16c
[ 4.513225] MMC_BLK_CQE_REQ_DONE+0x24/0x44
[ 4.517405] MMC_CQE_Request_DONE+0x40/0x74
[ 4.521584] cqhci_recovery_finish+0x128/0x2d8
[ 4.526025] MMC_CQE_RECOVERY+0x10c/0x168
[ 4.530029] MMC_BLK_CQE_RECOVERY+0x24/0x78
[ 4.534210] MMC_mq_recovery_handler+0xc4/0xc8
[ 4.538651] process_one_work+0x138/0x248
[4.542661] worker_thread+0x320/0x438
[ 4.546409] kthread+0x110/0x114
[ 4.549636] ret_from_fork+0x10/0x20
[ 4.553222]代码:????? ???????? ???????? ???????? (????????)
[4.559304]--[结束跟踪0000000000000000]--
[12.911617]平台 MDIO-MUX-1:延迟探测待定
谢谢!
Prathibha
Pratibha、您好!
此处提到的补丁应该可以解决该问题。
此致、
开会。
您好、TI:
我们在链接中提供的 main.c 中应用了补丁、

但我们仍然看到 A53在刷写应用程序映像后无法完全引导、有时我们会注意到以下日志、有时我们会注意到前面注释中提到的崩溃日志。
请告诉我们可以在这里采取什么措施来解决此问题、
A53日志:
I/I2C TC:异步通知被禁用
[ 0.927042]选项:修订版4.2 (12d7c4ee)
[ 0.943822] optee:启用动态共享内存
[ 0.954235] random:crng init done
[0.957936] optee:已初始化驱动程序
[ 0.964867] NET:注册的 PF_PACKET 协议系列
[ 0.970226]注册密钥类型 DNS_RESUVER
[ 0.986259]已注册的任务状态版本1
[ 0.99087]正在装入已编译的 X.509证书
[1.014789] ti-sci 440430.system-controller:ABI:4.0 (固件版本0x000a '10.0.8--v10.00.08 (Fiery Fox)')
[ 1.177153] pca953x 0-0038:未找到电源 VCC、使用虚拟稳压器
[ 1.184206] pca953x 0-0038:不使用 AI
[ 1.212162] omap_i2c 200000.i2c:400kHz 时总线0版本0.12
[ 1.220251] pca953x 1-0022:未找到电源 VCC、使用了虚拟稳压器
[1.227306] pca953x 1-0022:使用 AI
[ 1.252712] omap_i2c 2001000.i2c:400kHz 时总线1版本0.12
[ 1.259027] ti-sci-intr bus@f4000:interrupt-controller@a00000:创建的中断路由器3域
[ 1.268465] ti-sci-INTA 48000000.interrupt-controller:已创建中断聚合器域28
[ 1.281200] ti-udma 485c0100.dma-controller:振铃次数:68
[ 1.289458] ti-uDMA 485c0100.dma-控制器:通道:24 (bchan:12;tchan:6;rchan:6)
[ 1.300172] ti-udma 485c0000.dma-controller:响铃次数:288
[ 1.320218] ti-uDMA 485c0000.dma-控制器:通道数:44 (周期:29;周期:15)
[ 1.332277] printk:控制台[ttyS2]已禁用
[ 1.33742] 2800000.serial: ttyS2在 MMIO 0x2800000 (IRQ = 317、BASE_BAUD = 3000000)是8250
[ 1.346404] printk:控制台[ttyS2]已启用
[ 1.346404] printk:控制台[ttyS2]已启用
[ 1.354884] printk:bootconsole [ns16550a0]禁用
[ 1.354884] printk:bootconsole [ns16550a0]禁用
[ 1.372653] spi-NOR spi0.0:s28hs512t (65536 KB)
[ 1.377802]在 MTD 器件 fc4000.spi.0上找到的7个固定分区
[ 1.384778]在"fc4000.spi.0"上创建7个 MTD 分区:
[ 1.390178] 0x000000000000-0x000000100000 :"ospi.tiboot3"
[1.397410] 0x000000100000-0x000000300000:"ospi.tispl"
[1.404476] 0x000000300000-0x000000700000 :"ospi.u-boot"
[1.411553] 0x000000700000-0x000000740000 :"ospi.env"
[1.418312] 0x000000740000-0x000000780000 :"ospi.env.backup"
[ 1.425682] 0x000000800000-0x000003fc0000:"ospi.rootfs"
[1.432790] 0x000003fc0000-0x000004000000 :"ospi.phypatern"
[ 1.451221] Davinci_MDIO 8000f00.MDIO:在手动模式下配置 MDIO
[ 1.495253] Davinci_MDIO 8000f00.MDIO:Davinci MDIO 修订版9.7、总线频率1000000
[ 1.505747] Davinci_MDIO 8000f00.MDIO:PHY[0]:器件8000f00.MDIO:00、驱动程序 TI DP83867
[1.513942] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00903, cpsw version 0x6BA80903端口: 3 quirks: 00000006.
[ 1.526885] am65-cpsw-nuss 8000000.ethernet:初始化 cpsw ale 版本1.4
[ 1.534024] am65-cpsw-nuss 8000000.ethernet:ale table size 512
[ 1.540839] pps pps0:新 PPS 源 ptp0
[ 1.545358] am65-cpsw-nuss 80000.ethernet:cpts ver 0x4e8a010c、freq:500000000、add_val:1pps:1
[ 1.563302] am65-cpsw-nuss 8000000.ethernet:set new flow-id-base 16.
[ 1.578030] am65-cpts 39000000.cpts:cpts ver 0x4e8a010c、freq:500000000、add_val:1pps:0
[ 1.589271] mmc0:CQHCI 版本5.10
[ 1.607660] j721e-pcie f102000.pcie:主机桥/bus@f4000/pcie@f102000范围:
[ 1.615168] j721e-pcie f102000.pcie:io 0x0068001000..0x0068010fff -> 0x0068001000
[ 1.623278] j721e-PCIe f102000.PCIe:MEM 0x0068011000..0x006fffff -> 0x0068011000
[ 1.631257] mmc0:fa1000.mmc [fa1000.mmc]上的 SDHCI 控制器使用 ADMA 64位
[ 1.631391] j721e-pcie f102000.pcie:IB MEM 0x0000000000..0x0fffffff -> 0x0000000000
[ 1.731878] mmc0:启用命令队列引擎
[ 1.736406] mmc0:地址0001处的新 HS200 MMC 卡
[ 1.742337] mmcblk0:mmc0:0001 S0J56X 14.8 GiB
[ 1.751122] mmcblk0:p1
[ 1.754558] mmcblk0boot0:mmc0:0001 S0J56X 31.5MIB
[ 1.761082] mmcblk0boot1:mmc0:0001 S0J56X 31.5MIB
[ 1.767476] mmcblk0rpmb:mmc0:0001 S0J56X 4.00MiB、chardev (239:0)
[ 2.652521] j721e-pcie f102000.pcie:PCI 主机桥接至总线0000:00
[2.658903] PCI_BUS 0000:00:根总线资源[总线00-ff]
[ 2.664401] PCI_BUS 0000:00:根总线资源[IO 0x0000-0FFFFF](总线地址[0x68001000-0x68010fff])
[ 2.673876] PCI_BUS 0000:00:根总线资源[mem 0x68011000-0x6fffff]
[ 2.680793] PCI 0000:00:00.0:[104C:b010]类型01类0x060400
[ 2.686818] PCI 0000:00:00.0:寄存器0x10:[MEM 0x00000000-0xfffffff 64位预取]
[ 2.694213] PCI 0000:00:00.0:支持 D1
[2.698228] PCI 0000:00:00.0:D0 D1 D3hot 支持 PME#
[ 2.70722] PCI 0000:00:00.0:桥配置无效([bus 00-00])、重新配置
[ 2.715566] PCI_BUS 0000:01:Busn_res:[bus 01-ff] END 更新为01
[2.722246] PCI 0000:00:00.0:bar 0:没有空间用于[mem size 0x1000000000 64位 pref]
[2.729992] PCI 0000:00:00.0:bar 0:无法分配[mem size 0x1000000000 64位 pref]
[ 2.738084] PCI 0000:00:00.0:PCI 桥接至[总线01]
[ 2.743277] pcieport 0000:00:00.0:of_irq_parse_pci:failed with RC=-22.
[ 2.750400] pcieport 0000:00:00.0:pme:使用 IRQ 520发送信号
[ 2.756720] pcieport 0000:00:00.0:AER:已通过 IRQ 520启用
[2.765489] mmc1:CQHCI 版本5.10
[ 2.768461] clk:禁用未使用的时钟
[ 2.801765] ALSA 器件列表:
[2.804778]找不到声卡。
[4.289635] sdhci-am654 fa0000.mmc:开机失败
[4.325350] mmc1:fa000.mmc [fa00000 mmc]上的 SDHCI 控制器、使用的是 ADMA 64位
[4.338029] mmc0:运行 CQE 恢复
[4.343507] mmc0:运行 CQE 恢复
[ 4.347788] I/O 错误、dev mmcblk0、扇区1186 op 0x0:(读取)标志0x80700 phys_seg 32 prio class 2
[4.362183] mmc0:运行 CQE 恢复
[4.367461] mmc0:正在运行 CQE 恢复
[4.372631] mmc0:运行 CQE 恢复
[ 4.376805] I/O 错误、dev mmcblk0、扇区525674 op 0x0:(读取)标志0x0 phys_seg 32 prio class 2
[4.385834] JBD2:读取偏移量169处的块失败
[4.390946] JBD2:日志恢复失败
[4.394975] EXT4-FS (mmcblk0p1):加载日志时出错
[12.916049]平台 MDIO-MUX-1:延迟探测待定
谢谢!
Prathibha
尊敬的 Thakar:
请忽略之前的回复、在刷写期间、我们错过了 cfg 文件中 SBL_eMMC_Linux.Release.hs_FS 的映像路径。
上述链接对于解决该问题非常有用、并且我们能够成功启动 A53和 M4内核。
谢谢
Mallikarjunareddy.