自己做的OMAPL138的板子,UBOOT采用的是官方PSP包里的UBOOT,采用 da850sdi_direct_nor_config配置,在之前的老板子上,UBOOT能够正常工作,没有问题,但在新板子上烧进去后,UART2口没有任何信息输出,已进行的排查信息如下:
1.UART2口,在CCS工程下,能够正常收发
2. UBOOT源码采用的是之前成功的源码,没做任何修改,新板子和老板子在硬件上除了修正几处错误外,没有别的区别
3. 配置为 NOR FLASH 启动方式,在连接CCS的情况下查过,配置字正确
4. 通过仿真器(没有GEL初始化)连接装置,查看PC指针,并单步调试,发现程序一直在 0x60000000 到 0x60000010 之间循环执行,具体指令见附件
求建议,谢谢!
Elvin wang:
Tony Tang:
回复 Elvin wang:
从芯片来说已经识别到了从NOR 直接运行了,运行不成功那应该是UBOOT不对了吧。
Denny%20Yang99373:
uboot编译加上DEBUG信息,想办法看看这个地址对应了哪个函数。
Elvin wang:
回复 Tony Tang:
帖子里面的信息,表述不太准确,UBOOT程序是ARM的指令集,用仿真器连接OMAP的DSP核后,是DSP核在运行,只所以出现图片中的指令情况,相当于是在用DSP来执行ARM的指令,所以表面上看BOOT程序肯定是不对的。
用示波器捕捉了,上电复位后,NOR FLASH 片选引脚的波形,比对了老板子(BOOT能够成功)以及新板子(BOOT无法启动)的波形,如下面两图:
上图是老板子BOOT成功的,NOR FLASH 片选使能引脚上电复位瞬间的波形图。
上图是新板子,BOOT启动之后的NOR FLASH 片选使能引脚的波形,从图中可以清晰的看出,上电复位后,OMAP确实从NOR FLASH里面读了,但是读了之后,程序没有执行。
UBOOT程序是在老板子上能够成功运行的,新板子跟老板子在原理上几乎是一样的,除了修正了几个硬件BUG,所以说BOOT程序的问题基本能排除。
下面的问题是,OMAP从NOR FLASH读了之后,程序没有执行如何进一步往下面排查?
还有,新板子连接DSP核没有问题,但连ARM核一直提示 驱动不支持,提示的错误如下图:
但在老板子上,连接DSP核和ARM核都是没有问题的?
这个问题已经卡了一个星期了,求建议。。。。。。
Elvin wang:
回复 Denny%20Yang99373:
这个地方就是最开始的中断向量和,RESET 跳转指令,只所以出现之前帖子里说的情况,是因为,是在用DSP执行ARM的指令。。。。
求建议。。。
Denny%20Yang99373:
回复 Elvin wang:
会不会与启动BOOT方式有关系?可以通过读取BOOTCFG寄存器,看看是否真的是ARM NOR的BOOT方式。
Elvin wang:
回复 Denny%20Yang99373:
用仿真器连接 OMAPL138的 DSP核,看过 BOOTCFG 寄存器的,确实是 NOR FLASH 启动。。。。。
现在我感觉,连ARM核连不上,估计BOOT启动不起来,跟这个有关系,不知道ARM核连不上,有没什么好的方法,排查。。。
Denny%20Yang99373:
回复 Elvin wang:
焊的是138的芯片吗?。。。
如果没有烧写任何软件,上电默认应该是能连上ARM的,除非上电时序或者上电复位有问题。
可以和EVM对比一下看看
Elvin wang:
回复 Denny%20Yang99373:
焊的是 OMAPL138,现在板子的情况是:
1. 配置为UART2模式时,UART2能够正常输出BOOTME,能够正常输出BOOTME ,不能说明上电时序和复位没有问题?
2. 通过仿真器能够正常连接DSP核,ARM核连不上(FLASH里面的程序都已经清除掉了),有可能是焊接的问题吗?
Tony Tang:
回复 Elvin wang:
按说板子没有烧程序使能DSP,仿真器是连不上DSP的,而现在你能连上DSP仿真器,这就有点奇怪了,前后焊的芯片是同一批购买的吗?