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

TCI6638K2K ARM核通过PCIe加载启动问题

你好:

        我们现在想通过PCIe加载ARM的u-boot、内核及文件系统。目前u-boot通过PCIe加载后已能正常启动运行,但是将linux内核及文件系统通过PCIe加载后一直停留在Starting kernel . . .这里,感觉像是根文件系统挂载不成功。

        希望你们能提供相关的支持,或者提供其他加载linux内核及文件系统方式的建议

 

  谢谢

Allen35065:

你先用JTAG或者其它方式保证你用的uboot能够启动kernel,还没有到挂载根文件系统的时候。

Feng Lin6:

回复 Allen35065:

Allen Yin,你好:

                 我的u-boot是通过这个命令git clone git://git.ti.com/keystone-linux/u-boot.git u-boot-keystone下载的,

             内核是git clone git://git.ti.com/keystone-linux/linux.git linux-keystone;使用CCS下载u-boot是可以正常启动内核的。

            我现在将u-boot、内核和文件系统通过PCIe下载到DDR后就卡到这个位置,应该是内核不能解压缩。通过PCIe下载内核和根文件系统需要哪儿些具体的操作?

谢谢

Feng Lin6:

回复 Allen35065:

Allen Yin,你好:

                  通过PCIe将内核和根文件系统直接下载到DDR中的方案是否可行?你们有成功的案例给我们借鉴吗?

谢谢

Allen35065:

回复 Feng Lin6:

我们没有做过PCIe boot内核的demo,原理上应该可行,你看看uboot的启动参数是否正确,像uart的端口号和速率;

uboot一般设定是通过tftp或者nand读取kernel,你可能需要修改uboot让它能够从PCIe端口获取到kernel。

Feng Lin6:

回复 Allen35065:

        谢谢你的及时回复!

        我现在是这样做的:

        1.通过PCIe下载DDR初始化的代码到DSP  Core0,

        2.通过PCIe下载u-boot.bin到MSMC(u-boot代码删除了DDR初始化部分)

        3.通过PCIe下载根文件系统、k2hk-evm.dtb、skern-keystone-evm.bin和内核(uImage)到DDR中,

        4.让DSP core0发起IPC中断来唤醒ARM core0,

        5.在u-boot倒计时3秒时,按回车

       6.模仿CCS加载u-boot和内核的方法输入了下面的命令

          (1)setenv bootargs 'console=ttyS0,115200n8 rootwait=1 earlyprintk rdinit=/sbin/init rw root=/dev/ram0 initrd=0x802000000,38M'

                    saveenv

         (2)mon_install 0x0c5f0000

         (3)bootm 0x88000000 – 0x87000000

          这样的方式是否可行?如果不可行,我们就换nand或者tftp的方式来做。

谢谢!

Allen35065:

回复 Feng Lin6:

u-boot里需要通过初始化DDR3的过程获得DDR3的大小以及相关参数来做后面的代码重定位,你删除了DDR初始化的部分,那uboot里用来计算重定位的参数还正确吗?可以打印出来看看,还有你的根文件系统是38M的大小吗?Skern应该装载到mon_install的地址上

赞(0)
未经允许不得转载:TI中文支持网 » TCI6638K2K ARM核通过PCIe加载启动问题
分享到: 更多 (0)