历史上的今天
今天是:2025年01月11日(星期六)
2020年01月11日 | MSP430常见问题之FLASH存储类
2020-01-11 来源:eefocus
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常见问题之指令系统类
下一篇:MSP430常见问题之电源类
史海拾趣
|
接触电阻是对通过闭合触点对的电流的阻抗。这种类型的测量是针对例如连接器、继电器和开关这样的器件进行的。该电阻通常非常小,范围从微欧到几个毫欧,因此需要采用4线测量法。可编程扫描仪通过将一组测试仪器切换至多个触点,大大缩短了测量时间 ...… 查看全部问答> |
|
我这里只提一些基础的入门概念,给真正的入门者起一点抛砖引玉的作用。 一块我们刚刚从商家手里拿到的单片机芯片,还是一块空白,什么也做不了。如同一个刚出世的孩子,我们开发人员要做的,就是教会单片机处理各种各样的问题,给单 ...… 查看全部问答> |
|
谁有evc编的串口程序RTU帧格式发送的数据,有的给小妹一份啊!求救!100分求源代码 邮箱:chenyuechong@yahoo.com.cn 谢谢各位兄弟姐妹了,代码要在XP系统上能运行的,网上的我都不能运行!谢谢… 查看全部问答> |
|
wce5 基于mfc的对话框程序, 启动的时候如何让其隐藏?尝试了windows的方法不支持啊。 如题。求解。 wce5 基于mfc的对话框程序, 启动的时候如何让其隐藏?尝试了windows的方法不支持啊。 总是要闪一下才隐藏。… 查看全部问答> |
|
请教高手 调试液晶1602c时老是不能正确显示,显示单个字符A时只能显示出 ||,然后两个横杠就没了,请问是什么原因。 另外看很多例子检查液晶忙时都检查都检查数据口第8位,并且先送0FFH到数据口,为什么?不送0FFH可以 ...… 查看全部问答> |
|
内容简介 本书讲述了TMS320F2812芯片的基本特点、硬件结构、内部功能模块的基本原理等内容,并在结合应用实例的基础上详细阐述了各功能模块的应用。同时专门针对电机控制领域的应用,详细介绍了基于TMS320F2812数字信号处理器的永磁同步电机控制系 ...… 查看全部问答> |
|
我是想通过P1.3的按键控制P1.0口接的led的光强。实现步进调节的功能。小弟刚接触430几天,英语不好,手册看的头大。。 贴下程序看下哪里有问题。 好像现在是按键可调,但不是步进调节,光强是乱变的。 在这小弟先谢过大神了。 #include ...… 查看全部问答> |




