嵌入式arm学习总结(八)--存储知识-nandflash-norflash-基于MINI2440平台

s3c2440存储器地址 s3c2440 存储器地址映射  关系 在介绍内存工作原理之前有必要了解下存储设备的存储方式:ROM,RAM l ROM(Read-Only Memory):只读存储器,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,资料并且不会因为电源关闭而消失。如:PC里面的BIOS。在制造ROM的时候,信息(数 阅读详情


MINI2440   ram:4k , rom:没有
程序运行:sdram  ,norflash
程序存放:nandflash,norflash
nandflash和norflash最大区别:norflash可以片上运行程序(并行总线,引脚多),nandflash不能(串行总线,引脚少)
通常linux操作系统存放在nandflash里面

nandflash启动模式:开发板上电时,nandflash控制器把前4K代码复制到2440的内部4ksram中,然后通过硬件机制把2440内部4ksram地址映射到为0的地址开始,程序开始执行这4k代码
这4k代码包含功能:初始化sdram,复制nandflash中的代码到sdram中,然后跳转到sdram中运行

noflash启动模式:norflash也有同样的最前面的4k代码,只不过不需要复制到2440内部4ksram这个过程,因为norflash可以片上执行程序

上面所说的4K代码也就是包含了启动代码 
(其实启动代码可以小于4K或大于4K,但当大于4K时拷贝的4k代码里必须包含功能:初始化sdram,复制nandflash中的代码到sdram中,然后跳转到sdram中运行小于4k时复制的4k程序执行完启动代码后会跳转,剩下的空间不执行)


NANDFLASH的相关操作原理:
NANDFLASH的擦除操作
NANDFLASH坏区检测
ID号检测
坏区标识
任意地址区间的读写 :以前没有任意读写功能,现在升级了,但实际应用中读没问题,写可能会出错
读写校验


NandFlash的ECC校验过程总结:

写页操作: (8位的nandflash)

在写完一页数据后,硬件会自动产生4个字节的主区ECC,硬件自动存放到rNFMECC0里面,再编程保存(写)到Space区,
此时又会产生2个字节的Space区ECC,硬件自动存放在rNFSECC寄存器的低两字节里面 。再编程保存(写)到Space区,


读页操作: (8位的nandflash)
在读完一页数据后,也会产生四个字节的主区ECC,硬件自动存放到rNFMECC0里面, (等待与之前写数据的时候产生的主区ECC进行比较) 再读取之前保存在Space区的4个字节的主区ECC  (mecc0=NF_RDDATA();这时读完操作后又会产生两个字节的Space区的ECC,硬件自动存放在rNFSECC的低两字节里
面),放到寄存器rNFMECCD0和rNFMECCD1的bit0--7和bit16--23,放入后硬件会自动和读页操作时产生的主区ECC(放在NFMECC0寄存器里面)进行比较。再读取保存在Space区的两字节的Space区ECC(secc=NF_RDDATA();低2个字节为spare区的ECC值),放到寄存器rNFSECCD的bit0--7和bit16--23,放入后硬件又会自动和读操作时产生的Space区ECC(放在NFSECC寄存器里面的低两字节)进行比较,最后主区ECC、Space区ECC的比较结果可以通过NFESTAT0寄存器   的低四位来进行查询,判断读、写时分别产生的ECC是否相同,如果相同则说明读取数据成功,否则读取失败。 

16位的nandflash操作过程与8位相似,只不过16位的nandflash主区ECC为8个字节,存放在rNFMECC0和rNFMECC1两个寄存器里面 Space区ECC有4个字节,也是存在rNFSECC寄存器里面(8位nandflash只用到了低两字节)


具体详情可以参考S3C2440的nandflash控制器部分内容

nanoflann:nanoflann:C ++ 11的仅标头库,用于使用KD树进行最近邻居(NN)搜索 纳米法兰 1.关于 nanoflann是一个C ++ 11库,用于构建具有以下拓扑的数据集的KD树:R 2 ,R 3 (点云),SO(2)和SO(3)(2D和3D旋转组)。 不提供对近似NN的支持。 nanoflann不需要编译或安装。 您只需要在代码中#include <nanoflann> 。 该库是Marius Muja和David G. Lowe的( )的分支,并作为子项目而。 遵循原始许可条款, nanoflann根据BSD许可进行分发。 请,对于bug,请使用问题按钮或fork并打开请求请求。 引用为: @misc{blanco2014nanoflann, title = {nanoflann: a {C}++ header-only fork of {FLANN}, a library for Nearest Neighbor ({NN}) with KD-trees}, author = {Blanco, Jose Luis and Rai, Pranjal Kumar}, howpublished = {\url{ 立即下载

相关推荐

Bartender 2021破解版安装教程:手把手教你从下载到激活(附详细步骤图)

本文详细介绍了BarTender 2021专业版的安装与高效应用指南,从基础配置到高级条码设计,帮助用户快速掌握标签设计与打印技术。内容涵盖安装步骤、标签模板创建、数据连接与批量打印技巧,以及高级功能如安全策略与自动化集成,适合零售、物流、制造等行业用户提升工作效率。

p4q5r6s7t的博客 2643

探索高效近邻搜索:`nanoflann` 库详解与应用

探索高效近邻搜索:nanoflann 库详解与应用 项目地址:https://gitcode.com/gh_mirrors/na/nanoflann 项目简介 库的力量 在大数据和机器学习领域,高效的近邻搜索(Nearest Neighbor Search, NNS)算法是至关重要的。nanoflann 是一个轻量级、高度优化的 C++11 库,专为计算密集型任务设计,用于在高维空间中进行 Kd ...

gitblog_00054的博客 919

智能问数系统的完整技术栈与实现逻辑

提取并增强数据库 Schema(含业务语义)选择 LLM(开源 qwen2 / 商业 GPT-4o)构建 RAG 向量库(存储历史问法)实现 SQL 安全校验与权限控制添加结果自然语言解释 + 可视化部署到只读数据库环境🔑核心原则“先保证安全,再追求智能”—— 一个能生成错误 SQL 的智能问数系统,比没有更危险。

我们的征途是星辰大海 1624

Nor/Nand FLASH的读写

http://blog.163.com/charlie_quan/blog/static/13010104620091110953549/ 所谓Flash,是内存(Memory)的一种,但兼有RAM和ROM 的优点,是一种可在系统(In-System)进行电擦写,掉电后信息不丢失的存储器,同时它的高集成度和低成本使它成为市场主流。 Flash 芯片是由内部成千上万个存储单...

weixin_30788619的博客 963

(3万字深度解析)Kaggle《房价预测:高级回归技巧》详解复现攻略

在这篇教程式文章中,我们从零开始完成了 Kaggle《房价预测:高级回归技巧》比赛的复现工作,涵盖了数据预处理、特征工程、模型训练、调优、解释和融合的完整流程。深入理解数据:阅读数据描述,结合常识对每个特征作出合理处理(如缺失值填充’None’表示无此设施 、异常值剔除 等)。对目标和偏态特征进行对数变换,使分布更平滑,从而更好满足模型假设并提升准确度。特征工程:我们创造了总面积、总浴室等新特征,整合信息提高模型可学习性。

qq_38334677的博客 1771

Excel也能玩转K-means聚类?手把手教你用表格搞定用户分群(附完整公式)

本文详细介绍了如何在Excel中实现K-means聚类算法,无需编程即可完成用户分群。通过SUMIF、SQRT等基础函数,从数据预处理到最终分群全流程手把手教学,特别强调数据标准化和迭代优化的关键步骤,帮助运营团队低成本高效分析用户行为数据。

weixin_30555125的博客 181

【ARM裸板】Nand Flash编程

文章目录1.读芯片ID1.1 读芯片ID时序1.2 由ID数据获得芯片参数2.读数据2.1 NAND内部结构分析2.2 地址序列与时序2.3 读数据流程2.4 转换所读地址的列与页2.5 NAND等待就绪2.6 读取数据函数2.7 NAND重定位2.7 读数据测试3.擦除3.1 擦除时序3.2 地址和参数合法性3.3 擦除函数3.4 擦除数据测试4.写数据4.1 写数据时序4.2 写数据函数4.3...

淹死的鱼 2117

第一章 Cheat Enginee(CE)使用指南

Cheat Engine核心功能详细说明(以植物大战僵尸为例) 教你修改单机游戏。

m0_74545731的博客 1万+

S3C2440 flash 分区 nor nand FLASH区别(开发板启动时) 及 结构

nandflash 的分区表 对应于内核arch/arm/mach-s3c2440/mach-mini2440.c中(友善官网提供的2.6.32.2的移植内核) flash 分区 nor nand FLASH区别(开发板启动时) 及 结构" title="S3C2440 flash 分区 nor nand FLASH区别(开发板启动时) 及 结构" style="margin:0px; padd

duobaohongtu3的专栏 1884

做了一个3DTiles编辑器,支持3DTiles的预览和裁剪导出

3DTiles编辑器的功能极其简洁,核心就是3DTiles格式模型的预览和裁剪。为了演示方便,本文所使用的源数据为mipmap3d[1]网站所提供的无人机拍摄影像,并进行3DTiles构建。打开软件,输入的绝对路径之后,点击添加模型,就可以将模型加载进预览区。之后,点击裁剪模式按钮,默认会出现立方体裁剪框,可通过拖动句柄的方式去调整裁剪框的范围。同时,除了默认的盒体裁切模式外,还支持多边形裁切,点击多边形裁切后,可切换到顶视图,选择重绘多边形,可进行打点绘制。

兴趣使然的创作者 601

YOLOv11改进:引入SSA序列打乱注意力模块与MSCSA二次创新模块,适配目标检测、图像分类与实例分割

YOLOv11改进:引入SSA与MSCSA模块提升CV任务性能 摘要: 本文提出在YOLOv11中集成SSA(序列打乱注意力)和MSCSA(多尺度上下文序列打乱注意力)模块,以解决计算机视觉任务中的关键挑战。SSA通过序列打乱和局部窗口注意力机制,在降低计算复杂度的同时增强长距离依赖建模能力;MSCSA进一步引入多尺度上下文融合和动态序列打乱策略,优化了多尺度目标检测和实例分割的边界特征处理。这些改进有效解决了传统注意力机制在全局上下文建模、局部细节保持和序列顺序敏感性方面的不足。实验表明,该方法在目标检测

走向CTO的路上... 858

mini2440开发板一些硬件介绍(PTC、定时器、串口、中断控制器、SDROAM、Norflash、Nandflash)

mini2440开发板一些硬件介绍(PTC、定时器、串口、中断控制器、SDROAM、Norflash、Nandflash)

weixin_42492218的博客 2777

RK3588平台开发系列讲解(项目篇)常见模型结构

📢 AI 模型常采用人工神经网络来模拟人脑神经的记忆和处理信号的能力。常见的人工神经网络类型有深度神经网络(Deep Neural Network,DNN)、卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)等。

