查看: 6030|回复: 12

[已解决] u-boot 不能被识别到

[复制链接]

该用户从未签到

6

主题

35

帖子

0

注册会员

Rank: 2

积分
110
最后登录
2019-6-10
发表于 2016-8-23 14:35:31 | 显示全部楼层 |阅读模式
本帖最后由 小智MM 于 2016-8-30 16:26 编辑

1. 我们主板使用2009.08版的u-boot能正常启动,但使用2016.03版的u-boot就不行,不管选定哪种模式,总是烧录模式: mfgtool.png
2. 2016.03版的u-boot从这里下载的:http://github.com/boundarydevic ... e/boundary-v2016.03
3. 以下是2009.08版的u-boot中的lds文件内容:
  1. OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
  2. OUTPUT_ARCH(arm)
  3. ENTRY(_start)
  4. SECTIONS
  5. {
  6. . = 0x00000000;
  7. . = ALIGN(4);
  8. .text :
  9. {
  10.    board/freescale/mx6q_sabresd/flash_header.o (.text.flasheader)
  11.    cpu/arm_cortexa8/start.o
  12.    board/freescale/mx6q_sabresd/libmx6q_sabresd.a (.text)
  13.    lib_arm/libarm.a (.text)
  14.    net/libnet.a (.text)
  15.    drivers/mtd/libmtd.a (.text)
  16.    drivers/mmc/libmmc.a (.text)
  17.    . = DEFINED(env_offset) ? env_offset : .;
  18.    common/env_embedded.o(.text)
  19.    *(.text)
  20. }
  21. . = ALIGN(4);
  22. .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
  23. . = ALIGN(4);
  24. .data : { *(.data) }
  25. . = ALIGN(4);
  26. .got : { *(.got) }
  27. . = .;
  28. __u_boot_cmd_start = .;
  29. .u_boot_cmd : { *(.u_boot_cmd) }
  30. __u_boot_cmd_end = .;
  31. . = ALIGN(4);
  32. _end_of_copy = .;
  33. . = ALIGN(0x1000);
  34. __hab_data = .;
  35. . = . + 0x2000;
  36. __data_enc_key = .;
  37. . = . + 0x200;
  38. __hab_data_end = .;
  39. __bss_start = .;
  40. .bss : { *(.bss) }
  41. _end = .;
  42. }
复制代码
4. 以下是2016.03版的u-boot中的lds文件内容:
  1. OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
  2. OUTPUT_ARCH(arm)
  3. ENTRY(_start)
  4. SECTIONS
  5. {
  6. . = 0x00000000;
  7. . = ALIGN(4);
  8. .text :
  9. {
  10.   *(.__image_copy_start)
  11.   *(.vectors)
  12.   arch/arm/cpu/armv7/start.o (.text*)
  13.   *(.text*)
  14. }
  15. . = ALIGN(4);
  16. .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
  17. . = ALIGN(4);
  18. .data : {
  19.   *(.data*)
  20. }
  21. . = ALIGN(4);
  22. . = .;
  23. . = ALIGN(4);
  24. .u_boot_list : {
  25.   KEEP(*(SORT(.u_boot_list*)));
  26. }
  27. . = ALIGN(4);
  28. .image_copy_end :
  29. {
  30.   *(.__image_copy_end)
  31. }
  32. .rel_dyn_start :
  33. {
  34.   *(.__rel_dyn_start)
  35. }
  36. .rel.dyn : {
  37.   *(.rel*)
  38. }
  39. .rel_dyn_end :
  40. {
  41.   *(.__rel_dyn_end)
  42. }
  43. .end :
  44. {
  45.   *(.__end)
  46. }
  47. _image_binary_end = .;
  48. . = ALIGN(4096);
  49. .mmutable : {
  50.   *(.mmutable)
  51. }
  52. .bss_start __rel_dyn_start (OVERLAY) : {
  53.   KEEP(*(.__bss_start));
  54.   __bss_base = .;
  55. }
  56. .bss __bss_base (OVERLAY) : {
  57.   *(.bss*)
  58.    . = ALIGN(4);
  59.    __bss_limit = .;
  60. }
  61. .bss_end __bss_limit (OVERLAY) : {
  62.   KEEP(*(.__bss_end));
  63. }
  64. .dynsym _image_binary_end : { *(.dynsym) }
  65. .dynbss : { *(.dynbss) }
  66. .dynstr : { *(.dynstr*) }
  67. .dynamic : { *(.dynamic*) }
  68. .plt : { *(.plt*) }
  69. .interp : { *(.interp*) }
  70. .gnu.hash : { *(.gnu.hash) }
  71. .gnu : { *(.gnu*) }
  72. .ARM.exidx : { *(.ARM.exidx*) }
  73. .gnu.linkonce.armexidx : { *(.gnu.linkonce.armexidx.*) }
  74. }
