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.

[参考译文] TCI6636K2H EV 电路板上的数据中止问题。

Guru**** 2553450 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/566235/data-abort-problem-on-tci6636k2h-ev-board

主题中讨论的其他器件:TCI6636K2HTCI6638K2K

如何在 TCI6636K2H EV 电路板上执行 uboot 后运行 SYS/BIOS 示例?

我想在不使用 GEL 文件的 uboot 之后运行简单示例。

 -我不想使用默认 GEL 文件(xtcievmk2x_arm.gel)

- 从 CCS 资源浏览器导入 HELO_TCI6638K2K_CortexA 并生成和生成 bin 文件  

- mkimage -a arm -T 内核-C none -a 0x80000000 -e 0x800050ec -d hello_TCI6638K2K_CortexA.bin hello_TCI6638K2K_CortexA _for_uboot.bin
- 为 TCI6636K2H EV 电路板加电。
- 下载 hello_TCI6638K2K_CortexA _for_uboot.bin @0x80000000
 - Bootm 0x8000000
  但它不起作用

当我使用跟踪32执行相同的测试以监视详细信息时,我发现_c_int00和 main()之间存在数据中止。

被中止的行是由 SYS/BIOS 自动生成的代码。

  vmsr fpexc、r0  

当时、Arm 内核寄存器 NSACR 为0x0、ARM 为 nosec 模式

请告诉我在 uboot 之后运行 SYS/BIOS 示例的正确方法。

 

U-Boot SPL 2016.09-RC2 (2017年1月9日- 20:44:29)
尝试从 SPI 引导


U-Boot 2013.01-00004-g0c2f8a2 (2013年8月16日- 19:04:15)

I2C:就绪
DRAM:2GiB
NAND:512 MiB
网络:TCI6638_EMAC
警告:TCI6638_EMAC 使用来自网络设备的 MAC 地址
、TCI6638_EMAC1
按任意键停止自动引导:0
TCI6638 EVM #

TCI6638 EVM # loadb 0x8000000
##准备好将二进制文件(Kermit)下载到115200bps 的0x80000000……
##总大小= 0x0001e9b0 = 125360字节
##起始地址= 0x80000000
TCI6638 EVM # bootm 0x8000000
##从传统映像引导核心,地址为8000000000...
图像名称:
创建时间:2017-01-09 8:57:33 UTC
映像类型:ARM Linux 内核映像(未压缩)
数据大小:125296字节= 122.4 KiB
载入地址:80000000
入口点:800050ec
正在验证校验和... 好的
XIP 内核镜像... 好的
好的

正在启动内核...

 

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

    是否使用 loadb 命令下载内核映像? 我可以告诉您、您正在使用 mkimage 编译一个简单的 hello world 程序:
    mkimage -a arm -T 内核-C none -a 0x80000000 -e 0x800050ec -d hello_TCI6638K2K_CortexA.bin hello_TCI6638K2K_CortexA _for_uboot.bin

    然后、在执行 loadb 0x8000000后、您将:
    映像类型:ARM Linux 内核映像(未压缩)
    数据大小:125296字节= 122.4 KiB

    正在启动内核...

    现在、如果您的目标是在 RAM 中加载一个简单的程序、请尝试:
    将其加载到更高的 DDR 地址上。 执行 loadb 0x80000000时、有一个 u-boot 重定位、您可能会使用应用程序覆盖 u-boot

    2.尝试使用:
    加载0x90000000
    IMI =>这会打印图像标题信息、以验证您是否已正确下载应用程序
    转到0x90000000

    源0x90000000

    3.可能尝试使用 tftp 下载您的应用程序。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在 processors.wiki.ti.com/.../MCSDK_UG_Chapter_Exploring 上找到了原因
    uBoot > mon_install >跳转至 SYS/BIOS
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    感谢您更新该主题。

    此致、
    Yordan