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卡进行量产

转载于:https://blog.51cto.com/whylinux/1911827

M283-bsp包问题相关推荐

  1. NUC972的BSP包的使用

    一.NUC972的BSP包安装好后内容如下: applications:示例程序以及开源软件,例如busybox, wireless tool- buildroot:可用来编译内核,交叉编译工具,应用 ...

  2. ZYNQ开发系列——hw_platform包和BSP包中的一些理解

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ZYNQ开发系列--hw_platform包和BSP包中的一些理解 前言 hw_platform BSP包 前言 前面我们完成了PS输 ...

  3. RT-ThreadBearPi 开发笔记 -- 为小熊派开发板制作 RT-Thread BSP 包

    为小熊派开发板制作 RT-Thread BSP 包 前段时间,微联智控工作室向南京厚德物联网有限公司申请了一款物联网开发平台---小熊派物联网开发套件(BearPi-IoT).关于小熊派IoT开发平台 ...

  4. 恩智浦 i.MX8X BSP 包文件目录结构

    恩智浦 linux-4.14.98 BSP 开发包文件目录结构如下: linux-imx |->arch | |->arm64 | | |->boot | | | |->dts ...

  5. QNX BSP包目录结构

    什么叫简陋的博客?这就是简陋的博客![狗头] 一张图能解决的问题都不叫问题:

  6. OpenBoard的板级支持包(BSP)开发召集令

    OpenBoard的板级支持包(BSP)开发召集令 什么是"板级支持包"? 在嵌入式系统中,Board Support Package(简称BSP,中译板支持包)是实现特定的支持代 ...

  7. qnx bsp 编译

    编译环境准备: 1.下载工具链,以及bsp 包 2.编译 source  ../qnx710/qnxsdp-env.sh make 3.make install

  8. 提交显示成功但是没有看到文件_如何向RTThread提交一个BSP?

    RT-Thread今天的快速发展和所取得成绩,离不开所有开发者的持续贡献和社区小伙伴的竭力支持. 一.前言 今年6月,我在一款智能混合型的FPGA芯片上,完成了RT-Thread的移植,并向RT-Th ...

  9. 基于RT-Thread系统的机智云数字仪表教程(一)——移植RT-Thread的BSP模板

    基于RT-Thread系统的机智云数字仪表教程(一) 目录: 实验内容: 实验平台: 实验前准备工作: 代码: 联系作者: 移植RT-Thread的BSP模板: 1.学习RT-Thread系统(学过的 ...

最新文章

  1. RT-Thread的位图调度算法分析(最新版)
  2. python循环五角星做法_python实现while循环打印星星的四种形状
  3. md5模式 签名_MD的完整形式是什么?
  4. OpenCV中反向投影
  5. 我是如何在GitHub上开源一个项目的(截图说明) (VS2010可以安装git插件)
  6. 解密:fotona4d有什么功效,欧洲之星做一次能保持多久
  7. E盾网络验证企业版个人版离线版加密防破解易语言源码加密对接好的自绘界面3
  8. mysql主从配置启动失败_Mysql主从配置错误及解决办法
  9. 在Qt中解决word书签中只能从其后面插入文本的问题
  10. 交换机怎么用计算机配置文件,如何将交换机配置导入本地计算机做备份
  11. 311运动(冰箱与内裤)的由来
  12. Docker的中央仓库
  13. 变分法求解最优控制问题推导思路
  14. Kaldi语音识别技术
  15. 【VUE】二维码解析
  16. 软考 - 09 预约挂号管理系统
  17. 编码器信号电缆与传输抗干扰的十个问题讨论!
  18. 老毛桃制作LinuxU盘启动盘
  19. 支持公募私募全新开发投资理财股票基金网站源码(亲测)
  20. 计算机毕业设计Java虚拟银行业务培训游戏(源码+系统+mysql数据库+lw文档

热门文章

  1. 获取进程列表和结束进程
  2. POJ 2112 二分+最大流
  3. TightVNC 2.6.4 发布
  4. 有用的正则表达式或JS方法
  5. 【logstash】使用logstash拉取数据到kerberos+SSL认证的kafka集群中遇到的坑
  6. python基础之字符串定义常见操作、列表定义进阶操作
  7. Spring – IoC 容器
  8. vb中多个串口通讯_串口服务器的原理及应用!
  9. mysql的递归查询_比较两种mysql递归tree查询效率-mysql递归tree
  10. python和c语言全局变量,Python如何实现C/C++全局变量?