主题中讨论的其他器件: TMDXIDK5718
您好!
我使用的是使用 Linux 的 am5718 6.03.00.108 SDK。 我们创建了启动文件、该文件非常适合发展过程、当我们通过 uart3尝试使用定制板时、我们未获得任何数据。 我们使用了 MT41K256M16LY DDR3L、仅使用16条数据线、其中包含32条数据线。 我已经对此进行了必要的更改、如中所述
按照这个进行了更新、我仍然无法在 uart3中获取任何数据。
此致、
Bhardwaj.
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.
您好!
我使用的是使用 Linux 的 am5718 6.03.00.108 SDK。 我们创建了启动文件、该文件非常适合发展过程、当我们通过 uart3尝试使用定制板时、我们未获得任何数据。 我们使用了 MT41K256M16LY DDR3L、仅使用16条数据线、其中包含32条数据线。 我已经对此进行了必要的更改、如中所述
按照这个进行了更新、我仍然无法在 uart3中获取任何数据。
此致、
Bhardwaj.
您好、Josue:
我更改了 u-boot 目录/board/am57xx 下的 board.c 文件中的两个结构
静态常量结构 emif_REGS am571x_emif1_ddr3_666mHZ_EMIF_REGS ={
.SDRAM_CONFIG_INIT = 0x61867332、 //0x61863332
SDRAM_CONFIG = 0x61867332、
.SDRAM_CONFIG2 = 0x08000000、
.ref_ctrl = 0x0000514d、
.ref_ctrl_final = 0x0000144a、
.SDRAM_tim1 = 0xd333887c、
.SDRAM_tim2 = 0x30b37fe3、
.SDRAM_tim3 = 0x409f8ad8、
.read_idle_ctrl = 0x00050000、
.zq_config = 0x5007190b、
TEMP_ALERT_CONFIG = 0x00000000、
.emif_ddr_phy_ctr_1_init = 0x0024400f、
.emif_ddr_phy_ctr_1 = 0x0e24400f、
.emif_ddr_ext_phy_ctrl_1 = 0x10040100、
.emif_ddr_ext_phy_ctrl_2 = 0x00910091、
.emif_ddr_ext_phy_ctrl_3 = 0x00950095、
.emif_ddr_ext_phy_ctrl_4 = 0x009b009b、
.emif_ddr_ext_phy_ctrl_5 = 0x009e009e、
.emif_rd_wr_lvl_rmp_win = 0x00000000、
.emif_rd_wr_lvl_rmp_ctl = 0x80000000
.emif_rd_wr_lvl_ctl = 0x00000000、
.emif_rd_power_exec_thresh = 0x00000305
};
静态常量结构 dmm_las_map_REGS am571x_idk_las_regs ={
.dmm_las_map_3 = 0x80540100、//0x80640100
.is_ma_present = 0x1
};
之后、我创建了 u-boot.img、u-boot.bin 和 MLO 的新文件。 我观察到、数据来自单行 i.e、仅在 mmc_d0引脚上、时钟为15Mhz、而随着进化板时钟在 mc_clk 上为48MHz。
bhardwaj kotha.
您好!
在我们的定制电路板中、有不同的 uart3行 i.e、AB3行用于 RX、AA4行用于 TX。 我已经更新了 u-boot 目录/board/ti/am57xx/mux_data.h 文件中的相关 pinmux。 我已经使用 c28和 D27对 uart3行进行了注释、并从1193行为 AB3和 AA4添加了注释。
const 结构 pad_conf_entry early_padconf[]={
//{UART2_CTSN、(M2 | PIN_INPUT_SLEW)}、 /* uart2_CTSN.uart3_RxD */
//{UART2_RTSN、(M1 | PIN_INPUT_SLEW)}、 /* uart2_rtsn.uart3_TXD */
{I2C1_SDA、(PIN_INPUT_PULLUP | M0)}、 /* I2C1_SDA */
{I2C1_SCL、(PIN_INPUT_PULLUP | M0)}、 /* I2C1_SCL */
{MCASP5_AXR0、(M4 | PIN_INPUT_SLEW)}、 /* mcasp5_axr0.uart3_RxD */
{MCASP5_AXR1、(M4 | PIN_INPUT_SLEW)}、
/* BeagleBone AI:调试 UART */
{UART1_RXD、(M0 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}、 /* uart1_RxD.uart1_RxD */
{UART1_TXD、(M0 | PIN_OUTPUT_PULLDOWN | SLEWCONTROL)}、 /* uart1_TXD.uart1_TXD */
};
谢谢。此致、
巴哈德瓦伊
尊敬的 Bhardwaj:
在 /board/ti/am57xx/mux_data.h 文件中、
[报价 userid="544876" url="~/support/processors-group/processors/f/processors-forum/1223617/am5718-booting-issue/4639231 #4639231"] //{UART2_CTSN、(M2 | PIN_INPUT_SLEW)}、 /* uart2_CTSN.uart3_RxD */这用于 UART2。 是否确定要将引脚多路复用器更改为正确的线路?
请参阅 mux_data.h 中的第1002-1003行:
您好!
//{UART2_CTSN、(M2 | PIN_INPUT_SLEW)}、 /* uart2_CTSN.uart3_RxD */
//{UART2_RTSN、(M1 | PIN_INPUT_SLEW)}、 /* uart2_rtsn.uart3_TXD */
这些线已存在于 uart3的 am5718 idk 的引脚多路复用器中。 我们也仅使用 uart3、但在我的定制电路板中、uart3的引脚不同。 我们使用的引脚为
{MCASP5_AXR0、(M4 | PIN_INPUT_SLEW)}、 /* mcasp5_axr0.uart3_RxD */
{MCASP5_AXR1、(M4 | PIN_INPUT_SLEW)}、 /* mcasp5_axr0.uart3_TXD*/
这些引脚将在 minicom 中的串行通信上生成引导日志。
您能告诉我我对 uart3和 DDR 的更改是否正确吗? 如果可能、您可以与技术团队沟通。
谢谢
巴哈德瓦伊
您好!
很抱歉这么晚才回复。是的、我有 JTAG.No、我不知道。
但是、我尝试通过 JTAG 调试 u-boot、方法是加载 到存储器(u-boot-spl.bin)、然后我将符号(u-boot-spl)加载到 am5718自定义电路板中。
加载符号后,我通过在反汇编中查看使用步越调试符号,它正在逐步移动到 save_boot_params_ret ()中的最后一个地址; 有时在 switch_to_hypervisor_ret ()反汇编,然后当我执行步越时,它不会进行下一步,它只会保持在那里,当暂停菜单上的按钮时,它会产生以下错误。
CortexA15_0:停止目标 CPU 时出现问题:(错误-1323 @ 0x403028CD)由于管道停滞、器件无法进入调试/停止模式。 对电路板执行下电上电。 如果错误仍然存在、请确认配置和/或尝试更可靠的 JTAG 设置(例如较低 TCLK)。 (仿真软件包9.7.0.00213)
用于 switch_to_hypervisor_ret();
/resized-image/__size/720x240/__key/communityserver-discussions-components-files/791/Screenshot-from-2023_2D00_06_2D00_05-21_2D00_34_2D00_31.png
用于 save_boot_params_ret ();
我有另一个问题
我的电路板中的 mmc1_sdcd 引脚持续处于高电平。 如果我在引脚多路复用器中下拉、这样做是否正确?
谢谢。此致、
Bhardwaj
您好!
是的、我可以将 GEL 文件加载到 a15内核中、并且已经通过切换 GPIO 引脚进行了验证。 然后、我曾尝试将 u-boot 代码加载到内核 a15中、但产生以下错误
CortexA15_0:停止目标 CPU 时出现问题:(错误-1323 @ 0x403028CD)由于管道停滞、器件无法进入调试/停止模式。 对电路板执行下电上电。 如果错误仍然存在、请确认配置和/或尝试更可靠的 JTAG 设置(例如较低 TCLK)。 (仿真软件包9.7.0.00213)
我无法启动板。 能不能请你告诉我为什么会这样?
谢谢。此致、
Bhardwaj.
您好、Josue:
该问题在执行系统复位后即可解决、但我 每次都需要在调试 u-boot 时解决。 是否有任何永久的解决方案?如果我不进行系统复位、控制台上会出现流水线错误(器件因为管道停滞而无法进入调试/停止模式)。
1) 1)我们只有一个板。
3) 3)我们的电路板设计基于 AM5718 IDK。
我遇到了另一个问题。
在 am5718中、idk C28和 D27是为 uart3指定的引脚、而在定制板中、为 uart3提供的 AA4、AB3引脚。 因此、我修改了 pinmux.h 文件、
uart2_CTSN 和 uart2_rtsn、为 uart3添加了 MCASP5_AXR0和 MCASP5_AXR1。
const 结构 pad_conf_entry early_padconf[]={
第1194行 -//{UART2_CTSN、(M2 | PIN_INPUT_SLEW)}、 /* uart2_CTSN.uart3_RxD */
第1195行 --//{UART2_RTSN、(M1 | PIN_INPUT_SLEW)}, /* uart2_rtsn.uart3_TXD */
++{MCASP5_AXR0、(M4 | PIN_INPUT)}、 /* mcasp5_axr0.uart3_RxD */
++{MCASP5_AXR1、(M4 | PIN_OUTPUT)}、 /* mcasp5_axr1.uart3_TXD */
{I2C1_SDA、(PIN_INPUT_PULLUP | M0)}、 /* I2C1_SDA */
{I2C1_SCL、(PIN_INPUT_PULLUP | M0)}、 /* I2C1_SCL */
}
也在中进行了修改
const 结构 pad_conf_entry core_padconf_array_ess_am571x_idk[]
行 1060- //{MCASP5_AXR0、(M4 | PIN_INPUT)}, /* mcasp5_axr0.uart3_RxD *
行1061-//{MCASP5_AXR1、(M4 | PIN_OUTPUT)}、 /* mcasp5_axr1.uart3_TXD */
}
修改后、我清理了 u-boot、并开始按照调试 u-boot 的视频系列中所述制作 am57xx_evm_config、spl/u-boot-spl 和 u-boot.bin。 通过 JTAG 调试 u-boot、通过加载存储器(u-boot-spl.bin)、然后将符号(u-boot-spl)加载到 am5718定制板中、接下来它将执行 hang ()函数、但在 minicom 上没有打印任何数据、并且我已经通过指向该引脚验证了在作用域上没有数据。 在按下菜单栏上的 PAUSE (暂停)按钮后、它应该在 minicom 上打印以下行。
U-Boot SPL 2019.01-g323d51410c-Dirty (6月15日2023 - 17:07:24 +0530)
DRA722-GP ES2.0
缺省模式无 PINTRL 状态
卡片未对电压选择作出响应!
固件加载失败
SPL:无法从所有启动设备引导
###错误###请重置主板###
谢谢
Bhardwaj.
尊敬的 Bhardwaj:
我是否正确理解您:
此问题可在系统重置后解决,但我需要 在每次调试 u-boot 时都能解决。 是否有任何永久的解决方案,如果我不进行系统重置管道错误(设备无法进入调试/停止模式,因为管道停滞)正在控制台上出现。[/报价]对电路板进行复位可解决 u-boot 挂起问题、但仍然没有通过 UART 的输出。
然后、您进行了 pinmux 更改、重新编译 spl 和 u-boot 二进制文件、但还有一个挂起、即您使用 CCS 暂停内核并获得以下输出:
U-Boot SPL 2019.01-g323d51410c-Dirty (Jun 15 2023 - 17:07:24 +0530)
DRA722-GP ES2.0
缺省模式无 PINTRL 状态
卡片未对电压选择作出响应!
固件加载失败
SPL:无法从所有启动设备引导
###错误###请重置主板##您能否说明一下、这是您期望的输出或这是生成的输出?
u-boot 初始化是 在 CCS 或 minicom 上的控制台上进行的?
-Josue
[/quote]
您好!
U-Boot SPL 2019.01-g323d51410c-Dirty (6月15日2023 - 17:07:24 +0530)
DRA722-GP ES2.0
缺省模式无 PINTRL 状态
卡片未对电压选择作出响应!
固件加载失败
SPL:无法从所有启动设备引导
###错误###请重置主板###
这些应该是终端上的输出、但在对 uart3进行更改后、没有显示任何内容、并且我已通过示波器中的探测进行了验证。
我通过删除现有行添加了2行
const 结构 pad_conf_entry early_padconf[]={
第1194行 -//{UART2_CTSN、(M2 | PIN_INPUT_SLEW)}、 /* uart2_CTSN.uart3_RxD */
第1195行 --//{UART2_RTSN、(M1 | PIN_INPUT_SLEW)}, /* uart2_rtsn.uart3_TXD */
++{MCASP5_AXR0、(M4 | PIN_INPUT)}、 /* mcasp5_axr0.uart3_RxD */
++{MCASP5_AXR1、(M4 | PIN_OUTPUT)}、 /* mcasp5_axr1.uart3_TXD */
{I2C1_SDA、(PIN_INPUT_PULLUP | M0)}、 /* I2C1_SDA */
{I2C1_SCL、(PIN_INPUT_PULLUP | M0)}、 /* I2C1_SCL */
}
为什么我无法在终端上获得打印件?
问题答案。
1) 1)复位电路板可解决 u-boot 挂起问题、但仍然没有通过 UART 的输出?
可以。
2) 2)您能否澄清一下、这是您期望的输出或这是生成的输出?
我希望有这样的输出。
3) u-boot 初始化是 在 CCS 或 minicom 上的控制台上进行的?
我将按照 AM335x SDK 中所述的过程、使用 CCS 来调试 u-boot
谢谢。此致、
Bhardwaj.
您好!
我无法使用 uart3引脚进行串行调试。
u-boot 目录/board/ti/am57xx/muxdata.h
const 结构 pad_conf_entry early_padconf[]={
++{MCASP5_AXR0、(M4 | PIN_INPUT)}、 /* mcasp5_axr0.uart3_RxD */
++{MCASP5_AXR1、(M4 | PIN_OUTPUT)}、 /* mcasp5_axr1.uart3_TXD */
}
我在上一篇文章中回答了您的问题。 请尽快就此提供一些解决方案、我在过去几天一直在那里工作。
谢谢。
巴哈德瓦伊
您好!
很抱歉回复延迟。 正如您所说、我已经通过调试 u-boot 进行了验证。 引脚多路复用设置正确。
引脚多路复用的值为:
0x4A00374C -- 0x000C0004
0x4A003750 -- 0x00020004
pinmux.h 中的修改
{MCASP5_AXR0、(M4 | PIN_INPUT_PULLDOWN | SLEWCONTROL)}、 /* mcasp5_axr0.uart3_RxD */
{MCASP5_AXR1、(M4 | PIN_OUTPUT_PULLUP)}、 /* mcasp5_axr1.uart3_TxD *
谢谢。此致、
Bhardwaj.
您好、 Bhardwaj、
查看 CTRL_CORE_pad_MCASP5寄存器内容后、即使 MUXMODE 寄存器对两者都是正确的、也未注册更改。
对于 CTRL_CORE_pad_MCASP5_AXR1 PIN_OUTPUT_PULLUP、应使位17成为0b1、而不是。
对于 CTRL_CORE_pad_MCASP5_AXR0:
{MCASP5_AXR0、(M4 | PIN_INPUT_PULLDOWN | SLEWCONTROL)
PIN_INPUT_PULLDOWN 位应将第18位设置为0b1 =接收模式已启用、但未启用。
我认为这可能是它不起作用的原因、 INPUTENABLE 对于 RX 引脚应该为1。
请告诉我、这是否有帮助、
此致、
若苏厄