Q1:用IAR Embedded Workbench for MSP430 通过JTAG往MSP430上写程序。为了知道片内程序的版本,必须读出Flash 中内容。什么工具软件可以通过JTAG口实现这个功能?
A1:熔丝未烧断的话,做个空程序的项目,然后在C-SPY选项里选择保留未改变的区域,DEBUG后看MEMORY里的内容!熔丝烧断的话只能用编程器或BSL,如果加密了,只能通过BSL来读了,不过你要知道中断向量表的32个字节的内容,即密码。

Q2:MSP430F449中我想把一个整形的数A存入某地方掉电也不丢失,作为以后程序运行的参数。是放在flash里面吗?用代码怎么实现?
A2:如果只是个巴字节的话就把它作为数组或者变量定义到FLASH就可以了。如: const unsigned char Value@0x0C000;

Q3: 430里面Flash的主存储区和信息存储区有什么区别么?是不是程序是保存在主存储区里面的?那信息存储区是存什么信息的呢?存进去之后是不是随时能够读写出来呢?
A3: Flash分主Flash和信息Flash。如你所说,Flash主存储区主要来存储程序。信息Flash就是保存数据用的,可以随时读取。不过从物理特性而言他们是一模一样的,就段的长度有区别。当然信息段你也可以用来存储程序使用。

Q4:在flash 单字节写的时候,如我写在D区,可以不用全部清D区吗?因为D区还有先前保存的数据.
A4: 不可以。只能先读出然后全部擦除再重新写入,如果FLASH可以如您说的那么操作,那就是EEPROM了

Q5: 目前使用的单片机是5V供电,买的flash存储芯片3.3V供电,单片机和存储芯片的连接是怎么的呢?我查看一些相关资料,说是可以直接连接,但是直接连接有问题,请问如何连接??需要什么样的方法??
A5: 最好在FLASH与MCU之间接一个电平转换芯片, 或者用MOFET管转换一下电平。

Q6:请问擦写FLASH 选择频率时,有没有要特别注意的,如果我用8M的,不分频,这样可以吗?
A6:要注意啊,擦写Flash的频率在250~470K(具体可以查查手册);必须对FCTL2进行设置,使频率在这个范围内。

Q7: 用jtag接口往430 中写程序会不会破坏原有flash信息段保存的数据啊?
A7:取消擦除信息段选项,即在IAR project 的options 选项中DEBUG 下的选项。

Q8:从数据手册上来看,在写的过程中,好像要求判断BUSY位来决定接下来的操作,可是为什么TI的例程里面没有判断BUSY bit ?是不是MCU会自动判断?
A8:430对FLASH的写操作多种。比如块写(××OCKWRITE)和字节/字写(BYTE/WORDWRITE),在不同模式下,允许写的操作也不同。比如在字节写(BYTE WRITE)操作下,允许在FLASH MEMORY或在RAM下进行。当在FLASH MEMORY下进行写操作时,此时CPU是挂起的,直到写操作完成它才能执行下一个指令操作,但是当擦除程序是在RAM内初始化的,那么CPU就可以一直执行,如果不判断BUSY位的话,当RAM内代码执行完毕(us级),PC跳转到FLASH,而此时FLASH还再做擦除操作(ms级)就会造成非法访问,产生不可屏蔽中断。

Q9:MSP430的编译器默认是将数组定义在RAM 里面。请问如果我要将定义的数组直接保存在flash里面应该如何定义呢?是不是要修改编译器的某个配置信息,然后直接用const 定义呢?
A9:这个如何分配,以及用什么关键字都是由编译器决定的,如果你用的是IAR Embedded Workbench for 430,那再在数组声明的时候,前面加一个CONST那么在编译的时候就会将数组分配到FLASH空间。如果不加const默认的情况是分配到RAM空间的。

