Flash基础入门之TI DSP6657—Nand Flash 程序固化
小标 2019-03-12 来源 : 阅读 1734 评论 0

摘要:本文主要向大家介绍了Flash基础入门之TI DSP6657—Nand Flash 程序固化,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

本文主要向大家介绍了Flash基础入门之TI DSP6657—Nand Flash 程序固化,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

Flash基础入门之TI DSP6657—Nand Flash 程序固化

开发嵌入式DSP程序的时候,最终生成的可执行程序格式为.out , .out是TI CCS中一种二进制可执行程序的格式。在调试阶段,只需要DSP开发板通过JTAG仿真器连接到PC上,  在PC端通过CCS直接将.out下载到DSP芯片的RAM中,点击Run即可执行。


但是,一旦DSP要脱离PC,仿真器, 就不能采用上面下载.out的方式,因为RAM的性质的掉电丢失的。 这时候,就需要将生成的程序保存在FLASH芯片中,Flash芯片的掉电不丢失的。下面将完整介绍DSP程序固化的流程。


RAM与ROM,FLASH区别


RAM与ROM区别


ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。


RAM的类型


RAM 有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。


ROM的类型


ROM也有很多种,PROM是可编程的ROM,PROM和EPROM (可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦除,价格很高,写入时间很长,写入很慢。


举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。


FLASH芯片


FLASH 存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM 的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。


FLASH的分类


目前Flash主要有两种NOR Flash和NADN Flash


NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。


NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。(本次固化就是在Nand Flash芯片中)


开发环境/工具


EVM 6657评估板


TI XDS200 USB 仿真器


Flash烧写工具


CCS v8


windows 10


DSP程序启动


DSP启动流程


上电之后,程序指针会自动指向ROM中一个称为Bootloader的小程序, 这段程序使得DSP在上电之后进行一些初始化操作,然后根据期间配置的不同选择从外部存储器或者主器件中搬移代码。C66x系统DSP片内Bootloader的起始地址固定为0x20B00000


DSP启动方式


为了适应不同系统的需求,TI公司的C66x系列支持的自启动模式包括:


SPI


I2C


EMAC


SRIO


PCIE


EMIF16


Nor Flash


Nand Flash


具体采用哪种启动方式由BOOTMODE[12:0] 引脚决定,DSP在上电脱离复位以后会读取这些引脚的状态,Bootloader根据引脚的值来选择相应的启动方式。


TI DOC


TI DOC


基于Nand Flash的程序启动


TI DOC


实验


step1. 准备好烧写软件


CCS v8


待烧写的.out


烧写工具


首先,在TI官网论坛下载一个Boot example,包含Nand boot。  EVM板子拨码开关拨到No boot模式。


image.png


image.png


step2: 转换生成的.out


在转换之前,需要进行一些配置。



image.png


设置mcsdk多核开发套件的路径


image.png


rmd文件配置


length需要根据.out的大小调整 ,其他不用变


image.png


image.png


配置好之后,运行.bat文件,自动生成一些文件。nand Flash烧写需要用到 .dat文件。


image.png


step3:将转换之后的.out(.dat)烧写到Flash芯片中


首先,打开一个工程,进入到Debug模式



image.png


image.png


然后加载烧写工具 nandwriter.out



image.png


image.png


将.dat加载到SL2内存中,load memory,加载到指定的地址。



image.png


image.png


image.png


image.png


这里内存内容将写入的Flash芯片中。



点击run,  将遍历加载到Expressions窗口



image.png


image.png


将dataSizeUint32设置为.dat 的大小 (10进制), 然后程序继续自动运行。  程序自动将  0x0c000000起始的内容,某个size的大小搬移到Flash芯片。


image.png


这样Flash芯片就烧写成功。


step4:重新上电


板子拨码开关拨到Nand Boot模式


上电之后,复位


这样,程序就自动启动成功。


End



              

以上就介绍了Flash的相关知识,希望对Flash有兴趣的朋友有所帮助。了解更多内容,请关注职坐标常用软件Flash频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程