uboot移植nor-flash

本文介绍了如何解决uboot移植到nor-flash过程中遇到的问题。首先确认硬件无误,然后在uboot命令行读取flash ID,发现报错。通过查阅数据手册,发现xt25f128b与winbond w25qxxx系列兼容。在代码中定位问题,更新spi_flash_ids数组,添加新flash特性,并修改设备树中的flash型号。最终,成功移植并验证了nor-flash。
摘要由CSDN通过智能技术生成

首先确认硬件是否正常,flash有无虚焊

开发板使用一个已经可以正常启动的 uboot 镜像,直接进入 uboot 的命令行,输入 sf probe

这时 uboot 会去读取 flash 的 id ,如果 uboot 中没有对应 flahs 的 id 号,就会报以下的错误

SF: unrecognized JEDEC id bytes: 0b, 40, 18 // 0b, 40, 18 是 flash 的 id

移植一个新的 flash 需要做的事情很简单,将 flash 对应的 id 和一些特性加入到 uboot 中就可以了

本人需要移植的 flash 为 xt25f128b,经过查询数据手册,发现和 winbond w25qxxx 系列的 flash 兼容性很高,硬件特性、指令基本一样

于是觉得基于 w25qxxx 系列进行移植

定位问题

在代码中搜索报错的位置

static const struct spi_flash_info *spi_flash_read_id(struct spi_flash *flash)
{
   
	...
	tmp = spi_flash_cmd(flash->spi, CMD_READ_ID, id, SPI_FLASH_MAX_ID_LEN);
	...

	info = spi_flash_ids;
	for (; info->name != NULL; info
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值