flash芯片

作为一个新人,怎样学习嵌入式Linux,(韦东山)

為{幸葍}努か 提交于 2019-11-28 01:47:45
还有一个比较好的文章,写的是具体的怎么按照韦东山的书和视频进行学习的。网址 https://www.zhihu.com/question/47881392 很早以前在网上看到的韦东山老师写的文章,复制到自己的博客,方便自己以后看。 在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。 C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。 学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。以前我是用 VC来练习C语言的,经常去尝试着写一些C语言竞赛的题目。它们是纯C、纯数学、纯逻辑的题目,不涉及界面这些东西, 很适合煅炼你的编程能力。 回到主题,首先我们要明白你的目的是什么,大概来说所谓嵌入式Linux可以分为两部分:底层系统、应用开发。 如果你是想做应用开发,那么你去把C语言、数据结构、JAVA什么的学好吧。嵌入式应用开发和PC上的 应用开发并没有什么特别要注意的。也许你说在嵌入式上要做些优化,是的,要优化,但是未经优化的程序 和PC上的程序开发没什么差别。另外,当你有能力去优化时,你已经不用来问这个问题了。具体到某个例子, 比如说开发界面,在PC上我们用VC;在嵌入式Linux里也许我们用QT也许用Android

TMS570学习3-内部Flash编程

五迷三道 提交于 2019-11-27 13:01:05
QQ:971586331 软件环境: 操作系统:windows 10 IDE:CCS7.4 代码生成工具:HALCoGen 04.07.01 Flash操作库:F021FlashApi-02.01.01 硬件环境: 目标板:TMDS570LS31HDK 本文内容:描述了TMS570系统芯片内部flash编程方法 1.新建CCS工程 按TMS570学习1中的流程新建工程boot_test。 2.安装F021库 在TI官网下载F021库, HERCULES F021FLASHAPI ,下载后是一个exe,安装完后是下面这样 include:API接口的头文件 source:用户自定义的回调,只有一个Fapi_UserDefinedFunctions.c文件,文件中只有一个函数Fapi_serviceWatchdogTimer,根据描述,这个函数会在擦除,写和读时被调用,可以在函数中喂狗,防止flash操作时间太长导致复位。 lib文件:lib文件分三类,M3_BE,R4_BE和R4_LE,BE是大端模式,LE是小端模式,我们用的TMS570是大端模式(可以通过读ENDIAN_REG寄存器得知),所以我们使用R4_BE。 SPNA148.pdf:这个文档是操作flash的例子,里面有操作代码和流程图 SPNU501G.pdf:这个文档是API说明 3.移植F021库 将include目录

Nand flash 三种类型SLC,MLC,TLC

╄→尐↘猪︶ㄣ 提交于 2019-11-27 08:14:58
从前,大家谈TLC色变;如今,TLC攻占SSD半壁江山。是的,这个世界就是这么奇妙。 虽然TLC早已占据主流地位,但传言多了、百度多了,不少消费者还是抱有“怕”的态度,下面我们就来详细了解TLC。 转载: http://diy.pconline.com.cn/750/7501340.html TLC是什么? 固态硬盘就是靠NAND Flash闪存芯片存储数据的,这点类似于我们常见的U盘。NAND Flash根据存储原理分为三种,SLC、MLC、TLC。 SLC = Single-Level Cell,即1 bit per cell,1个存储器储存单元可存放1 bit的数据,只存在0和1两个充电值。以此类推,TLC = Triple-Level Cell,即3 bit per cell,1个存储器储存单元可存放3 bit的数据。 单位容量的存储器,可以存储更多的数据,所以TLC每百万字节生产成本是最低的。 TLC工作原理: 小编尽量用通俗语言解释。根据NAND的物理结构,NAND是通过绝缘层存储数据的。当你要写入数据,需要施加电压并形成一个电场,这样电子就可以通过绝缘体进入到存储单元,此时完成写入数据。如果要删除存储单元(数据),则要再次施加电压让电子穿过绝缘层,从而离开存储单元。 所以,NAND闪存在重新写入新数据之前必须要删除原来数据。 由于TLC的1个存储器储存单元可存放3