TIwilliam hill官网
直播中

于扬

7年用户 204经验值
私信 关注

请问为什么ti-processor-sdk-linux-am335x-evm-03.02.00.05编译后u-boot无法启动的问题?如何解决?

本帖最后由 一只耳朵怪 于 2018-6-21 11:04 编辑

大家好,我最近刚着手使用AM3352开发自己的设备,下载的SDK包版本为ti-processor-sdk-linux-am335x-evm-03.02.00.05,我将u-boot编译完成后把MLO和u-boot.img文件下载到SD卡拿到板子运行后发现就打印了几个CCCC字符,然后就停住了!但是我使用01.00版本的u-boot就可以正常运行,最起码能够打印uboot的版本等信息,为什么03.02版本就不行呢?是需要什么特殊配置么?
我使用了下面两种编译方式:
1、在ti-processor-sdk-linux-am335x-evm-03.02.00.05执行make u-boot_clean、make u-boot
2、在u-boot目录执行:make CROSS_COMPILE=ARM-linux-gnueabihf- O=am335x_evm am335x_evm_config all
然而都不能运行,请问问题出在哪里?
我看下面这两位工程师(http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/p/120329/357475.aspx#357475https://e2e.ti.com/support/arm/sitara_arm/f/791/p/541204/1974457#pi316653=1)都遇到了同样的问题,但是在william hill官网 里没看到最终解决方案

回帖(20)

李维兴

2018-6-21 04:35:24
引用: asd009 发表于 2018-6-21 04:15
我的连U-Boot SPL 2016.05-00118-gabc6b2a-dirty (Mar 07 2017 - 02:25:03)这一步都没跑到

不用什么配置,
No ready ,TI_DEAD_EEPROM_MAGIC is 0xadead12c
Could not get board ID.
从打印信息可以看到你的板子EEPROM有问题,不知道你的板子是否有EEPROM,MLO 和uboot是根据EEPROM读出板子内容来初始化板子的外设,时钟PLL DDR的,如果没有EEPROM要修改代码:
在uboot下board/ti/am335x/board.c 找到read_eeprom这个函数,获取你的板子信息
举报

于扬

2018-6-21 04:44:46
引用: uuwufydsw 发表于 2018-6-21 04:35
不用什么配置,
No ready ,TI_DEAD_EEPROM_MAGIC is 0xadead12c
Could not get board ID.

我的板子没有EEPROM,这个问题我倒是知道怎么解决,但是现在关键的问题是我的MLO放进去之后没有任何打印信息,连U-Boot版本相关的信息U-Boot SPL 2014.07-gfb6ab76 (Jul 06 2015 - 16:00:22))这句话都没打印,看样子就是串口初始化都没初始化起来,我自己在里面加了点打印信息也打印不出来,或者根本就没执行到打印U-Boot版本这个地方!!!
我用ti-processor-sdk-linux-am335x-evm-01.00.00.03-Linux-x86-Install.bin安装后可以打印“U-Boot SPL 2014.07-gfb6ab76 (Jul 06 2015 - 16:00:22)”,如下:
U-Boot SPL 2014.07-gfb6ab76 (Jul 06 2015 - 16:00:22)
Incorrect magic number (0xffffffff) in EEPROM
Could not get board ID.
Incorrect magic number (0xffffffff) in EEPROM
Could not get board ID.
Unknown board, cannot configure pinmux.### ERROR ### Please RESET the board ###
举报

于扬

2018-6-21 04:51:32
引用: uuwufydsw 发表于 2018-6-21 04:35
不用什么配置,
No ready ,TI_DEAD_EEPROM_MAGIC is 0xadead12c
Could not get board ID.

而且只有ti-processor-sdk-linux-am335x-evm-01.00.00.03-Linux-x86-Install在32位Ubuntu下安装后prebuid下的镜像可以运行,试了ti-processor-sdk-linux-am335x-evm-02.00.00.00-Linux-x86-Install、ti-processor-sdk-linux-am335x-evm-03.00.00.04-Linux-x86-Install在64位Ubuntu下安装后也都不行!!!
举报

李维兴

2018-6-21 05:01:59
引用: asd009 发表于 2018-6-21 04:51
而且只有ti-processor-sdk-linux-am335x-evm-01.00.00.03-Linux-x86-Install在32位Ubuntu下安装后prebuid下的镜像可以运行,试了ti-processor-sdk-linux-am335x-evm-02.00.00.00-Linux-x86-Install、ti-processor-sdk-linux-am335x-evm-03.00.00.04-Linux-x86-Install在64位Ubuntu下安装后也都不行!!! ...

我上传的MLO和Uboot就是从ti-processor-sdk-linux-am335x-evm-03.00.00.04-Linux-x86-Install编译的啊,只不过我自己加了一点调试信息,改了一些代码,很早初始化Uart,所以MLO很早就可以打印信息
举报

李维兴

2018-6-21 05:07:00
引用: asd009 发表于 2018-6-21 04:15
我的连U-Boot SPL 2016.05-00118-gabc6b2a-dirty (Mar 07 2017 - 02:25:03)这一步都没跑到

我知道你的问题所在了,我帮你跟踪一下代码,在这个版本代码中,因为read_eeprom这个函数执行前,uart使能函数preloader_console_init()在后,所以板子还到达不了打印这个信息的时候就已经挂在eeprom了,你可以看下源码就发现了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分