复制代码
4. 这种能烧录,但不能识别到u-boot是什么原因导致的?



我知道答案 目前已有12人回答
回复

使用道具 举报

  • TA的每日心情

    2017-1-4 08:05
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    85

    主题

    1629

    帖子

    1

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2569

    优秀版主

    最后登录
    2019-3-28
    发表于 2016-8-23 15:20:53 | 显示全部楼层
    我看LZ把烧写软件撸出来了,请问下是烧写软件不识别呢还是撸进片子里面跑不起来?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    35

    帖子

    0

    注册会员

    Rank: 2

    积分
    110
    最后登录
    2019-6-10
     楼主| 发表于 2016-8-23 16:46:05 | 显示全部楼层
    本帖最后由 zengjf 于 2016-8-23 16:48 编辑
    技术范儿 发表于 2016-8-23 15:20
    我看LZ把烧写软件撸出来了,请问下是烧写软件不识别呢还是撸进片子里面跑不起来? ...

    2016版的撸进片子跑不起来,即使我选择了SD卡启动,但还是进入了烧录模式,但用2009版的就行。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-1-4 08:05
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    85

    主题

    1629

    帖子

    1

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2569

    优秀版主

    最后登录
    2019-3-28
    发表于 2016-8-23 17:12:11 | 显示全部楼层
    zengjf 发表于 2016-8-23 16:46
    2016版的撸进片子跑不起来,即使我选择了SD卡启动,但还是进入了烧录模式,但用2009版的就行。 ...

    这份代码跟你板子配套吗?如果不配套需要自己移植的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    35

    帖子

    0

    注册会员

    Rank: 2

    积分
    110
    最后登录
    2019-6-10
     楼主| 发表于 2016-8-23 18:13:00 | 显示全部楼层
    技术范儿 发表于 2016-8-23 17:12
    这份代码跟你板子配套吗?如果不配套需要自己移植的

    不是配套的,2016版的u-boot是架构是新的架构,接近Linux kernel的架构,2009版的是老的架构,为了解决上次问你的Parallel LCD的问题,我找到了这个u-boot,2016版的u-boot烧录进去了,但是芯片内部的rom程序好像不能识别到SD卡中这个u-boot。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-1-4 08:05
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    85

    主题

    1629

    帖子

    1

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2569

    优秀版主

    最后登录
    2019-3-28
    发表于 2016-8-23 18:33:27 | 显示全部楼层
    zengjf 发表于 2016-8-23 18:13
    不是配套的,2016版的u-boot是架构是新的架构,接近Linux kernel的架构,2009版的是老的架构,为了解决上 ...

    你看下那个README文件,这个肯定需要移植啊,内存啥的都没初始化
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    35

    帖子

    0

    注册会员

    Rank: 2

    积分
    110
    最后登录
    2019-6-10
     楼主| 发表于 2016-8-25 15:15:56 | 显示全部楼层
    技术范儿 发表于 2016-8-23 18:33
    你看下那个README文件,这个肯定需要移植啊,内存啥的都没初始化

    1. 我到http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/这里去下载了m6.0.1_2.1.0-ga.zip,其现象和我之前提到的2016版的一样;
        1.1 我的编译过程如下:
            1. make mx6dlsabresdandroid_defconfig
            2. make
        1.2. 能正常烧录进主板,但是选择正常启动模式后,自动跳入USB烧录模式;
    2. 我同样在http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/下载了kk4.4.2_1.0.0-ga.zip;
        2.1 我的编译过程如下:
            1. make mx6dl_sabresd_android_config
            2. make
        2.2. 能正常烧录进主板,选择正常启动模式后,能运行u-boot,如下:
    1. U-Boot 2009.08 (Aug 25 2016 - 15:06:41)

    2. CPU: Freescale i.MX6 family TO1.2 at 792 MHz
    3. Thermal sensor with ratio = 185
    4. Temperature:   41 C, calibration data 0x5924fc69
    5. mx6q pll1: 792MHz
    6. mx6q pll2: 528MHz
    7. mx6q pll3: 480MHz
    8. mx6q pll8: 50MHz
    9. ipg clock     : 66000000Hz
    10. ipg per clock : 66000000Hz
    11. uart clock    : 80000000Hz
    12. cspi clock    : 60000000Hz
    13. ahb clock     : 132000000Hz
    14. axi clock   : 198000000Hz
    15. emi_slow clock: 99000000Hz
    16. ddr clock     : 396000000Hz
    17. usdhc1 clock  : 198000000Hz
    18. usdhc2 clock  : 198000000Hz
    19. usdhc3 clock  : 198000000Hz
    20. usdhc4 clock  : 198000000Hz
    21. nfc clock     : 24000000Hz
    22. Board: i.MX6DL/Solo-SABRESD: unknown-board Board: 0x61012 [POR ]
    23. Boot Device: MMC
    24. I2C:   ready
    25. DRAM:   1 GB
    26. MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
    27. *** Warning - bad CRC or MMC, using default environment

    28. In:    serial
    29. Out:   serial
    30. Err:   serial
    31. Found PFUZE100! deviceid=10,revid=21
    32. Recovery key pressed
    33. Recovery command file founded!
    34. recovery on bootdev: 7
    35. setup env for recovery..
    36. Net:   got MAC address from IIM: 00:00:00:00:00:00
    37. FEC0 [PRIME]
    38. Hit any key to stop autoboot:  0
    39. MX6SDL SABRESD U-Boot > 侭?
    40. Unknown command '侭?' - try 'help'
    41. MX6SDL SABRESD U-Boot > uart clock    : 80000000Hz
    复制代码


    3. 我不知道这两个u-boot是不是在烧录的时候有区别,或者说烧录的工具不同?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-1-4 08:05
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    85

    主题

    1629

    帖子

    1

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2569

    优秀版主

    最后登录
    2019-3-28
    发表于 2016-8-25 16:15:56 | 显示全部楼层
    zengjf 发表于 2016-8-25 15:15
    1. 我到http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/这里去下载了m6.0.1_2.1.0-ga.zip,其 ...

    还是一个问题,先确认你下载的2006是否与你的板子相配套,你贴图的这个是FSL官方给你移植好的,一般不会出现问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    35

    帖子

    0

    注册会员

    Rank: 2

    积分
    110
    最后登录
    2019-6-10
     楼主| 发表于 2016-8-25 16:33:02 | 显示全部楼层
    本帖最后由 zengjf 于 2016-8-25 16:34 编辑
    技术范儿 发表于 2016-8-25 16:15
    还是一个问题,先确认你下载的2006是否与你的板子相配套,你贴图的这个是FSL官方给你移植好的,一般不会 ...

    1. 硬是没理解你说的配套;2. 我用的i.MX6DL的芯片;
    3. 用kk4.4.2_1.0.0-ga.zip的默认配置编译后,通过MfgTool2烧录可以正常运行编译出来的u-boot.bin;
    4. 用m6.0.1_2.1.0-ga.zip的默认配置编译后通过MfgTool2烧录不能正常运行u-boot.bin,我也尝试了u-boot.imx这个文件,都不行;
    5. 所以我不知道你说的配套是什么意思,我已经没有使用前面提到的2016版的u-boot了。现在用的kk4.4.2_1.0.0-ga.zip、m6.0.1_2.1.0-ga.zip都是从http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/下载的;
    6. 请问在官网下载的,使用默认的配置,这算不算配套?

    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-1-4 08:05
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    85

    主题

    1629

    帖子

    1

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2569

    优秀版主

    最后登录
    2019-3-28
    发表于 2016-8-25 16:34:42 | 显示全部楼层
    zengjf 发表于 2016-8-25 16:33
    硬是没理解你说的配套,我用的i.MX6DL的芯片,用使用kk4.4.2_1.0.0-ga.zip的默认配置编译后通过MfgTool2 ...

    板子硬件完全一样才算是配套,如果不是请自己移植
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-2 18:38 , Processed in 0.110980 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表