MSP430常见问题之FLASH存储类相关推荐

  1. Lora开发板Flash存储读写

    · 本文会介绍如何用Lora开发板一步步实现Flash存储读写(基于STM32L151C8T6芯片) 一.看题 二.读题,明白我门最终要实现成什么样的效果        题目的要求就是板子通上电,LE ...

  2. 内存(RAM或ROM)和FLASH存储的真正区别总结

    内存(RAM或ROM)和FLASH存储的真正区别总结 1.什么是内存      什么是内存呢?在计算机的组成结构中,有一个很重要的部分,就是存储器.存储器是用来存储程序和数据的部件,对于计算机来说,有 ...

  3. 总结内存(RAM或ROM)和FLASH存储的真正区别

    本文主要向大家介绍了内存(RAM或ROM)和FLASH存储的真正区别,通过具体的分析,让大家能够了解它们,希望对大家学习内存(RAM或ROM)和FLASH存储有所帮助. 1.什么是内存 什么是内存呢? ...

  4. 物联网竞赛NB-IoT模块开发——计数器系统(Flash存储)

    核心代码 源码下载地址 物联网竞赛NB-IoT开发--计数器系统(Flash存储)-Flash文档类资源-CSDN下载

  5. uClinux 平台下的Flash存储技术(转)

    摘要:本文较为详细地介绍了嵌入式操作系统uClinux平台下的Flash的存储技术,并给出了基于三星S3C4510系统下Flash存储器的具体设计实例. 关键字: Flash存储器:uClinux:S ...

  6. 利用数据寿命增加基于闪存的存储类存储器的使用寿命

    本文提出在闪存闲置时利用保留时间的能力,以提高SSD中SLC的使用寿命.主要思想是,作为大多数I / O数据典型的工作负载不需要大于几天的保留时间,我们可以在单元格中使用多个部分程序状态,并且每两个状 ...

  7. 《C Primer Plus》读书笔记——存储类、链接和内存管理

    背景 距离上次写读书笔记的日子已有半个月了.这段时间一直在做摄像头直立平衡车,也把<C Primer Plus>的中级部分扫了一遍.现在做赛道算法识别遇到瓶颈了,就想把读书笔记补回来.原计 ...

  8. c++ static 存储类

    static 存储类 static 存储类指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁.因此,使用 static 修饰局部变量可以在函数调用之间保持 ...

  9. Flash存储控制器组成!(flash)

    Flash存储控制器组成 Flash存储控制器(Flash Memory Contoller.FMC)包括AHB从接口.Cacte存储控制器.Boot Loader.Flash控制寄存器.Flash初 ...

最新文章

  1. 从Java类库看设计模式
  2. centos7安装ansible
  3. Tensorflow深度学习应用(进阶篇)-回归(函数拟合训练)-可视化
  4. 为什么简单的删除集合中的元素竟然报错了?
  5. 从零开始实现数据结构(二) 有序数组
  6. 如何防止线程死锁java_Java 并发编程:如何防止在线程阻塞与唤醒时死锁
  7. 多线程总结之旅(1):线程VS进程
  8. Atitit 二进制数据字节转字符串 base64 base16 Quoted-printable BINHEX
  9. delphi2010 窗体使用技能总结
  10. 豪华酒店介绍预订网站模板,里面总共7个页面,适合酒店预订相关网站模板下载。
  11. 迅雷离线网页版API
  12. php日期自动加一天,php 当前日期加一天和指定日期加一天
  13. Java 岗面经:两年半经验,面 10 个公司,经 28 轮面试,拿 9 个 offer,涨麻了。
  14. 【仿真建模】第一课:AnyLogic入门基础教程 - 行人库入门讲解
  15. Base64(本地存储加密解密)
  16. Vue.js前端开发实战总结(1)
  17. w7设置双显示器_教你怎么设置Win7系统双显示器多屏幕模式
  18. Vue手脚架的配置以及使用
  19. XD交互原型能导出html,设计师必学!教你用Adobe Xd轻松做原型设计
  20. 光脚丫思考Vue3与实战:第04章 模板语法 第03节 指令的修饰符

热门文章

  1. 从零使用qemu模拟器搭建arm执行环境
  2. adminLTE 教程 -4 轮播控件
  3. HADOOP2单机版
  4. 其他OJ 树型DP 选课
  5. Oracle+Python适合 Oracle DBA 使用的 Python
  6. Linux简介、什么是Linux
  7. linux vi文本类常用命令
  8. asp创建mysql表_asp创建数据库表
  9. Linux grep命令——文本搜索工具
  10. P3868 [TJOI2009]猜数字(CRT板子)