完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
说明一下:sdk包自带的prebuild下的MLO和u-boot也同样无法运行,但是老版本的就运行正常
|
|
|
|
我的就是从这个版本编译的,加了一些调试信息,你下载后解压,里面有MLO和u-boot.img,把他们放在你的SD卡的boot分区,看一下会有什么打印出来 |
|
1 条评论
|
|
uuwufydsw 发表于 2018-6-21 03:44 谢谢Eggsy Pang !你的镜像我下载后可以启动并有打印信息输出,输出如下:但是为什么我自己编译的就没反应呢?就连SDK包自带的prebuild下面的MLO和u-boot.img也不能运行!编译的时候需要先进行什么配置或者修改么? CONFIG_BAUDRATE: 1c200 U-Boot SPL 2016.05-00118-gabc6b2a-dirty (Mar 07 2017 - 02:25:03) void s_init(void) DEFAULT_UART_BASE in 0x44e09000 reading uart1 rx address = 0x00000037 reading uart1 tx address = 0x00000037 gd in 40303880 CONFIG_SYS_INIT_SP_ADDR in 0x4030ff20 rtc32k_enable(); reading core clksel address = 0x0003e817 reading MPU clksel address = 0x0003e817 reading DDR clksel address = 0x00000000 reading Per clksel address = 0x0403c017 CONFIG_BAUDRATE: 1c200 U-Boot SPL 2016.05-00118-gabc6b2a-dirty (Mar 07 2017 - 02:25:03) CONFIG_SYS_INIT_SP_ADDR in 0x4030ff20 ,gd in 4030fa40 CONFIG_SYS_INIT_SP_ADDR in 0x4030ff20 CONFIG_BAUDRATE: 1c200 U-Boot SPL 2016.05-00118-gabc6b2a-dirty (Mar 07 2017 - 02:25:03) core frequency :50 eeprom test No ready ,TI_DEAD_EEPROM_MAGIC is 0xadead12c Could not get board ID. reading core clksel address = 0x00003217 reading MPU clksel address = 0x00012c17 reading DDR clksel address = 0x00010a17 reading Per clksel address = 0x0403c017 eeprom test No ready ,TI_DEAD_EEPROM_MAGIC is 0xadead12c Could not get board ID. |
|
|
|
uuwufydsw 发表于 2018-6-21 03:44 我的连U-Boot SPL 2016.05-00118-gabc6b2a-dirty (Mar 07 2017 - 02:25:03)这一步都没跑到 |
|
|
|
asd009 发表于 2018-6-21 04:15 不用什么配置, 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这个函数,获取你的板子信息 |
|
|
|
uuwufydsw 发表于 2018-6-21 04:35 我的板子没有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 ### |
|
|
|
uuwufydsw 发表于 2018-6-21 04:35 而且只有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下安装后也都不行!!! |
|
|
|
asd009 发表于 2018-6-21 04:51 我上传的MLO和Uboot就是从ti-processor-sdk-linux-am335x-evm-03.00.00.04-Linux-x86-Install编译的啊,只不过我自己加了一点调试信息,改了一些代码,很早初始化Uart,所以MLO很早就可以打印信息 |
|
|
|
asd009 发表于 2018-6-21 04:15 我知道你的问题所在了,我帮你跟踪一下代码,在这个版本代码中,因为read_eeprom这个函数执行前,uart使能函数preloader_console_init()在后,所以板子还到达不了打印这个信息的时候就已经挂在eeprom了,你可以看下源码就发现了 |
|
|
|
uuwufydsw 发表于 2018-6-21 05:07 OK了!多谢! 新版本中把board/ti/am335x/board.c 里面read_eeprom这个函数去掉了,换成了do_board_detect,而相关函数是在comm/board_detect.c里实现! |
|
|
|
asd009 发表于 2018-6-21 05:26 是的,没错,这样应该可以boot起来了 |
|
|
|
你好,我的是卡在这里了 CONFIG_BAUDRATE: 1c200 U-Boot SPL 2016.05-00118-gabc6b2a-dirty (Mar 07 2017 - 02:25:03) void s_init(void) DEFAULT_UART_BASE in 0x44e09000 reading uart1 rx address = 0x00000037 reading uart1 tx address = 0x00000037 gd in 40303880 CONFIG_SYS_INIT_SP_ADDR in 0x4030ff20 rtc32k_enable(); reading core clksel address = 0x0003e818 reading MPU clksel address = 0x0003e818 reading DDR clksel address = 0x00000000 reading Per clksel address = 0x0403c018 CONFIG_BAUDRATE: 1c200 U-Boot SPL 2016.05-00118-gabc6b2a-dirty (Mar 07 2017 - 02:25:03) CONFIG_SYS_INIT_SP_ADDR in 0x4030ff20 ,gd in 4030fa40 CONFIG_SYS_INIT_SP_ADDR in 0x4030ff20 CONFIG_BAUDRATE: 1c200 U-Boot SPL 2016.05-00118-gabc6b2a-dirty (Mar 07 2017 - 02:25:03) core frequency :50 eeprom test No ready ,TI_DEAD_EEPROM_MAGIC is 0xadead12c reading core clksel address = 0x00003217 reading MPU clksel address = 0x00012c17 reading DDR clksel address = 0x00010a17 reading Per clksel address = 0x0403c017 eeprom test No ready ,TI_DEAD_EEPROM_MAGIC is 0xadead12c |
|
|
|
问题跟楼上一样, 从打印信息可以看到你的板子EEPROM有问题,不知道你的板子是否有EEPROM,MLO 和uboot是根据EEPROM读出板子内容来初始化板子的外设,时钟PLL DDR的,如果没有EEPROM要修改代码: 在uboot下board/ti/am335x/board.c 找到read_eeprom这个函数,获取你的板子信息 |
|
|
|
uuwufydsw 发表于 2018-6-21 06:01 你好,我现在用这个版本的uboot u-boot-2016.05+gitAUTOINC+6c5519b6fc-g6c5519b6fc 编译出来的mlo uboot.img放到sd卡后,发现没有任何打印信息,是不是uart的初始化没有完成? |
|
|
|
|
|
|
|
把下面的函数里面的内容注释掉(board/ti/am335x/board.c) void do_board_detect(void) [ enable_i2c0_pin_mux(); i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); if (ti_i2c_eeprom_am_get(-1, CONFIG_SYS_I2C_EEPROM_ADDR)) printf("ti_i2c_eeprom_init failedn"); ] |
|
|
|
怎么我改了还是没有输出 void do_board_detect(void) [ ///enable_i2c0_pin_mux(); ///i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); ///if (ti_i2c_eeprom_am_get(-1, CONFIG_SYS_I2C_EEPROM_ADDR)) ///printf("ti_i2c_eeprom_init failedn"); ] 我是在ti-processor-sdk-linux-am335x-evm-03.02.00.05目录下 make u-boot_clean make u-boot 然后sd卡里面仅有MLO 和u-boot.img |
|
|
|
在board.h里面还有好多ti_board_is_xxx的函数,这些函数也会操作eeprom,你把这边也屏蔽掉直接return false;,在你需要的那个板件类型函数返回true,如果全返回false的话在mux.c里就没法初始化pin,你试试 |
|
|
|
asd009 发表于 2018-6-21 06:47 可以了,打印信息如下: U-Boot SPL 2016.05 (Apr 12 2017 - 09:58:54) Trying to boot from MMC1 ** First descriptor is NOT a primary desc on 0:1 ** ** Partition 1 not valid on device 0 ** spl_register_fat_device: fat register err - -1 ** Partition 1 not valid on device 0 ** spl_register_fat_device: fat register err - -1 spl_load_image_fat: error reading image u-boot.img, err - -1 spl: no partition table found spl: no partition table found SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### |
|
|
|
只有小组成员才能发言,加入小组>>
2904个成员聚集在这个小组
加入小组348 浏览 1 评论
543 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
787 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
658 浏览 1 评论
对于多级放大威廉希尔官方网站 板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
76浏览 29评论
255浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
261浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
209浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
67浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 19:04 , Processed in 1.813524 second(s), Total 128, Slave 108 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号