u-boot-2016.11移植nandfalsh(基于s5pv210)

u-boot移植中flash无法读id的问题 今天flash终于可以正常识别了,找了一个星期的原因,原来是flash的头文件中定义有问题,导致flash不能读取ID,我的Flash型号是SST39LV6401B,16位总线宽度,8MByte存储空间。详细问题是这样的:在u-boot启动时会提示## Unknown FLASH on Bank 0。我用Source Insight 3.5建立工程,看u-boot的源文件。说实在话 阅读详情

一、移植nandflash

nand初始化的函数是在board_init_r中被调用

vim common/board_r.c

#ifdef CONFIG_CMD_NAND
        initr_nand,
#endif
#ifdef CONFIG_CMD_ONENAND
        initr_onenand,          /* modied by Sourcelink */
#endif

u-boot一开始定义了CONFIG_CMD_ONENAND在smdkv210.h中

vim include/configs/smdkv210.h

#define CONFIG_CMD_NAND         /* modied by Sourcelink */
#define CONFIG_CMD_REGINFO
#undef  CONFIG_CMD_ONENAND      /* modied by Sourcelink */

进入init_nand函数中发现调用了nand_init函数,通过追踪发现CONFIG_SYS_NAND_DEVICE没有定义

vim drivers/mtd/nand/nand.c

        for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++)
                nand_init_chip(i);


在smdkv210.h中添加该宏CONFIG_SYS_NAND_DEVICE

/*
 * NAND Contoller driver
 */
#ifdef CONFIG_CMD_NAND                  /* add by Sourcelink */
#define CONFIG_SYS_MAX_NAND_DEVICE      1
#endif

编译发现没有定义宏CONFIG_SYS_NAND_BASE

#ifdef CONFIG_CMD_NAND                  /* add by Sourcelink */
#define CONFIG_SYS_MAX_NAND_DEVICE      1
#define CONFIG_SYS_NAND_BASE            0xB0E00000
#endif

再次编译,还是出错,onenand_mtd和board_nand_init又没有定义,查看common/Makefile
vim common/Makefile

obj-$(CONFIG_ENV_IS_IN_NAND) += env_nand.o
obj-$(CONFIG_ENV_IS_IN_NVRAM) += env_nvram.o
obj-$(CONFIG_ENV_IS_IN_ONENAND) += env_onenand.o

我们需要把环境变量保存到nand,所以屏蔽掉CONFIG_ENV_IS_IN_ONENAND,并定义宏CONFIG_ENV_IS_IN_NAND

vim include/configs/smdkv210.h 
#define CONFIG_ENV_IS_IN_NAND           1       /* add by Sourcelink */

#if 0
#define CONFIG_ENV_IS_IN_ONENAND        1
#endif
[uboot]支持env保存到Nor Flash 1 概述 uboot在命令行界面可以查看、更改flash中相关的环境变量,这些环境变量可以用于uboot本身进行相关设置,也可以被kernel识别,用于完成特定的配置。 本小节主要讲述如何通过配置将环境变量保存到Nor Flash中。 1.1 环境变量的概念 可以理解为用户对软件的全局配置信息,这部分信息应该可以从永久性存储器上读取,能被查询,能被修改。   启动过程中,应该首先把环境变量读取到合适的内存区域,然后利用环境变量初始化硬件、启动操作系统等等。... 阅读详情

相关推荐

裸奔程序7(一)-NAND芯片的读写及ECC检验软硬件实现

对TQ2440上NAND芯片的读写进行了分析,同时对ECC检验算法进行了彻底的研究,对S3C2440中NAND控制寄存器进行了深入研究,对ECC校验进行了软实现和S3C2440上的硬实现。

lzj13151558266的专栏 2227

S5pv210烧写内核到NANDFLASH

S5pv210烧写内核到NANDFLASH byitsir_cheng tinys5pv210的开发板利用u-boot中的nand命令把SDRAM中的uImage烧写到nandflash的第3块分区,地址0x60000-0xC00000,共5M。 步骤: 1.加载uImage到SDRAM。 tftp0x20008000 uImage 把uImage加载到SDRAM的

虎皮猫大人 875

S5PV210处理器nandflash裸机操作详解

S5PV210处理器nandflash裸机操作详解,非常有用! 是PDF文档,包含三篇。

告别JSON!Anthropic发布Tool Calling 2.0,Agent上下文消耗骤降80%

