TI中文支持网
TI专业的中文技术问题搜集分享网站

DM8127启动内核卡死的问题3

你好:

        我使用的芯片是DM8127,是自己做的的板子,购买开发板是广州创龙公司的DM8148开发板(软件开发包是广州创龙从TI8148开发板的开发包上改的)。

        由于我自己板子的DM8127只使用了DDR0接口,没有使用DDR1,所以我修改了u-boot\arch\arm\include\asm\arch-ti81xx\ddr_def_ti814x.h文件,具体修改内容如下:

  1. 第300行,#define DDR3_EMIF_SDRAM_CONFIG  0x61C11B32 改为:

                             #define DDR3_EMIF_SDRAM_CONFIG  0x61C11A32 //RowAddress A0-A13

       2.  第321行,#define PG2_1_DMM_LISA_MAP_3  0x80740300 改为:

                            #define PG2_1_DMM_LISA_MAP_3  0x80700100 //No interleaving模式

       然后重新编译u-boot,生成新的MLO和u-boot.bin,替换了开发板原配SD卡中的对应文件。

       将这张SD卡插到我的板子后,上电,串口终端在booting the kernel后卡住不动了,如下图所示

    但是把这张SD卡插回开发板后,是可以正常启动的。现在已经排除是DDR3以及不匹配的MechineID的原因了,我做了进一步测试,在内核函数schedule()函数中通过printascii()打印调试信息,可以看到是内核调度执行一段时间后就卡住了。

    我分析是不是因为以下2种原因造成的:

    1、因为开发板与我自己板子的DSP的外设不一样(开发板的外设丰富),导致在我的板子上无法正常启动,是不是需要重新裁剪内核呢,将我板子上没有的硬件外设裁剪掉?

   2、DM8148开发板配套的内核源码编译出来的uImage是不是必须接2个DDR3端口才可以使用。

  请问上述2个原因哪个可能性大些呢?

Denny%20Yang99373:

怀疑内存有问题可以在UBOOT下面进行内存读写测试

个人感觉1的可能性比较大,估计卡在初始化某个外设上面,建议仿真器连一下看看卡在哪个函数里了

user5000247:

回复 Denny%20Yang99373:

好的,谢谢,有问题再向您请教。

user5000247:

回复 Denny%20Yang99373:

你好,请问使用仿真器如何调试内核,观察内核卡在哪个函数呢,有没有相关技术文章介绍呢?谢谢

赞(0)
未经允许不得转载:TI中文支持网 » DM8127启动内核卡死的问题3
分享到: 更多 (0)