内核笔记 1758

嵌入式arm学习总结(六)--S3C2440体系架构学习总结

平台介绍:mini2440开发板,S3c2440主芯片 硬件信息 1.130个IO口,289个引脚17*17,BGA封装 2.电源 内核:1.25v 内存电源:1.8V GPIO:3.3v 3.芯片内部有4K字节的SRAM空间0x40000000-0x40001000; 4.s3c2440外部 主频:12M晶振 内部RTC晶振(时钟,万年历)32.768KHZ 5.复位电路

Andy Blog 2310

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Mini2440 存储器地址映射

Mini2440 存储器地址映射   在介绍内存工作原理之前有必要了解下存储设备的存储方式:ROM,RAM l ROM(Read-Only Memory):只读存储器,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,资料并且不会因为电源关闭而消失。如:PC里面的BIOS。在制造ROM的时候,信息(数据或程序)

u010245383的专栏 1944

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

S3C2440的存储控制器

S3C2440存储控制器特性: 1>.  s3c2440的存储器控制器为访问外部存储的需要提供了控制信号 (27位地址信号、32位数据信号、8个片选信号、以及读/写控制信号等) 查 S3C2440的手册可知S3C2440可寻址1G的地址范围,但是S3C2440的地址线只有27根,理论上只能寻址2的27次方等于128M的地址范围。那如何寻址1G的呢?S3C2440通过把存储管理系统分成8个Ban