Anthropic发布ToolCalling 2.0更新,彻底革新AI Agent开发模式。四大核心特性:1)程序化工具调用,允许模型直接输出可执行代码替代JSON交互,降低30-50%Token消耗;2)动态网页过滤,自动清洗网页内容减少24%无效信息;3)工具搜索机制,按需加载工具定义,最高优化80%上下文窗口;4)工具使用示例,通过Few-Shot示范提升复杂表单处理准确率至90%。这一升级将Agent范式从"大模型作为路由"推进到"大模型作为引擎",但需注意代

老孙 | Ethan Sun 的博客:AI 智能体与 AI 原生软件的工程实践 794

手把手教你用Gazebo插件实现阿克曼底盘仿真(附Navigation2适配指南)

本文提供了一份完整的ROS2 Navigation2与Gazebo阿克曼底盘仿真全栈指南。从阿克曼运动学原理出发,详细讲解了如何构建URDF/SDF模型、集成gazebo_ros_ackermann_drive插件并进行PID调优,并重点阐述了如何深度适配Navigation2,包括配置Ackermann运动模型、调整规划器与恢复行为,最终实现从建图到自主导航的全流程仿真。

weixin_29310631的博客 398

用PY32F003F18的PWM互补输出驱动无刷电机,保姆级配置流程(含代码)

本文详细介绍了如何利用PY32F003F18微控制器的TIM1定时器配置PWM互补输出功能来驱动三相无刷电机,涵盖硬件设计、代码实现及六步换相算法。通过保姆级配置流程和实用代码示例,帮助开发者快速掌握无刷电机驱动技术,适用于工业自动化和消费电子等领域。

weixin_26905487的博客 378

大数据分析案例-基于决策树算法构建世界杯比赛预测模型

本项目旨在分析往届世界杯比赛数据,找出规律,最后使用决策树算法构建世界杯比赛预测模型,给出两个球队即可预测胜率,可以给爱看球的小伙伴提供一个参考。本次实验我们使用了2018年及其之前的世界杯比赛数据,通过建立决策树模型,模型准确率为82%,接着我们使用该模型预测了2022年世界杯的5场半决赛及决赛,模型准确率也是接近80%的,说明模型效果还是很不错的。心得与体会:通过这次Python项目实战,我学到了许多新的知识,这是一个让我把书本上的理论知识运用于实践中的好机会。

m0_64336780的博客 1万+

高通 vs MTK vs 海思:三大平台 ISP 架构横向对比与实战差异分析

随着移动影像能力成为智能终端差异化竞争的核心维度,ISP(Image Signal Processor)架构日益重要。高通、MTK、海思三大 SoC 厂商在 ISP 设计上各具特色,不仅在图像处理链路、模块集成度、算法加速路径等方面存在显著差异,同时也决定了终端厂商在成像质量、调试复杂度与扩展能力上的实际表现。本文将基于真实平台项目经验,横向对比三大主流平台的 ISP 架构关键指标,系统分析其在实际开发过程中的能力边界、工程成本与调优空间,帮助工程师更精准地进行平台选型与优化策略制定。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 3929

Android Camera MTK框架

Camera简介: 虽然前文说道Android在5.0之后就推出了Camera2 API,但是各个厂家的基本未适配,导致目前市场上大部分机型使用的仍然是Camera1 API。PS:Android 9.0 Google强制要求各个平台厂商(高通/MTK/华为等)支持Camera2,不再兼容Camera1。 ...

weixin_49303682的博客 5507

手撕Lua字节码:从黑盒到透明

lua 字节码 怎么‘手撕’一个 chunk 看看里面啥样?我手里有一个.luac或出来的二进制字节码,想知道里面到底是什么结构、哪些字段、有哪些指令,怎么一步一步“拆箱”,从一个黑盒变成有迹可循的东西?也就是:不满足于只会loadpcall而是想亲眼看看一个 chunk 内部长啥样,甚至写点工具把它解析出来。这篇就用带你从“拿到一坨.luac不搞高深玄学,尽量让你看完就能自己动手。注:以 Lua 5.3/5.4 为主,细节各版本略有不同,但大体套路是一致的。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 99

CesiumForUnreal实现鹰眼地图(MiniMap)效果

CesiumForUnreal实现鹰眼地图(MiniMap)效果

专注GIS开发 3951

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: u-boot-2016.11移植u-boot.bin
下一篇: u-boot-2016.11移植网卡(基于s5pv210)
Sourcelink
博客等级 码龄12年 31粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值