编辑: ddzhikoi | 2019-08-02 |
, LTD . 利尔达单片机技术有限公司 WWW.LIERDA.COM 公司地址:杭州市登云路
425 号杭州利尔达科技大厦 Tel:0571-88800000 Fax:0571-89908519 第1页共68页利尔达科技有限公司技术一部 LSD SCIENCE &
TECHNOLOGY CO., LTD. MSP430 相关 Q&
A Question &
answer 版本号:V1.0 提交人:MSP430 项目组 整理时间:2009 年02 月LSD MCU TECHNOLOGY CO., LTD . 利尔达单片机技术有限公司 WWW.LIERDA.COM 公司地址:杭州市登云路
425 号杭州利尔达科技大厦 Tel:0571-88800000 Fax:0571-89908519 第2页共68页目录
第一章:开发工具类
第二章:指令系统
第三章:代码编程类
第四章:工作模式及功耗类
第五章:复位系统类
第六章:看门狗及定时器类
第七章:系统时钟类
第八章:LCD 显示驱动类
第九章:通信类
第十章:IO 端口类 第十一章:FLASH 存储类 第十二章:AD 转换类 第十三章:电源类 声明:所有问题均来自网络,部分答案也同样来自网路,答案仅供参考,并不能完全解决在使用中碰到的问 题.所以客户在使用 MSP430 单片机时还是以实际情况来决定. 如有任何疑问欢迎与我们联系:[email protected]、[email protected]、[email protected] LSD MCU TECHNOLOGY CO., LTD . 利尔达单片机技术有限公司 WWW.LIERDA.COM 公司地址:杭州市登云路
425 号杭州利尔达科技大厦 Tel:0571-88800000 Fax:0571-89908519 第3页共68页
第一章:开发工具类 Q1: 我自己做了一块 MSP430F149 的试验板, 以前用下载线进行调试没有出现过问题, 但是, 最近我每次 make 后用下载线调试时,总是弹出一个窗口,给我提示:Could not find target status. 然后就死到那儿了,请问这是 什么问题呢? A1:检查 Jtag 口线是否连接正常,如果 JTAG 口线连接正常,可能是供电不足,目标板加电再测试. Q2:我用的 430f22x 学习套件,请问在 IAR Embedded Workbench 中仿真时如何看程序运行时间. A2:只有软件模拟下可以看, VIEW-REGISTER-CYCLECOUNT Q3:请问各位 msp430 仿真器和编程器有什么区别啊?是不是我开发的时候这两个东西都得有?我目前用的是 msp430cg461x 系列或 msp430fg461x 系列,是不是很多仿真器和编程器都不支持? A3:一般来讲,仿真器是在先期调试程序时使用的,他不会烧断单片机熔丝,能把程序下载到单片机中,能 够单步,跟踪,快速调试.编程器就没有这些调试功能,就是单纯把你做好的程序的编译后文件写到单片机 中去,就和
51 的编程器一样,有加密熔丝烧断等功能,是在你产品成型后,生产时使用的 MSP430 的仿真器是使用 JTAG 接口的,分别有四线制的 JTAG、带TEST 脚的四线 JTAG 和两线制的 SBWJTAG 三种接口, UIF 上三种都支持, 并支持烧熔丝, UIF 就是 USB 接口的仿真;
PIF 不能支持 SBWJTAG 接口, 也不能烧熔丝, PIF 是并口的仿真器. 任何一种 JTAG 接口的仿真器在烧断熔丝后都不能再仿真和写入, 而BSL 可以通过密码访问 FLASH 空间,读出写入均可,BSL 是串口实现的,但BSL 不能仿真,注意部分器 件不支持 BSL,如F20XX 系列就不能用 BSL,烧掉了熔丝就变板砖. MSP430 任何系列的仿真器只要接口方式一致都是兼容的,比如 FG461X,可以使用标准的带 TEST 的四 线JTAG,而F22X4 也可以使用带 TEST 的四线 JTAG,当然 F22X4 还可以选择使用 SBWJTAG,它支持两种 JTAG 接口.如果不是 TI 标准的
430 系列用 JTAG 仿真器那就不行了,应该是不兼容的,不是什么 很多仿真 器和编程器都不支持 ,而是专用. Q4: 初次使用
430 单片机,F149 .高速晶振 8M,低速 32K,下载程序时出现 security fuse **own 字样,无 法烧录.请各位高人指点,应该是哪里有问题. A4: 手工复下位应该基本可以解决,除非芯片熔丝真被烧掉了.如果熔丝断了,可以用 BSL 方式写入程序. Q5: 运行到断点时程序不能自动结束,必须自己按 break.我这是程序跑飞了么? A5:是你断点设置的多了吧.你在程序中,只设置这一个断点试试 Q6:当在 RAM 中对其中一变量开辟的尺寸是
512 字节时,程序总占用 3.5K RAM 空间,可以正常烧到芯片中, 也可以正常运行;
当对同一变量开辟的尺寸是
1024 字节,而其它均未改变时,程序总占用 4.0K 左右 RAM 空间,可以正常烧到芯 片中,却无法运行!!!! A6:方法一 将一些变量定义成 no init 类型 方法二 修改 IAR 的cstartup.s43 程序,具体方法如下: (iar310a 为例)
1 将cstartup.s43 程序加载到用户自己的项目中,cstartup.s43 在iar310a 的路径如下$TOOLKIT_DIR$srcLIB
2 修改 cstartup.s43 中的__program_start 子程序,加入关闭看门狗的命令 MOV #0x5A80,&
0x0120
3 在Project->
Options->
Linker->
Config 页中选择Override default programe , 并将Entry lib 设置成__program_start LSD MCU TECHNOLOGY CO., LTD . 利尔达单片机技术有限公司 WWW.LIERDA.COM 公司地址:杭州市登云路
425 号杭州利尔达科技大厦 Tel:0571-88800000 Fax:0571-89908519 第4页共68页Q7: 请问 AR 编译器的 s43 文件用什么编辑器打开? A7:打开 IAR 编译器后就可以直接打开了;
另外,记事本也可以打开 Q8:怎么设置才能使
2274 内部 dco 产生稳定的 16M 的时钟信号,还有就是
2274 是不是提供 FLL+ 功能! A8:2XXX 没有 FLL+,但是 TI 在出厂芯片的时候已经做过出厂测试,你只要选择它头文件里的那个 16M 即可Q9:程序编译时提示:Warning[Pe001]: last line of file ends without a newline ,这是怎么回事啊,应该怎么改 呢? A9:敲个回车就可以了 Q10:过去用 435/436 等因为仿真的几要线和端口都没有复用.所以很轻松就搞定.现在
1232 的仿真口和 P1 口 是公用的,仿真时我把第一脚 TEST 接VCC,这样可以下载仿真了,可是发现这复用的几个 P1 口就不能执行其正 确的动作了,请教 A10:做仿真口的复用管脚在仿真时,被作为仿真功能管脚使. Q11:USB 仿真器下载汇编程序时没有问题,但是下载 C 语言程序时,出报警信息 如下: The stack plug-in failed to set a breakpoint on main .The stack window will not be able to display stack contents. (You can change this setting in the Tools>
Options dialog box. 在调试信息窗口出现 operation error. A11:调试 c 程序时 在Tools>
Options dialog box 中stack 要选中指向 main 函数处. 汇编和 c 要建不同的工程下调试. Q12:装了 MSP-FET430UIF 仿真器,但是在 AQ430 的Options 中,无法找到该仿真器,正常应该有 LPT1/LPT2/LPT3/TIUSB 四个选项,为什么看不到 TIUSB? A12:先看看硬件管理器中有没有那个硬件,有则先用 IAR 试试. Q 13:EZ430-RF2500 中的 USB debugging 可以调试 msp430 其他支持 Spy-Bi-Wire 系列的芯片吗? A13:可以. Q 14:用TI 的USB 仿真器,采用的是二线法.用SD_16 采集数据,发现连接仿真器输出的数据正确,而把 仿真器拔去,输出的数据就错了.这是为什么? A14:怎么理解这个数据正确和错误?你怎么下的判断?我认为是你 接仿真器的时候目标板是从仿真器上取 电的,拔掉仿真器是外部电源供电的,电源电压不同,将导致基准源改变,采样出来的值变化会很大. Q15:sd-fet430 uif 仿真器不能外供电吗? A15:可以,驱动电流较小,内部是光 MOS 管,要注意负载 Q16:430FET 下载出现问题时检查的一般思路 A16:在完全确定无虚焊、短路的情况下,一般注意以下事项: LSD MCU TECHNOLOGY CO., LTD . 利尔达单片机技术有限公司 WWW.LIERDA.COM 公司地址:杭州市登云路
425 号杭州利尔达科技大厦 Tel:0571-88800000 Fax:0571-89908519 第5页共68页
1、仿真器的
2、4脚电源
2、复位脚的RC电路
3、是否是SBW模式
4、JTAG复用引脚时注意外部电路的影响
5、外部有功率较大的器件,当下载时造成外部电路的功耗较大
6、JTAG线不能太长,一般在20CM以内比较合适
7、如果是 USB 的仿真器还要注意 USB 线不能太长,使用笔记本的还要注意 USB 上不能连接太多的负载 Q17:LSD-FET430UIF 仿真器,运用 IAR410 软件,器件是 F1121A,无法下载程序也无法仿真,直接将接口 线换在原来的 FETP430IF 上,把FET 设置换成并口后就可以,请问下,是什么原因造成的? A17:检查一下驱动安装对吧,另外再检查下 USB 提供的电源和 USB 线的信号,USB 提供电源不足或 USB 线的信号受到了比较强的干扰都会影响下载. Q18:
430 加密用的密码是中断向量的简单组合呢?还是中断向量的加密组合?还是用的中断服务程序入口地 址的简单组合?还是用的中断服务程序入口地址的加密组合? A18:是入口地址的组合(存放在中断向量处的数据),以前是简单组合,新的 5XX 就有些复杂了,用户自己 还可以定义密码. Q19:我的程序编译后,DEBUG 调试显示已成功 DOWN 到芯片里了,连着 EZ430 仿真器也能工作,但只要把 EZ430 脱开,PCB 重新上电,芯片怎么也不工作. 不知是什么原因? A19:2013 的RST 脚接
1 个上拉电阻就解决问题了. Q20:通过标准的 BSL 方式是不需要编写单片机程序的? 如果是的话,那自定义串口下载的优点和缺点 又是什么? A20: 用BSL 不需要自己编写单片机程序, 但需要另加入两根或
4 根编程线. 自己写升级程序直接使用串口, 但需要自己写自编程程序,此方式使用方便,还可以在线大批量升级,缺点是要占用 FLASH 空间,如果通 讯协议严谨,再加上密码保护之类的算法,消耗 2K的FLASH资源还是比较正常的,所以小 FLASH 容量 的就不推荐使用了. Q21:在编译程序时,总是出现这样的错误信息,该怎么样解决呀? Error[e46]: Undefined external main referred in ?cstart ( D:Program Filesiar430LIBCLIBcl430f.r43 ) 程序没有错误,是不是编译器本身有什么问题? A21:是汇编程序时,把OPTIONS 里的 ASSEM**ER ONLY ……选上. Q22:UIF 连接不到 F2274,RST 信号的电容已去掉,用并口能连接上,不稳定,这是为什么? A22:F22X4 支持两种 JTAG 接口,如果是 UIF 的话,个人建议使用 SBW 的,如果用
4 线制的话,会占用数 个复用端口,你说连不上是不是就是因为复用端口上连有外围设备造成 JTAG 无法正常工作了呢.检查一下. Q23:故障现象:有时 windows 能识别,多数不能识别;
提示 未知 usb 设备 ;
挑机器-换台机器可能好使;
升级失败;
这是什么原因? A23:1.使用 IAR 自动更新功能,只能通过 JTAG 口重新写入 f1612 程序. 2.EZ430 板上 TUSB3410 的复位脚 C9 电容小,增加到 2uF.最好增加旁路滤波电容,以提高电源质量. LSD MCU TECHNOLOGY CO., LTD . 利尔达单片机技术有限公司 WWW.LIERDA.COM 公司地址:杭州市登云路
425 号杭州利尔达科技大厦 Tel:0571-88800000 Fax:0571-89908519 第6页共68页Q24:使用
430 内置的 info flash 来存放一些配置信息.在用 fet 硬件仿真的时候,希望直接手动修改 memory 窗口中的的 info flash 的内容,但是老是弹出窗口说这些地址是不可访问等提示,请问有什么办法可以在硬件 仿真的时候, 直接修改 info 中的内容么? A24:flash 不能直接修改.这个得用编程器,仿真器或者软件编程修改 FLASH,你这样就能修改 FLASH 那也 太……嘿嘿…… Q25: IAR 如何查看生成的代码的大小 ? A25:编译后在信息窗口就是就可以提示,如果没有提示,请在 Tool/Options/Meassages/show build message:选为All 就行了. Q26:程序下不进去,用的仿真器是一头并口,一头
14 脚的 jtag,烧的时候总说找不到设备? A26:RST 连上,去掉上面的电容. Q27:给MSP430F149 仿真的 JTAG 能给 MSP430F2002 仿真吗? 我把腿都对应上了,但程序下不进去,说是找不到器件. 以前用同样的方法成功的给
449 仿真过! ! !难道
2002 用的是不同的 JTAG A27:并口仿真器支持 2002,不过只能使用四线 JTAG 方式,RST 引脚必须连接,而且不要有复位电容. Q28:430 如何将程序成功烧入?1.烧片子的具体的顺序? A28:首先 option 里得选择正确的芯片型号,还要在 Debugger 选项卡里的 driver 选择 FET_Debugger,在按工 具栏内的下载按钮(快捷键 ctrl+D) Q29:MSP430F22X 学习板 SBW 用访真器不能进行调试? A29: 原因可能两点 两线制是不能用并口访真器进行调试的,必须 USB 访真器 两线制 RST 并联的电容建议不接,否则造成程序无法正常下载 Q30:在研制带处理器的电子产品时,如何提高抗干扰能力和电磁兼容性? A30:
一、下面的一些系统要特别注意抗电磁干扰:
1、微控制器时钟频率特别高,总线周期特别快的系统.
2、系统含有大功率,大电流驱动电路,如产生火花的继电器,大电流开关等.
3、含微弱模拟信号电路以及高精度 A/D 变换电路的系统.
二、为增加系统的抗电磁干扰能力采取如下措施:
1、选用频率低的微控制器: 选用外时钟频率低的微控制器可以有效降低噪声和提高系统的抗干扰能力.同样频率的方波和正弦波,方波 中的高频成份比正弦波多得多.虽然方波的高频成份的波的幅度,比基波小,但频率越高越容易发射出成为 噪声源,微控制器产生的最有影响的高频噪声大约是时钟频率的
3 倍.
2、减小信号传输中的畸变 a、微控制器主要采用高速 CMOS 技术制造.信号输入端静态输入电流在 1mA 左右,输入电容 10PF 左右, 输入阻抗相当高,高速 CMOS 电路的输出端都有相当的带载能力,即相当大的输出值,将一个门的输出端通 LSD MCU TECHNOLOGY CO., LTD . 利尔达单片机技术有限公司 WWW.LIERDA.COM 公司地址:杭州市登云路
425 号杭州利尔达科技大厦 Tel:0571-88800000 Fax:0571-89908519 第7页共68页 过一段很长........