RAM001 2413

3-arm裸机存储器控制器之SDRAM

SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存。内存的工作原理、控制时序、及相关控制器的配置方法一直是嵌入式系统学习、开发过程中的一个难点。我们从其硬件的角度来分析其原理,然后再引出SDRAM的驱动编写过程。 内存是代码的执行空间,以PC机为例,程序是以文件的形式保存在硬盘里面的,程序在运行之...

xunmengxiaozi的博客 884

Ubuntu 搭建2440环境

关于nor flash启动和nandflash启动,内存映射 添加链接描述

raoxu1154492168的博客 178

使用JLink烧写bin文件到Mini2440

我自己有一个Mini2440的板子,我学习了Bootloader这一节,想做一下实验。 很可惜,我只有笔记本电脑,不带并口的。不过我有一个JLinkV8,听网友们说可以有它来下载程序。 网上有不少的文章讲如何使用JLink烧程序到Mini2440,我总结了一下,主要的步聚如下: (1)下载init....

weixin_34372728的博客 167

nandflash

Mini2440 存储器地址映射   在介绍内存工作原理之前有必要了解下存储设备的存储方式:ROM,RAM l ROM(Read-Only Memory):只读存储器,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,资料并且不会因为电源关闭而消失。如:PC里面的BIOS。在制造ROM的时候,信息(数据

qq_29806621的博客 572

存储器

一  通用存储设备: 在介绍内存工作原理之前有必要了解下存储设备的存储方式:ROM,RAM l  ROM(Read-Only Memory):只读存储器,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,资料并且不会因为电源关闭而消失。如:PC里面的BIOS。ROM还可以细分为不可编程ROM,可编程ROM(PR

smfnjkgt的专栏 415

STM32----FLASH掉电保存动态平衡方案

      stm32是支持对自身Flash(code区)进行读写的。所以,在某些需要掉电保存的场合,我们可以利用这一特性节省一个外部的Flash或者EEPROM,对数据进行保存。     但是,如果需要经常性的保存数据,就会对固定地址的Flash进行频繁的擦写,大大损耗Flash的寿命。在这种时候,就需要用到动态平衡的方法进行处理了。原理:一、Flash擦写寿命       根据网上查阅的资料,...

a3748622的博客 1万+

嵌入式arm学习总结(一)--电子基础知识

2011年参加了linux-arm嵌入式培训班,虽然学费比较贵,但对于个人教育的投入,我感觉还是非常值的 。今天无意翻到了培训时候写的一些笔记,在此和大家分享一下,也作为自己的一个存档吧! (之前做的笔记有了一个大概的整理,现在也没有再去详细整理了,简单分类后在后续博客一起分享出来)

Andy Blog 2407

嵌入式arm学习总结(十)--嵌入式项目知识点总结--杂烩

1.什么叫项目:为完成某一独特的产品和服务所做的一次性努力 特点:一次性、独特性 三要素:时间,成本,质量 时间和成本的制约:增加采购次数、时间的长短与研发人员数量的投入、专职开发与闲时开发。 成本和质量的制约 时间和质量的制约 2.嵌入式项目中常用的通讯方式及特点: RS232、最大15米 RS485、可达1500米 WG26/34、50米以内 USB、

Andy Blog 2134

嵌入式arm学习总结(五)--RTC-TIME-PWM-Watchdog-AD-TP

                                                      RTC 常用RTC模块: PCF8563  IIC接口 DS302   SPI接口 DS87887  功能多,比较贵 BCD码: 十进制数 压缩BCD码,一个BCD码从0—9,需要4位二进制存储 以BCD,码存数的数 例如:0X59 表示59秒(直接是BCD值,即十进制数

Andy Blog 1843
上一篇: 嵌入式arm学习总结(七)--中断-基于S3C2440
下一篇: 嵌入式arm学习总结(九)--ARM启动代码总结-基于mini2440平台
杨毅
博客等级 码龄14年 26粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值