TI中文支持网
TI专业的中文技术问题搜集分享网站

AM5706: AM5706

Part Number:AM5706

设计中采用了TI的AM5706处理器,系统启动遇到问题如下:sysboot[5:0]按照手册中设置100010,应该是SD、emmc、usb的系统启动顺序,但是在该设置下,当emmc里有程序,而SD卡没有程序时上电却无法启动,但是如果不放置SD卡则可以从EMMC中启动程序,请问这该如何解决带SD卡启动程序的问题?

Nancy Wang:

插入SD卡的时候读一下trace vector,看一下启动状态。

Table 33-14, Tracing Data是trace vector的地址

33.3.9 Tracing

https://www.ti.com.cn/cn/lit/ug/spruhz7j/spruhz7j.pdf

,

huiqi han:

SD卡有程序的时候不影响启动,SD卡如果擦掉程序的话就直接影响启动了。还有就是这个trace vector应该如何读取呢?

,

huiqi han:

devmem2 0x4037f040   /dev/mem opened.Memory mapped at address 0xb6f29000.Read at address  0x4037F040 (0xb6f29040): 0x00000000

这样读取的值为全0.

,

Nancy Wang:

四个vector都读一下看看,比特位值为1表示该信息成立。

成功启动的时候也读取看一下。

贴出相关信息后我会咨询相关工程师,再给您回复。

,

huiqi han:

您好,不论是插入不带程序的卡还是插入带程序的SD卡启动系统,读出的数据均为0呢,信息如下:

root:~# Read at address  0x4037F040 (0xb6f84040): 0x00000000-sh: syntax error near unexpected token `('root:~# root:~# devmem2 0x4037f044-sh: root:~#: command not foundroot:~# /dev/mem opened.-sh: /dev/mem: Permission deniedroot:~# Memory mapped at address 0xb6f03000.-sh: Memory: command not foundroot:~# Read at address  0x4037F044 (0xb6f03044): 0x00000000-sh: syntax error near unexpected token `('root:~# :~# devmem2 0x4037f048-sh: :~#: command not foundroot:~# /dev/mem opened.-sh: /dev/mem: Permission deniedroot:~# Memory mapped at address 0xb6f56000.-sh: Memory: command not foundroot:~# Read at address  0x4037F048 (0xb6f56048): 0x00000000-sh: syntax error near unexpected token `('root:~# root:~# devmem2 0x4037f04c-sh: root:~#: command not foundroot:~# /dev/mem opened.-sh: /dev/mem: Permission deniedroot:~# Memory mapped at address 0xb6f19000.-sh: Memory: command not foundroot:~# Read at address  0x4037F04C (0xb6f1904c): 0x00000000

,

Nancy Wang:

读出来的数据不对,针对原始问题我先帮您问一下吧,再给您回复。

,

Nancy Wang:

请问您目前是要实现与空的SD卡一起工作的吗?

,

huiqi han:

是的,程序从EMMC启动,SD卡作为数据存储卡使用,生产的时候现在没法确定sysboot的几个电阻应该怎么处理。

,

Nancy Wang:

如果将EMMC配置为第一个启动设备,无法满足您的需求吗?

Table 33-9. Booting Devices Order

https://www.ti.com.cn/cn/lit/ug/spruhz7j/spruhz7j.pdf

,

huiqi han:

如果EMMC作为第一启动设备的话,刚生产完的板子中EMMC没有程序也就没法启动。所以就想着用SD的程序启动后将程序拷贝到EMMC,然后SD卡处理成空的数据卡来工作。

,

Nancy Wang:

感谢提供信息,我再咨询相关工程师后再给您回复。

,

huiqi han:

好的,或者这款芯片有没成熟的demo可以做下类似测试,焊接时sysboot[5:0]的设置电阻只需要焊接一次就可以达到这个目的,能从SD启动后拷贝到emmc,然后空SD卡也不影响EMMC的程序启动,谢谢。

,

Nancy Wang:

当SD卡作为第一启动设备时确实会存在这个问题,目前还没有得到解决,以下是我得到的答复参考看一下:

I checked with our RoM expert & this is a known issue with RoM code with SD as primary boot mode.It does not exit & switch to secondary boot mode when MLO is not present & card is inserted.

,

huiqi han:

嗯看到回复了。还请您跟答复的专家能帮助解决一下这个问题,如何能在生产的时候只焊接一次电阻能实现SD卡及EMMC程序拷贝的操作流程,尽量简化我们的生产流程,谢谢。

,

Nancy Wang:

huiqi han 说:如何能在生产的时候只焊接一次电阻能实现SD卡及EMMC程序拷贝的操作流程,

您目前是什么方式?请详细说明一下。

,

huiqi han:

目前是在研发阶段,刚开始设置sysboot[5:0]=100010,SD卡启动程序后通过指令将系统拷贝到EMMC中,然后断电调整sysboot[5:0]=111000,SD格式化成数据卡,系统从新上电启动从emmc启动。但是这样的操作流程需要更改电阻的焊接,生产的时候操作起来肯定不太合适。

,

Nancy Wang:

感谢提供信息,晚一些给您回复。

,

Nancy Wang:

由于上述SD卡启动的限制,目前没有其它解决方案了,需要修改第一启动设备必须修改sysboot。

,

huiqi han:

那这样就是说,TI这款芯片手册跟实际应用有所出入,这属于芯片本身的BUG了?

,

Nancy Wang:

可以这么理解。

,

Nancy Wang:

如果您没有其他问题,请点击确认答案,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » AM5706: AM5706
分享到: 更多 (0)