首页 > 代码库 > M283-bsp包问题
M283-bsp包问题
M283新bsp包中的,移植问题
测试一:
1、用新的bsp包中的uboot、kernel源码进行编译后烧录后,TF卡插入后出现问题。
2、Uboot,源码中将厂家给的要覆盖的源码文件进行覆盖,进行编译
3、Kernel,源码未更改,进行编译
4、文件系统使用的厂家提供的文件系统。
5、出现问题,并且系统上电后,一个调试信息都没有。
测试二:
1、使用厂家提供的uboot镜像文件,kernel使用厂家提供的源码,手动进行编译,内核用的m283的配置,去掉了几个驱动,文件系统使用厂家提供的。烧录到TF卡中,插入到系统后,系统烧写时出现问题。
2、系统启动时,在内核阶段死亡,可以说uboot成功引导了内核启动,但是内核却死了
测试三:
1、uboot使用厂家提供的uboot镜像,kernel使用厂家提供的镜像,rootfs使用厂家提供的。
2、TF卡插入系统,烧写系统时,信息为
3、系统启动时,启动正常。
测试四:
1、拿厂家提供的uboot源码进行手动编译,产生镜像,使用厂家提供的kernel镜像与文件系统。
2、烧录到TF卡后,TF卡插入系统中,最后烧写系统时信息为
3、系统重新上电后,无任何打印信息,由此可以证明是uboot出现了问题。
测试五:
1、使用老源码的uboot,根据厂家提供的要覆盖的文件,进行覆盖后,对uboot老的源码进行编译,产生镜像,使用厂家提供的kernel镜像,使用厂家提供的rootfs镜像。
2、烧录到TF卡后,TF卡插入系统中,最后烧写系统时信息为:
3、系统上电后,在挂载根文件系统时失败。信息为:
4、经过对系统启动失败时的log信息,发现是挂载文件系统时出错,是由于内核的参数不对,而这个参数是有uboot给传递的,uboot的bootargs正确的参数为gpmi=g console=ttyAM0,115200n8 ubi.mtd=5 root=ubi0:rootfs rootfstype=ubifs ro mem=64M
文件系统被放在了mtd分区的第5个分区,因此这里要改成5,loadaddr建议该成0x42000000试试,而不用0x41600000,暂时感觉使用0x41600000好用些,意思就是让内核在内存的0x41600000处,将来从nand中写到内核的0x41600000的地方
5、由此可知,之前由于烧录后,系统没有任何信息是由于uboot不对,而老的源码中的uboot应该是做过相关的修改了,所以老的源码的uboot能够启动,并引导内核启动。
6、而老的源码的uboot在引导内核时,在内核阶段死亡,说明是内核不对,因为此时用的这个内核是用的厂家提供的源码进行手动编译后的,所以是内核不对,如果uboot传参是正确的话。两种解决思路:一个是uboot参数不对,二是内核不对。
7、而老的源码的uboot在修改参数为正确的话,使用了自己手动编译的内核,因为内核可能不对,所以系统无法正常启动。
设置正确的参数
Setenv bootargs ‘gpmi=g console=ttyAM0,115200n8 ubi.mtd=5 root=ubi0:rootfs rootfstype=ubifs ro mem=64M’
任务一:开始调试新bsp包中给的uboot源码,使得uboot能够正常启动。
问题1:新bsp包中的uboot源码进行编译调试后,至今还是启动不了,没有任何打印信息
任务二:使用老的uboot源码,将board_init函数中打印信息board_init777777777改为board_init99999999,以及将mx28_evk.h配置头文件中的命令行前缀名改为WHY U-boot后,在次编译,发现运行的uboot不是刚刚编译过的uboot。
任务三:ubuntu中搭建tftp服务器环境,设置板子运行的不是刚编译过的老的uboot中的服务端的ip地址为192.168.1.189,本地ip地址设置为192.168.1.10网关gatewayip设置为192.168.1.0,尝试在uboot中ping Ubuntu,Ubuntu的ip地址为192.168.1.189,能够ping通,uboot中使用tftp命令从ubuntu中的tftpboot目录中下载uboot镜像到内存中,下载成功,又将下载到内存中的uboot镜像,写入到nand的0-0x100000地址的位置,之前已经用nand erase 0x0 0x100000 命令将nand的0x0到0x100000存放uboot的位置擦除了,重新启动后,发现一个打印信息都没有。
任务四:重复任务三的过程,只是将下载到内存中的uboot换成了厂家提供的uboot镜像,写入到nand的0x0-0x100000之间的位置后,重启系统,发现还是一条打印信息都没有
测试调试发现:
1、通过TF卡烧录好后,插入到系统中时,烧写系统的时候的log信息可以看出他们致远电子用TF卡部署镜像的机制了。TF卡烧录方案,TF卡插入到系统中后,先是运行了他们固话的内核,然后挂载了他们固话的文件系统,文件系统的主机名叫做飞思卡尔,运行了他们的程序,将TF卡中的内容读取出来,然后写入到nand中,然后替换文件系统。这么做应该是为了使用TF卡进行量产
本文出自 “whylinux” 博客,谢绝转载!
M283-bsp包问题