版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LSD MCU TECHNOLOGY CO. LTD.了 利尔达单片机技术仃阳公诃WWW丄IERDA.COM利余达科技有限衣司枚术一部LSD SCIENCE & TECHNOLOGY CO. LTD.NKP430 相关 Q&AQuestion & answer版本号:Vl.o提交人:MSP430项目组 整理时间:2009年02月公司地址:杭州帀登云路425号杭州利尔达科技大厦Tel:0571-S8800000 Fax1页共68页LSD MCU TECHNOLOGY CO. LTD.利尔达唯片机技术仃限公司WWW.LIERDA.COM公司地址
2、:杭州M红厶路425号杭州利尔达科技人厦Tel:0571-S8800000 Fax:0571-S9908519第2页共68页LSD MCU TECHNOLOGY CO. LTD.公司地址:杭州M红厶路425号杭州利尔达科技人厦Tel:0571-S8800000 Fax:0571-S9908519第2页共68页LSD MCU TECHNOLOGY CO. LTD.第一章:开发工具类 第二章:指令系统 第三章:代码编程类 第四章:工作模式及功耗类 第五章:复位系统类 第六章:看门狗及定时器类 第七章:系统时钟类 第八章:LCD显示驱动类 第九章:通信类 第十章:10端II类 第十一章:FLASH存
3、储类 第十二章:AD转换类 第卜三章:电源类声明:所有问题均来自网络,部分答案也冋样来自网路,答案仅佻参考,并不能完全解决在使用中碰到的问 题。所以客户在使用MSP430单片机时还是以实际情况来决定。如右任何就问欢迎与我们联系:haoqiang、 gufeng、chenbing公司地址:杭州M红厶路425号杭州利尔达科技人厦Tel:0571-S8800000 Fax:0571-S9908519第2页共68页LSD MCU TECHNOLOGY CO. LTD.利尔达唯片机技术仃限公司WWW.LIERDA.COM公司地址:杭州市住云路425号杭州利尔达科技大厦Tel:0571-S8800000
4、Fax4页共6 8页LSD MCU TECHNOLOGY CO. LTD.利尔达唯片机技术仃限公司WWW.LIERDA.COM开发工具类Q1:我门己做了 块MSP430F149的试脸板,以前用卜我线进行调试没仃出现过问题,但是,最近我每次make 后用卜载线调试时,总是弹出一个窗II,给我提示:Could not find target status.然后就死到那儿了,请问这是 什么问题呢?A1:检查Jtag I I线是否连接正常,如果JTAG I I线连接正常,可能是供电不足,目标板加电再测试。Q2:我用的430f22x学习套件.请问在IAR Embedded
5、Workbench中仿真时如何看程序运行时间.A2:只有软件模拟卜可以看,VIEW-REGISTER-CYCLECOUNTQ3:请问*位nisp430仿真器和编程器仃什么区别啊?是不是我开发的时候这两个东西都得仃?我口前用的是 msp430cg461x系列或nisp430fg461 x系列,是不是很多仿真器和编程器都不支持?A3: 一般来讲,仿其器是在先期调试程序时使用的,他不会烧断单片机熔丝,能把程序卜载到单片机屮,能 够单步,跟踪,快速调试。编程器就没仃这些调试功能,就是单纯把你做好的程序的编译后文件写到单片机 中去,就和51的编程器一样,冇加密熔丝烧断等功能,是在你产品成型后,生产时使用
6、的MSP430的仿真器是使用JTAG接I I的,分别冇四线制的JTAG、带TEST脚的四线JTAG和两线制的 SBWJTAG三种接I I, UIF I.三种都支持,并支持烧熔丝,UIF就是USB接I I的仿典;PIF不能支持SBWJTAG 接I I,也不能烧熔丝,PIF是并I I的仿真器。任何-种JTAG接I I的仿真器在烧断熔丝后都不能再仿真和写入, 而BSL nf以通过密码访问FLASH空间,读出写入均可,BSL是爼丨1实现的,但BSL不能仿真,注意部分器 件不支持BSL,如F20XX系列就不能用BSL,烧掉了熔丝就变板砖。MSP430任何系列的仿典器只耍接I I方式一致都是兼容的,比如F
7、G461X,町以使用标准的帯TEST的四 线JTAG,而F22X4也町以使用带TEST的四线JTAG,当然F22X4还町以选择使用SBWJTAG,它支持两种 JTAG接II。如果不是TI标准的430系列用JTAG仿真器那就不行了,应该是不兼容的,不是什么“很多仿真 器和编程器都不支持”,而是专用。Q4:初次使用430单片机,F149 °高速晶振8M,低速32K,卜墩程序时出现security fuse *own字样,无 法烧录。请各位高人指点,应该是哪里有问题。A4:手匚复卜位应该某本町以解决,除非芯片熔丝貞被烧掉了。如果熔丝断了町以用BSL方式写入程序.Q5:运行到断点时程序不能I
8、动结束,必须广按break.我这足程序跑飞了么?A5:是你断点设置的多了吧。你在程序中,只设置这一个断点试试Q6:当在RAM中对其中一变量开辟的尺寸是512字节时,程序总占用3.5K RAM空间,可以正常烧到芯片中, 也可以正常运行;半对同一变鼠开辟的尺寸是1024字节,而苴它均未改变时.程序总占用4.0K左右RAM空间町以正常烧到芯 片中却无法运行!!A6;方法一将一些变量定义成noinit类型 方法二 修改IAR的cstartup.s43程序,JI体方法如卜:(iar310a为例)1 将 cstartup.s43 程序加我到用户 fl 己的项目屮,cstartup.s43 在 iar310
9、a 的路径如 F$TOOLKIT_DIR$srcLIB2 修改 cstartup.s43 屮的_program_start序,加入关闭看门狗的命令 MOV #Ox5A8O.&OxO12O3 在 Projcct->Options->Linkcr->Config 页中选择 Override default programc , Jf 将 Entry lib 设置成 program_start请问AR编译器的s43文件用什么编辑器打开?打开IAR编译器后就可以直接打开了;另外,记事本也可以打开Q8:怎么设置才能使2274内部dco产生稳定的16M的时钟信匕,还仃就是2274
10、是不是提供FLL+功能!A8: 2XXX没仃FLL+,但是TI在出厂芯片的时候已经做过出厂测试,你只耍选择它头文件里的那个16M即 可Q9:程序编译时提示:Varning|Pe001|: last line of file ends without a newline >这是怎么回事啊,应该怎么改 呢?A9:敲个冋车就町以了Q10:过公用435/436等因为仿真的儿耍线和端I I都没仃复用所以很轻松就搞定现在1232的仿其I I和Pl 11 肚公用的,仿真时我把第脚TEST接VCC,这样町以卜我仿真了,可是发现这复用的几个Pl I I就不能执行其正 确的动作了,请教A10:做仿其II的复
11、用管脚在仿其时,被作为仿其功能管脚使。Qll: USB仿真器卜或汇编程序时没仃问题,但是卜或C语言程序时,出报警信息如F: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 tliis setting in the Tools>Options dialog box.在调试信息窗I I出现operation error.All:调试c程序时在 Tools>Option
12、s dialog box 屮 stack 耍选中指向 main 函数处。汇编和c耍建不同的工程下调试。Q12:装了 MSP-FET430UIF仿真器,但是在AQ130的Options屮.无法找到该仿真器.正常应该冇 LPT1/LPT2/LPT3/TIUSB四个选项,为什么看不到TIUSB?A12:先看看硕件管理器中有没有那个碘件,有则先用IAR试试.Q 13: EZ43O-RF25OO屮的USB debugging可以调试msp430其他支持Spy-Bi-Wire系列的芯片吗?A13:可以。Q 14:用TI的USB仿真器,采用的是二线法。用SD.16采集数据,发现连接仿真器输出的数据正确,而把
13、 仿真器拔去,输出的数据就错了。这是为什么?A14:怎么理解这个数据止确和错误?你怎么卜的判断?我认为足你接仿典器的时候目标板是从仿真器上取 电的,拔掉仿真器是外部电源供电的,电源电压不同,将导致基准源改变,采样出來的值变化会很人。Q15: sd-fet430 uif仿真器不能外供电吗?A15: nJ*以,驱动电流较小,内部是光MOS管,耍注意负我Q16: 430FET卜墩出现问题时检查的一般思路A16:在完全确定无虚焊、短路的情况一般注意以卜爭项:公司地址:杭州市住云路425号杭州利尔达科技大厦Tel:0571-S8800000 Fax4页共6 8页k仿真器的2
14、. 4脚电源2、复位脚的RC电路LSD MCU TECHNOLOGY CO. LTD.利尔达唯片机技术仃限公可 WWW.LIERDA.COM3、是否是SBW模式4、JTAGM用引脚时注意外部电路的影响5、外部仃功率较人的器件,当下我时造成外部电路的功耗较人6、JTAG线不能太长,一般在20CM以内比较介适7、如果是USB的仿其器还耍注意USB线不能人长,使用笔记本的还要注意USB上不能连接太影的负我Q17: LSD-FET430UIF仿真器,运用IAR410软件,器件是F1121A,无法卜载程序也无法仿克,直接将接II 线换在原来的FETP430IF上,把FET设置换成并II后就口J以,请问卜
15、,是什么原因造成的?AI7:检査 下驱动安装对吧,另外再检査F USB提供的电源和USB线的信号,USB提供电源不足或USB 线的信号受到了比较强的干扰都会影响F载。Q18: 430加密用的密码是屮断向最的简单组合呢?还是屮断向就的加密组合?还是用的屮断服务程序入I I地 址的简单组合?还是用的屮断服务程序入I地址的加密组合?A18:是入II地址的组介(存放在中断向吊处的数据),以前是简的组介,新的5XX就仃些复杂了,用户门己 还可以定义密码。Q19:我的程序编译后.DEBUG调试显示已成功DOWN到芯片里了,连看E2430仿冀器也能工作,但只耍把 EZ43O脱开,PCB重新上电,芯片怎么也不
16、工作.不知是什么原因?A19: 2013的RST脚接1个上拉电阻就解决问题了。Q 2 0:通过标准的BSL方式是不盂耍编写单片机程序的?如果是的话,那门定义串II卜或的优点和缺点 又是什么?A 20:用BSL不盂要自己编写单片机程序,但需耍另加入两根或4根编程线。自己写升级程序肖接使用串I I, 但碍耍自己写自编程程序,此方式使用方便,还町以在线人批彊升级,缺点是要占用FLASH空间,如果通 讯协议严谨,再加上密码保护Z炎的算法,消耗2K的FLASH资源还是比较正常的,所以小FLASH容尿 的就不推荐使用了。Q21:在编译程序时.总是出现这样的错谋信息,该怎么样解决呀?Errore46: Un
17、defined external "main" referred in ?cstart ( D:Program Filcsiar430LIBCLIBcl430f.r43 ) 程序没有错误,是不是编译器本身有什么问题?A21:是汇编程序时,把OPTIONS里的ASSEMxxER ONLY选上。Q22: UIF连接不到F2274, RST信号的电容已去掉,用并I能连接上,不稳定,这是为什么?A22: F22X4支持两种JTAG接LI,如果是UIF的话,个人建议使用SBW的,如果用4线制的话,会占用数 个复用端11,你说连不上是不是就是因为复用端I I上连仃外围设备造成JTAG无
18、法正常工作了呢。检查一下。Q23:故障现彖:有时windows能识别,多数不能识别;提示“未知usb设备”;挑机器一换台机器可能好使; 升级失败;这是什么原因?A23: 1.使用IAR自动更新功能,只能通过JTAG 口重新写入fl612程序。2.EZ430板上TUSB3410的复位脚C9电容小,增加到2uF,最好増加旁路滤波电容,以提高电源质吊,公司地址:杭州山仔厶路425弓杭州利尔达科技人凰TelFax:0571-8990S519第5页共68页LSD MCU TECHNOLOGY CO. LTD.厂 利尔达单片机技术仃限公诃WWW丄IERDA.COMQ24:使用
19、430内置的info flash來存放一吐配置信息。在用FcM更件仿真的时候,希里气接手动修改memory 窗I I屮的的info flash的内容,但是老是弹出'窗I I说这些地址是不可访问等提示,请问有什么办法町以在锁件 仿真的时候,直接修改info中的内容么?A24: flash不能直接修改。这个得用编程器,仿冀器或者软件编程修改FLASH.你这样就能修改FLASH那也 太iffilffiQ25: IAR如何查看生成的代码的人小?A25:编译后在信息窗I I就是就町以提示,如果没仃提示,请在Tool/Options/Mcassagcs/show build message:选 为
20、All就行了。Q26:程序卜不进去,用的仿典器是一头并II, 头14脚的jlag,烧的时候总说找不到设备?A26: RST连上,去掉上面的电容。Q27:给 MSP430F149 仿其的 JTAG 能给 MSP43OF2OO2 仿其吗?我把腿都対应上了,但程序卜不进去,说是找不到器件以前用同样的方法成功的给449仿真过! !难道2002用的是不同的JTAGA27:并II仿真器支持2002,不过只能使用四线JTAG方式,RST引脚必须连接,而住不要冇复位电容。Q28: 430如何将程序成功烧入? 1.烧片子的具体的顺序?A28: H先option里得选择正确的芯片型号,还耍在Debugger选项卡
21、里的driver选择FET_Dcbuggcr,在按匸 貝栏内的F载按钮(快捷® ctrl+D)Q29: MSP430F22X学习板SBW用访真器不能进行调试?A29:原因可能两点两线制是不能用并I丨访真器进行调试的,必须USB访真器两线制RST并联的电容建议不接,否则造成程序无法疋常卜载;Q30:在研制帯处理器的电子产品时,如何提高抗干扰能力和电磁兼容性?A30: 一、卜面的一些系统要特别注意抗电磁于扰:1、微控制器时钟频率特别高,总线周期特别快的系统。2、系统含有人功率,人电流驱动电路,如产生火花的继电器,人电流开关等。3、含微弱模拟信号电路以及高轿度A/D变换电路的系统。二、为增
22、加系统的抗电磁卡扰能力采取如卜措施:1、选用频率低的微控制器:选用外时钟频率低的微控制器对以有效降低噪声和提高系统的抗十扰能力。同样频率的方波和止弦波,方波 屮的高频成份比止弦波多得多。虽然方波的高频成份的波的幅度,比基波小,但频率越高越容易发射出成为 噪声源,微控制器产生的最何影响的高频噪声人约是时钟频率的3倍。2、减小信号传输中的畸变a. 微控制器主要采用高速CMOS技术制造。信号输入端静态输入电流在1mA左右,输入电容10PF左右, 输入阻抗相为高,高速CMOS电路的输出端都冇相半的带我能力,即相为人的输出值,将一个门的输出端通LSD MCU TECHNOLOGY CO. LTD.厂利尔
23、达单片机技术仃瞅公司WWW丄IERDA.COM过段很长线引到输入阻抗相当高的输入端,反射问题就很严重,它会引起倍号畸变,增加系统噪声。当Tpd>n时,就成了一个传输线问题,必须考虑信兮反射,阻抗匹配等问题。b、信号在印制板匕的延迟时间与引线的特件阳抗有关,即与印制线路板材料的介电常数有关。町以粗略地认 为,信兮在印制板引线的传输速度,约为光速的1/3到1/2 Z间。微控制器构成的系统屮常用逻辑电话元件的 Tr (标准延迟时间)为3到X X Xs之间。c、在印制线路板上,信号通过一个7W的电阻和一段25cm长的引线,线上延迟时间人致在420ns之间。也 就是说,信号在印刷线路上的引线越短越
24、好,最长不宜超过25cm。而且过孔数目也应尽最少,最好不多于2 个。d、当信号的上升时间快丁信号延迟时间,就耍按照快电了学处理。此时耍考世传输线的阻抗匹配,对丁一块 印刷线路板上的集成块Z间的信兮传输,要避免出现Td>Trd的情况,印刷线路板越人系统的速度就越不能 太快。c、用以卜结论归纳印刷线路板设计的一个规则:f、信兮在印刷板上传输,直延迟时间不应人丁所用器件的标称延迟时间。3、减小借号线间的交义十扰:a. A点一个上升时间为Tr的阶跃信号通过引线AB传向B端。信号在AB线上的延迟时河是Td。在D点, 由J* A点信兮的向前传输,到达B点后的信兮反射和AB线的延迟,Td时间以后会感应
25、出一个宽度为Tr的 頁脉冲信号。在C点.由J AB上信号的传输与反射,会感应出一个宽度为信号在AB线上的延迟时间的两 倍,即2Td的止脉冲信号。这就是侑号间的交叉干扰。T扰们;的强度与C点信号的di/at仃关,与线间距离 有关。当两信号线不是很长时,AB上看到的实际是两个脉冲的迭加。b、CMOS T艺制造的微控制由输入阻抗高,噪声高,噪声容限也很高,数字电路是迭加100200mv噪声并 不影响其工作若图中AB线是一模拟信号,这种干扰就变为不能容忍。如印剧线路板为四层板,其中有一 层是人面积的地,或双面板,信号线的反面是大面积的地时,这种信号间的交叉F扰就会变小。原因是,大 面积的地减小了借兮线
26、的特性阻抗,信号在D端的反射人为减小。特性阻抗与信号线到地间的介质的介电常 数的平方成反比,与介质厚度的自然对数成正比。若AB线为一模拟信廿,要避免数字电路信巧线CD对AB 的十扰,AB线卜方要有人面枳的地,AB线到CD线的距离耍人J: AB线与地距离的23倍。町用局部屏蔽 地,在有引结的一而引线左右两侧布以地线。4、减小来自电源的噪声电源在向系统提供能源的同时,也将其噪川加到所供电的电源上。电路中微控制器的复位线,屮断线,以及 其它一些控制线最容易受外界噪声的扰。电网上的强扰通过电源进入电路,即使电池供电的系统,电池 本身也有高频噪声。模拟电路屮的模拟信号更经受不住来自电源的干扰。5、注意印
27、刷线板与元器件的高频特性a、在高频情况F,印刷线路板上的引线,过孔,电阻、电容、接插件的分布电感与电容等不町忽略。电容的 分布电感不对忽略,电感的分布电容不可忽略|电阻产生对高频信巧的反射,引线的分布电容会起作用,当 长度人丁噪声频率相应波长的1/20时,就产生犬线效应,噪声通过引线向外发射。b、印刷线路板的过孔人约引起0.6pf的电容。c、一个集成电路本身的封装材料引入26pF电容。d、一个线路板上的接插件,520nH的分布电感。一个双列宜杆的24引脚集成电路抒朋,引入4-XXXH 的分布电感。c、这些小的分布参数对丁这行较低频率卜的微控制器系统屮是町以忽略不计的:而对丁高速系统必须予以特
28、别注意。公司地址:杭州市登云路425号杭州利尔达科技大厦TelFax9页共68页LSD MCU TECHNOLOGY CO. LTD.6、元件布置要介理分区元件在印剧线路板上排列的位置要充分考虑抗干扰问JS,原则Z是各部件之间的引线要尽鼠短在布 局上,耍把模拟信号部分,高速数字电路部分,噪声源部分(如继电器,人电流开关筹)这三部分合理地分 开,使相互间的信号耦合为最小。7、处理好接地线a、印刷电路板上,电源线和地线最贡耍。克服电破干扰,最主要的手段就是接地。b、対双面板,地线布置特别讲究,通过采用单点接地法,电源和地是从电源的两端接到
29、印刷线路板上来的, 电源 个接点,地-个接点。印刷线路板上,要仃多个返回地线,这些都会聚到回电源的那个接点上,就是 所谓单点接地所谓模拟地、数宁地、人功率器件地开分,是指布线分开,而最后都汇集到这个接地点上来. 与印刷线路板以外的信号相连时,通常采用屏蔽电缆。对高频和数字信号屏蔽电缆两端都接地。低频机 拟信号用的屏蔽电缆,一端接地为好。c、对噪川和F扰非常墩感的电路或高频噪声特别严巫的电路应该用金属罩屏蔽起來。8、用好去耦电容。a、好的尚频上耦电容町以公除高到1GHZ的高频成份。陶瓷片电容或多层陶瓷电容的高频特性较好。设讣卬 刷线路板时,每个集成电路的电源,地Z间都要加一个去耦电容。玄耦电容仃
30、两个作用:一方面是本集成电 路的蒂能电容,提供和吸收该集成电路开门关门瞬间的充放电能:另一方面旁路掉该器件的高频噪声。数字 电路屮典型的去耦电容为0.1 uf的去耦电容令5nH分布电感,它的并行共振频率人约在7MHz左右,也就是 说对J: 10MHz以卜的噪声仃较好的去耦作用,对40MHz以上的噪声几乎不起作用。b、luf, 10uf电容,并行共振频率在20MHz以上,去除高频率噪声的效果要好-些。在电源进入印刷板的地 方和一个luf或10就的去高频电容往往是有利的,即使是用电池供电的系统也需耍这种电容。c、每10片左右的集成电路耍加一片充放电电容,或称为希放电容,电容人小町选10uf。址好不
31、用电解电容, 电解电容是两层溥膜卷起來的,这种卷起來的结构在高频时表现为电感,最好使用胆电容或聚碳酸酝电容。d、去耦电容值的选取并不严格,可按C=l/f计算;即10MHz IRO.luf,对微控制器构成的系统,取O.l-O.Oluf 之间都可以。三、降低噪声与电磁扰的些经脸。1、能用低速芯片就不用鳥速的,高速芯片用在关键地方。2、用串一个电阻的办法,降低控制电路上卜沿跳变速率。3、尽量为继电器等提供某种形式的阻尼。4、使用满足系统要求的最低频率时钟。5、时钟产牛器尽最靠近到用该时钟的器件。石英品体振荡器外壳耍接地。6、用地线将时钟区圈起來,时钟线尽量短。7、I/O驱动电路尽量靠近印刷板边,让其
32、尽快离丿阳J刷板。对进入卬制板的阳,;要加滤波,从高噪声区来的 信号也耍加滤波,同时用串终端电阻的办法,减小信号反射。8、MCD无用端要接高,或接地,或定义成输出端,集成电路I:该接电源地的端都要接,不耍悬空。9、闲置不用的门电路输入端不要悬空,闲置不用的运放正输入變接地.负输入端接输出端。(10)印制板尽 量使用45折线而不用90折线布线以减小高频信号对外的发射与耦介。10、印制板按频率和电流开关特性分区,噪声兀件与IF噪声元件要距离再远一吐。利尔达唯片机技术仃限公司 WWW.LIERDA.COM11、单而板和双面板用单点接电源和单点接地、电源线、地线尽录粗,经济是能承受的话用多层板以减小电
33、 源,地的容生电感。12、时钟、总线、片选信号要远离I/O线和接插件。模拟电斥输入线、参考电压端要尽彊远离数字电路信号线,特别是时钟。13、对A/D类器件,数字部分与模拟部分宁可统一下也不要交叉。14、时钟线ififl J- I/O线比平行I/O线干扰小,时钟元件引脚远离I/O电缆。15、元件引脚尽量短,去耦电容引脚尽量短。16、关键的线要尽磺粗,并在两边加上保护地。高速线要短耍自。17、对噪声敏感的线不要与人电流,高速开关线平行。18、石英晶体卜面以及对噪声敏感的器件卜面不要走线。19、弱信号电路,低频电路周由不要形成电流环路。20、任何信号都不要形成环路,如不可避免,让环路区尽鼠小。21、
34、每个集成电¥各-个去耦电容。每个电解电容边上都要加一个小的高频旁路电容。22、用人容駅的祀电容或聚酷电容而不用电解电容作电路充放电储能电容。使用管状电容时,外壳要接地Q31:灯关仿其器及编程器的问题:A31:对丁51系统來说,很容易理解编程器与仿真器的区别。通俗的说,仿真器是用來仿真调试的,编程器是用來批起生产时对MCU进行烧写冃标代码的。对J* MSP43O來说,无论仿其还是烧写程序一般町以通过:JTAG/SBW/BSL接I I进行,这些概念仅是接I I, 并不代表哪个型号的编程器和仿真器,一般JTAG/SBW接11用于仿真接11, BSL不能用于仿真,只能用于编 F氏编用器则二种
35、接II都支持。所以并不能说JTAG只支持仿真,不支持编程,这是概念借汉,JTAG仅仅是 一种接口协议而己。卜面简单描述一卜三种接11的区别:1、JTAG是边界扫描技术,其在430内部仃逻辑接I I给JTAG使用,内部仃卄F个寄存器连接到430内部的 总线上,所以JTAG可以访问到430的内部所仃资源,包括对FLASH的读写操作。可以用丁编程和仿真接I I。 主要连接线有 TMSfTCK/TDI/TDO/RST/TEST 等。2、SBW是SPY-BI-WIRE的简称。通常称为两线制J TAG,主耍用SBWTCK与SBWTDIO,该接II主要用 J小F 28脚的430单片机及5系列的单片机因为28
36、脚以内的单片机JTAG接【J与通用IO I I复用,为了给 用户预留更多的IO, 推出SBW接II。冋样SBW接II可以用于仿頁器与编程器。3、BSL是TI在MSP430出厂时预先固化到MCU内部的一段代码,有点类似与DSP的bootloader,但与 bootloader W明显的区别,BSL只能用于对MCU内部的FLASH访问,不能对访问其他资源。所以只能用作 编程器接11。BSL通过UART协议与编程器连接通信。编程器町以发送不同的通信命令來对MCU的存储器 做不同的操作。BLS的启动冇些特殊,一般430 g位Q动时PC指针指向FFFEfi位向兀 但町以通过特殊的 启动方式可以使PC指向
37、BSL内部固化的程序。启动方式一般由RST与TEST (或TCK )引脚做一个稍复杂 的启动逻辑后产生。4、般的MCU都仃加密功能,430如何实现加密的呢?外部刈430内部的代码读写只能通过上述的三种方 式,所以引入熔丝位,熔幺纟位只存在与JTAG/SBW接II逻辑内。BSL没冇熔线。半熔丝烧断时(物理破坏, 且不可恢复)JTAG/SBW的访问将被禁止,此时只有BSL可以访问而通过BSL对MCU的访问是需要32 字节的密码,密码就是用户代码的中断向量表。5、一 般的仿真器型号仃:UIF (USB接II,支持JTAG/SBW)、P1F (并1丨,只支持JTAG)、EZ430 (USB接 II,只
38、支持SBW模式)。专业的编程器仃GANG430 (串II, 一,拖8个冃标板,支持JTAG/SBW及烧断熔线 功能);筋功能编程器(JTAG/SBW/BSL及烧断熔丝功能儿这些编程器都可以支持离线烧写,即脱离计算机 來对H标板烧写。当然也町以通过特殊的软件用仿典器來烧写,这炎软件仃MSPFET. FET-PRO430等。公诃地址:杭州山住厶路425号杭州利尔达科技人厦TelFax:0571-S9908519第13页共68页LSD MCU TECHNOLOGY CO. LTD.厂 利尔达单片机技术仃限公诃WWW丄IERDA.COMQ32:最近调试程序.不知怎么老出现
39、卜面的问题,请问是怎么冋爭?"erase check error at address Oxi 100retry erase operation?*知道是怎么回事?A32:最可能的就是芯片电压太低,或者芯片冇虚焊的。Q33:请问MSP430F149程序卜载时的电源耍捉供的电流为笫人?A33:这个电流主耍用T flash的擦写。擦和写的典空电流都是3mA。公创地址:杭州山住厶路425号杭州利尔达科技人限TelFax:0571-S9908519第#页共68页LSD MCU TECHNOLOGY CO. LTD.厂 利尔达单片机技术仃限公诃WWW丄IERDA.
40、COM第二章:指令系统Q1.IAR中怎样描述P2OUT.3脚,#define LCD_csl P2OUT.3:对吗?Al: 430不能位寻址,所以一般的位操作,都通过“与”来作用。#define LCD_csl (P2OUT&BIT3 )。Q2._intrinsic是什么意思A2:木征函数,不是C语言标准库,而是和MSP430汇编青接对应的函数,比如:_NOP()_EINT()LPM0引用msp430xxxx.h,默认引用的头文件Q3: 430屮使用C和汇编语言的区别,优缺点比较?A3:严格來讲430的C是ANSIC的一个子集,与汇编的差别主要仃:1、C有if、(do) whilex
41、switch等流程控制语句2、C冇冇限的数据格式,如char、ini、float, douxxe等3、对430最有特色的R0-R15的使用,C不如汇编4、430的C不易进行RAM管理5、430各版本的C,互相Z间存在差异,好彖C在430上还不成熟6、C的优点是在PC或PDA匕,也就是在有操作系统的平台上,C的优点才会表现出来,但那已经不是430 的C 了,闻是C+,它有丰富的数据类型,如结构、对象等7、汇编的缺点,基本上就是C的优点,而汇编的优点基本上都是C的缺点8、C函数仃类型限定的形参和返回值以及强制类型转换,还仃格式化输出,发挥C的这些特长,再结合结构 化程序设计技术,容易编出思路清晰、
42、结构灵活、可移值性比较强的程序。汇编也可以满足上述要求,但相 对来讲耍复杂些。9、初学者建议先用汇编,山丁対硕件的操作更加W观灵活,仃利丁对430内部结构的熟悉和熟悉编程思路。 等学握了 30的幵发技能,又熟悉了系统的介理分配资源和纽织诜源II寸再学习用c,那将使你进步放快的时候, 因为c对程序的结构和调度真得很理想!10、源代码隐藏性比较好,比较安全。Q4: MSP43O指令系统屮,符号寻址方式冇点不太理解。例如连续的两条拆令是:MOV.B #2OHOO12HMOV.B #34H,0200H在反汇编窗I I看这两条指令是:mov.b #0x20.0x 1112mov.b #0x?4.0x 1
43、300不理解的是:1. 为什么反汇编后指令的第二个操作数地址变成了 0x1112和0x1300?2. 上述反沢编指令似乎都在原冇的地址呈础上加上了0x1100,我知道保存程序的FLASH是从0x1100开始的。 但实际在执行上述两条指令时,PC的值早就0x1100.符',;J址操作数地址丿2该=(PC+0012H)、(PC+0200H)。 而PC值在执行指令屮应该是变化的?A4: 0012H和0200H是绝对地址。问题中程序用的定立即寻址,实际上应该用绝对寻址LSD MCU TECHNOLOGY CO. LTD.利尔达咆片机技术仃限公词 WWW.LIERDA.COMMOV.B #003
44、0h.&0200h 就是前而操作数前而仃 个&:没#0030h.0200h 那么地址就应该二PC addrress +0200(偏移駅)。反编译出来的代码应该是mov.b #0x20.&0xlll2 mov.b #0x34.&0xl300 才对。Q5:在程序里循坏调用fsprint数,当循坏了儿次后程序就跑E了,是堆栈人小不够吗?还有sprintf到底需 要多人的堆栈,单步走了 F,发现它使用堆栈都不是连续的?A5:仃町能是的sprintf函数堆栈数据把跳转地址挤掉,町以调开堆栈看一卜;Q6:问 MSP430 MOV 命令立即数寻址MOV PC+. X(PC);
45、偏移最可变址寻址MOV X(PC). Y(PC);怎么理解?A6: MOV PC+. X(PC);将PC所指单元的内容送给PC+X所在单元,然后PC本身加I指向相邻的卜一单元.MOV X(PC). Y(PC);将PC+X所指单元的内容送给PC+Y所在单元问题7:数据类型Sniall.MediumXarge的区别,以及怎么访问人0X10000的地址空间?数据放在人V 0X10000的地址空间中,怎么上访问?同时Sniall.Medium.Largc在何处町以体现它们的区别? A7:町以访问。值得注意的£ option里的General Option选项内的数据类熨得选择Large.程序
46、人小,RAM 使用,运行速度都不一样。1 .F5XX 430X2. 选择Large small medium产生效果是改变指针变届所占字肖个数.IAR屮指针变駁默认2个字节,选择large 占用4个字节,那么指针就可以访问超过64K范刖的地址.3. 可以采用IAR内部两数,*/void _data20_write_char (unsigned long _addrunsigned char _value);void _data20_write_short(unsigned long _addr, unsigned short _value);void _data20_writcong (uns
47、igned long _addr,unsigned long _value);unsigned char _data20_rcad_char (unsigned long _addr);unsigned long _data20_readjong (unsigned long _addr);Q&关于堆栈问题问题:Errorcl6: Segment CSTACK (size: 0x50 align: 0x1) is too long for segment definition. At least 0x4 more bytes needed The proxxem occurred wh
48、ile processing thesegment placement command Z(DATA)CSTACK+_STACK_SIZE#l where at the moment of placement the xxailaxxe memory ranges were MCODE:5B4-600n 请问:这个错误是什么意思A8:将stack设宣减小,可通过编译,这时stack是静态的.而会不会出错不是stack设置问题而是在程序运行时动态'P.RAM占用吊人小所定.减少程序中的变最个数,变最类型尽最小,够用就可以.能减少动态运行时RAM的占用尿Q9:浮点数运算问题,既然2.2A编
49、译器能实现64浮点位运算,那么它的运算程序在哪个文档里。A9:要使用64位的浮点运算需耍设置编译器首 先选择 project->option->general->target->douxxe floating point size选中”64”再选择 projcct->option->XLINK->includc->library->cl430d.r43用C+的朋友要选择dI430d.r43库建议用整型数进行运算,比如像开方64位浮点数耍用儿十毫秒而整型数随数据人小只耍儿微秒到儿毫秒不 等。Q10:局部变最的问题,在中断服务程序中开中断响应其
50、他中断,发现中断服务中定义的局部变最老被改动, 换成全厨变最没问题。想问一下这是啥原I大I?还想问一下c编程过程中应注意的细节?A10:局部变彊只是暂存变彊,一般编译器会使川通用寄器來保心这个变彊值,汇编编程的话石要圧栈操作, C语言编程的话建议把变量巾明为全局或者静态。公创地址:杭州山住厶路425号杭州利尔达科技人限TelFax:0571-S990S519第13页共68页LSD MCU TECHNOLOGY CO. LTD.厂 利尔达单片机技术仃限公诃WWW丄IERDA.COMLSD MCU TECHNOLOGY CO. LTD.利尔达唯片机技术仃限公诃 WWW
51、.LIERDA.COM第三章:代码编程类Q1:我在一个子程序中定义了一个变駅,是在其头文件中定义的,然后在主程序中包含了此头文件,当在主 程序屮引用此变最时,编译器没有报错,但是婆DEBUG时出错了,告诉我是redefine in main,请问这是 怎么回事呢?ai: n定不能这样用了,相当丁重复定义了.用外部变录声明町以解决这个问题你町以在头文件中巾明(加 extern),在C文件中定义。Q2:这是我的接收函数,但是当我发送k。时,收到两个。,发送ok时收到两个k,这是怎么回事呢。#pragnia vector=UART 1 RX_VECTOR_interrupt void usartl_
52、rx (void)unsigned j;/IFG2 & =URXIFG1;for (j=0;jv2;)data|j = RXBUFl;j卄;if(j=2)TX_Flag = 1;IA2:程序错了! !按你的程序,收到第一个字符K时,你将该字符填入数组,即数组内容为K , K):收 到第二个字符0时,你将该字符項入数组,即数组内容为0 , 0),应该加一个判断,判断接收缓存里而 的数据被存了,再存第二个。Q3:问题:想要根据-个数据send,利用TAO产生屮断,控制P2 I I产生3ms、1ms、3ms、1ms、3ms、1ms的一组方波(T'发送3ms, 'O'发
53、送1ms),但程序写出來后,发现执行过程非常不稳定,忽快忽慢。不 知道是单片机的问题还是程序的问题,请专家帮帮!附程序:void data_scnd (unsigned char send)unsigned char i:for (i=0;i<8;i卄)发送 8 位if (send&OxOl) /如果最低位为1,发送3msCCR0_189;3ms 建时CCTLO=CCIE: /打开中断P2OUTI=BIT3; /P2 I I 变高电平公创地址:杭州山住厶路425号杭州利尔达科技人限TelFax:0571-S990S519第13页共68页LSD MCU
54、 TECHNOLOGY CO. LTD.利尔达巾片机技术仃限公诃 WWW.LIERDA.COMwhile (fIag=0); /f待屮断处理了程序返回标志位flag二1 flag=0: /flag清零,以便下一位的中断 P2OUT&=B1T3; /P2 I I 变低else /当最低位为0时 中断1msCCR0=63;CCTLO=CCIE;P2OUTI=BIT3;while (flag=O);flag=O;P2OUT&=scnd_BIT:send=(send»l); /左移一位#pragnia vector = T1MERAO_VECTOR /TA 屮断_interr
55、upt void TA_start(void)flag=l;/屮断时间到,设置标志位TAO的时钟选用0.5M 8分频,近似计数值63为1ms,使用连续计数方式。A3: void data_send (unsigned char send)unsigned char i;for (i=0;i<8;i+) 发送 8 位if (send&OxOl) /如果绘低位为1,发送3msCCR0=189; 3ms 定时CCTLO=CCIE; /打开中断P20UT =BIT3; /P2 11 变高电平while (flag=0) : /等待屮断处理子程序返回标卷位flag=lflag二0; /fl
56、ag清零,以便下一位的中断P20UT&二、BIT3; /P2 I I 变低else / -'lii低位为0时屮断1msCCR0=63:CCTLO=CCIE;P20UT =BIT3;站订e (flag二二0);flag二0;P2OUTi='BIT3;send二(send、>l) ; /左移一位仔pragma vector = TIMERAO_VECTOR ,/TA 中断_interrupt void TA_start(void)(flag=l; 中断时间到,设置标志位TACTL 屮的 MCI、MCO 为 01 值Q4:求msp13的pwm捕捉下降沿的程序。A4: TACCTL2=CM1+CCIS_1+CAP;/同步捕获模式,卜降沿捕获TACTL二TASSEL_2+MC_2+TACLR;/ 连续计数方式,时钟设豐为 SMCLKI/O 口也需耍设置为第二功能I I,建议看users guide和TI例程。Q5 : C 文 件 LINKER 后, 报错 Errore46Z:Udefined external *sendl_buff*referred in sys_evet (D:sclDebugObjsys_evet. r43,请教如何町解决此问题,变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工装夹具管理制度
- 电梯维保人员试题
- 肝胆外科考试题库及答案
- 顶板事故演练方案
- 防静电应急预案
- 防水工技能试题
- 耳穴贴压考试试题及答案
- 玻璃钢操作工考试试题
- 财经纪律执行不严格整改措施及成效
- 初级冲压工技能考核题集及答案
- 抗美援朝纪念日致敬英雄课件
- 2026年成都市金堂县增量政策性岗位招募(121人)笔试备考试题及答案详解
- 肾结石内科管理中国指南(2026版)
- 第四单元 第1课时 青蛙歌(教学设计)数学北师大版五年级上册2026秋
- 2026中国零碳产业园能源系统设计与投资回报分析报告
- GB/T 18474-2026交联聚乙烯(PE-X)管材与管件交联度的试验方法
- CSCO神经内分泌肿瘤诊疗指南(2026版)
- 2026年保密教育线上培训考试试题(附完整答案)
- (2026版)《超龄劳动者基本权益保障暂行规定》解读课件
- 老年综合评估试题及答案
- 计算机组装与维护(第2版)全套课件
评论
0/150
提交评论