最新消息:天气越来越冷,记得加一件厚衣裳

AT91SAM9263EK之Linux内核写入DataFlash并实现自启

IOT开发 w3sun 1384浏览 0评论

前期准备

内核通过串口直接下载到内存可以运行证明我们的内核编译没有问题,Bootstrap和U-Boot、内核都在Dataflash里面,本文操作需要注意存储地址所处空间。用串口下载内核到指定位置启动过程显示正常,用sam-ba将bootstrap和u-boot、内核分别烧到板子上,地址分别是0x00、0x8000、0x40000,启动板子出现U-Boot启动信息:

错误诊断

开始的时候本文参考的是一篇网上流传的关于9260相关设置文章,大致步骤是没问题,但是其中有些参数设置需要自己动手来排查。

需要说一下dataflash的基地址,文档是中9260的基地址是0xd0000000,但是本文所用的板子和参考文献中的不一样,从下U-Boot的启动信息,可以看出其中有一句:

证明本文中板子的基地址是0xC0000000开始,手动拷贝内核到SDRAM中进行测试可以成功启动。

自启设置

进一步使用setenv设置启动语句:

//参考setenv uImage cp.b d0030000 21500000 15ffb0进行设置 
U-Boot>setenv bootcmd cp.b 0xC0040000 0x22200000 0x00151DF4\; bootm 0x22200000

其中0x00151DF4是本文裁剪完以后内核的大小,设置完成后重新启动板子:

内核自动加载完成。

转载请注明:雪后西塘 » AT91SAM9263EK之Linux内核写入DataFlash并实现自启

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址