官方QQ群收藏本站

百问linux嵌入式论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 84|回复: 9

uboot2015.10移植问题

[复制链接]

4

主题

9

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2019-9-23 23:02:03 | 显示全部楼层 |阅读模式
此板块为 [uboot开发]
  • 发生问题的运行环境:   移植uboot2015.10,工具链版本为5.4.0
  • 问题发生描述:   进行u-boot2015的移植:
  •                         (1)配置时钟
    1. #define        pWTCON                0x53000000

    2. #define        INTMSK                0x4A000008    /* Interrupt-Controller base addresses */
    3. #define        INTSUBMSK        0x4A00001C

    4. #define        CLKDIVN                0x4C000014    /* clock divisor register */

    5. #define        MPLLCON                0x4C000004      /* MPLL configuration register */
    6. #define        UPLLCON                0x4C000008      /* UPLL configuration registern */
    7. #define        LOCKTIME        0x4C000000    /* PLL lock time count register */
    8.                   
    9. #define        MPLL_OUPUT_400MHZ    ((0x5c << 12) |(1 << 4) |(1 << 0))
    10. #define        UPLL_OUPUT_48MHZ     ((0x38 << 12) |(2 << 4) |(2 << 0))

    11.         ldr        r0, =pWTCON
    12.         mov        r1, #0x0
    13.         str        r1, [r0]

    14.         /*
    15.          * mask all IRQs by setting all bits in the INTMR - default
    16.          */
    17.         mov        r1, #0xffffffff
    18.         ldr        r0, =INTMSK
    19.         str        r1, [r0]

    20.         ldr        r1, =0x7ff
    21.         ldr        r0, =INTSUBMSK
    22.         str        r1, [r0]

    23. ldr        r0, =CLKDIVN
    24.         mov        r1, #5
    25.         str        r1, [r0]
    26.        
    27.         /* cpu bus mode changed from fast bus mode to asynchronous bus mode */
    28.         mrc  p15, 0, r0, c1, c0, 0
    29.         orr  r0, r0, #0xc0000000
    30.         mcr  p15, 0, r0, c1, c0, 0
    31.        
    32.         ldr r0, =LOCKTIME
    33.         ldr r1, = 0xffffffff
    34.         str r1, [r0]
    35.        
    36.         /* config MPLL and UPLL */
    37.         ldr r0,=MPLLCON         
    38.         ldr r1,=MPLL_OUPUT_400MHZ
    39.         str r1,[r0]
    40.        
    41.         ldr r0,=UPLLCON         
    42.         ldr r1,=UPLL_OUPUT_48MHZ
    43.         str r1,[r0]

    44.         /* 启动ICACHE */
    45.         mrc p15, 0, r0, c1, c0, 0       
    46.         orr r0, r0, #(1<<12)
    47.         mcr        p15, 0, r0, c1, c0, 0   
    复制代码

  •                         (2)配置SDRAM
  1. #define B1_BWSCON                (DW16)
  2. #define B2_BWSCON                (DW16)
  3. #define B3_BWSCON                (DW16)
  4. #define B4_BWSCON                (DW16)
  5. #define B5_BWSCON                (DW16)
  6. #define B6_BWSCON                (DW32)
  7. #define B7_BWSCON                (DW32)

  8. /* BANK0CON */
  9. #define B0_Tacs                        0x0        /*  0clk */
  10. #define B0_Tcos                        0x0        /*  0clk */
  11. #define B0_Tacc                        0x5        /*  8clk */
  12. #define B0_Tcoh                        0x0        /*  0clk */
  13. #define B0_Tah                        0x0        /*  0clk */
  14. #define B0_Tacp                        0x0
  15. #define B0_PMC                        0x0        /* normal */

  16. #define B6_MT                        0x3        /* SDRAM */
  17. #define B6_Trcd                        0x1
  18. #define B6_SCAN                        0x1        /* 9bit */

  19. #define B7_MT                        0x3        /* SDRAM */
  20. #define B7_Trcd                        0x1        /* 3clk */
  21. #define B7_SCAN                        0x1        /* 9bit */

  22. /* REFRESH parameter */
  23. #define REFEN                        0x1               /* Refresh enable */
  24. #define TREFMD                        0x0            /* CBR(CAS before RAS)/Auto refresh */
  25. #define Trp                                0x0                   /* 2clk */
  26. #define Trc                                0x3                   /* 7clk */
  27. #define REFCNT                        1269          /* period=7.8us, HCLK=100Mhz, (2048+1-7.8*100) */

  28. SMRDATA:
  29.         .word         ((B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+(B7_BWSCON<<28))
  30.     .word         ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))
  31.     .word         ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC))
  32.     .word         ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC))
  33.     .word         ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC))
  34.     .word         ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC))
  35.     .word         ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC))
  36.     .word         ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN))
  37.     .word         ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN))
  38.     .word         ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+REFCNT)
  39.     .word         0xb1
  40.     .word         0x30
  41.     .word         0x30
复制代码
(还有一个点灯代码)

详细可看有道笔记,但现在是卡在这里了http://note.youdao.com/noteshare?id=3398b0140eeaa656110bf403c33527b4

在配置完SDRAM后,我尝试用OpenJTAG将bin文件烧进Nor flash,大多数时候都是LED灯不亮,串口没有输出;有时候烧进去LED灯亮了,但是串口什么都是没有
(我也尝试用过韦老师提供的SDRAM初始化数组,也是不行)
之前看韦老师移植2010的时候,走到这一步时候串口是有乱码输出的。


请问下,我是不是有什么地方遗漏掉了?还是步骤有错?谢谢!!

回复

使用道具 举报

8

主题

1505

帖子

4673

积分

版主

Rank: 7Rank: 7Rank: 7

积分
4673
发表于 2019-9-24 22:12:12 | 显示全部楼层
先后还是建议按照视频教程来先移植Uboot2012在尝试新版本,毕竟版本间的差异还是挺大的,单看你这些代码看不出问题
我是百问网www.100ask.org答疑助手,有关技术问题请与我联系。
韦东山视频开发板购买店铺:https://100ask.taobao.com/
微信公众平台:baiwenkeji
回复 支持 反对

使用道具 举报

0

主题

1186

帖子

3623

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3623
发表于 2019-9-24 22:24:33 | 显示全部楼层
本帖最后由 百问网-杨老师 于 2019-9-24 22:26 编辑

工具链版本为5.4.0 ... 感觉不一定合适。

你加一个灯调试挺好的。建议你弄一个流水灯 闪烁一下,确保自己编译的文件可以正常执行
你也可以用这个工具链去编译一下裸机的led程序,验证这个工具链在编译裸机后可以正常在2440上运行。然后在确认uboot哪里出了问题
我是百问网www.100ask.org答疑助手,有关站务问题请与我联系。
韦东山视频开发板购买店铺https://100ask.taobao.com/
微信公众平台:baiwenkeji
回复 支持 反对

使用道具 举报

4

主题

9

帖子

76

积分

注册会员

Rank: 2

积分
76
 楼主| 发表于 2019-9-25 23:52:57 | 显示全部楼层
百问网-李老师 发表于 2019-9-24 22:12
先后还是建议按照视频教程来先移植Uboot2012在尝试新版本,毕竟版本间的差异还是挺大的,单看你这些代码看 ...

谢谢回答,我今晚试了下2012,工具链改为4.3.3,只初始化了时钟和sdram,还是不行,是不是我的板子是v3的,然后我复制2410,不支持v3板子的nor flash?
我明晚再试下
回复 支持 反对

使用道具 举报

4

主题

9

帖子

76

积分

注册会员

Rank: 2

积分
76
 楼主| 发表于 2019-9-26 21:45:28 | 显示全部楼层
我用韦老师提供的1.1.6版本,烧进Nor Flash就可以启动,然后用2012版本(打好了补丁),烧进Nor Flash然后串口什么都没有。。。这好奇怪啊。。
回复 支持 反对

使用道具 举报

8

主题

1505

帖子

4673

积分

版主

Rank: 7Rank: 7Rank: 7

积分
4673
发表于 2019-9-28 21:50:46 | 显示全部楼层
Recca 发表于 2019-9-26 21:45
我用韦老师提供的1.1.6版本,烧进Nor Flash就可以启动,然后用2012版本(打好了补丁),烧进Nor F ...

光盘里的镜像2012的可以用么
我是百问网www.100ask.org答疑助手,有关技术问题请与我联系。
韦东山视频开发板购买店铺:https://100ask.taobao.com/
微信公众平台:baiwenkeji
回复 支持 反对

使用道具 举报

4

主题

9

帖子

76

积分

注册会员

Rank: 2

积分
76
 楼主| 发表于 2019-9-29 19:13:15 | 显示全部楼层
百问网-李老师 发表于 2019-9-28 21:50
光盘里的镜像2012的可以用么

还真可以。。。那应该是我工具链问题或者虚拟机问题吧。。。
回复 支持 反对

使用道具 举报

8

主题

1505

帖子

4673

积分

版主

Rank: 7Rank: 7Rank: 7

积分
4673
发表于 2019-10-8 21:45:17 | 显示全部楼层
Recca 发表于 2019-9-29 19:13
还真可以。。。那应该是我工具链问题或者虚拟机问题吧。。。

你用的哪个编译器呢
我是百问网www.100ask.org答疑助手,有关技术问题请与我联系。
韦东山视频开发板购买店铺:https://100ask.taobao.com/
微信公众平台:baiwenkeji
回复 支持 反对

使用道具 举报

4

主题

9

帖子

76

积分

注册会员

Rank: 2

积分
76
 楼主| 发表于 2019-10-9 18:52:00 | 显示全部楼层

之前是用网上找到友善4.4.3(因为uboot2015用4.3.2编译失败,只找到这个),所以uboot2012编译烧进去有问题,后面用回4.3.2编译uboot2012,就可以了
回复 支持 反对

使用道具 举报

8

主题

1505

帖子

4673

积分

版主

Rank: 7Rank: 7Rank: 7

积分
4673
发表于 2019-10-9 21:24:31 | 显示全部楼层
Recca 发表于 2019-10-9 18:52
之前是用网上找到友善4.4.3(因为uboot2015用4.3.2编译失败,只找到这个),所以uboot2012编译烧进去有问 ...

好的,记得结贴
我是百问网www.100ask.org答疑助手,有关技术问题请与我联系。
韦东山视频开发板购买店铺:https://100ask.taobao.com/
微信公众平台:baiwenkeji
回复 支持 反对

使用道具 举报

技术支持
在线咨询
咨询热线
0755-86200561
微信扫一扫
获取更多资讯!

Archiver|小黑屋|百问linux嵌入式论坛     

GMT+8, 2019-10-17 14:11 , Processed in 0.082756 second(s), 10 queries , File On.

Powered by Discuz! X3.3 Licensed

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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