This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
2011年 9月 1日到 9月 16日,快来发贴分享您在学习或工作中关于应用 TI MCU 产品(MSP430、C2000、Stellaris)的各种技巧与心得、各种疑问和不解。每篇主题不少于 150字,如果是技巧心得和疑惑的帖子,请详细写出获得心得的具体过程或者经过哪些步骤的试验仍未成功。
我们期望德州仪器在线技术支持社区为大家提供一个交流经验、互相学习的平台。每个 ID 不限制参与次数,但每个 ID 只有 1 次获奖机会。(TI工程师团队具有最终解释权。)
快来讲述您和 TI MCU 的故事,精巧 4G 名片 U 盘等您拿!
所有此次活动的贴子请在此主题贴下以“回复”形式发表!我们将以此主题下的发贴作为获奖信息!热切期待大家的参与!
C2000的烧写经验:
1. 在擦写的过程中意外或异端终止有可能造成Flash烧毁
2. 通常的非破坏性的错误操作不会影响到CSM,但是要注 意SCM也在Flash,不要将此段地址烧入内容
3. 不要试图将Flash所有位置0,这样CSM将永远是安全的 也就是说该芯片不能再调试和编程
4. 通常Flash毁坏DSP依然可以进行不牵扯Flash的仿真和 调试
5. CCS插件有时候会出现死机。但并不意味着Flash已经 毁坏通过再次或不同环境下的烧写有可能挽救和恢复
6. 绝对不可以在烧写过程中断电
7. 烧写过程中不要试图运行程序
8. 对Flash自由等待和页等待的设置可以提高Flash执行速 度,理论最大120Mhz
除了上述问题外CCS插件因为软硬件bug还可能出现一些意料不到
的问题。以下列举了一些常见的不正常状况和相应的解决方法。
1. 上电初始CCS处于运行状态烧写时出现错误提示不能正常进行。
--Flash本身已经有程序,需停止后再进行烧写。
2. 烧写过程中程序死在擦除状态,关掉CCS插件再开状况依旧。
--硬件重新上电并重启CCS,同时移除所有断点。
3. 在没有非法操作时出现Flash不能正常Unlock。
--通常需要在其他系统中重新烧写一次Flash后,插件恢复正常。
4. 烧写过程中出错并且无法正常进行。
--按上述1-3步骤进行,同时需要检查硬件电压和软件版本支持。
5. 烧写完成但是程序运行错误或者过度缓慢。
--需要关注相应的设置和系统是否处于正常状态。 必要时有可能需要重新安装CCS和插件
看了其他人的贴子觉得学了不少,谈一下我在用TMS320F2812的过程中对中断的理解:
中断的执行过程是这样的,当符合中断条件时,外设自发地产生一个中断标志位(通常是置位),例如SCI中的RXDY,这是不需要用户设置的.外设响应这个中断,也称为使能中断。如SCI 中的RX/BKint,用户要将它设置为1 ,来使能中断。这样外设就产生了一个中断。这是外设级的中断。中断被送到PIE模块,PIE模块的IFR置1 ,这是CPU自己来做的,不需要用户干预的。这时如果PIEIER=1(这需要用户设置的)那么中断送往CPU,并且将PIEACK置1(CPU 作的).这时PIE级中断CPU 的IFR置1,如果CPU的IER=1 (用户设)那末CPU 处理中断.这是CPU级中断.CPU响应中断,清CPU的IER,IFR,清除PIEIFR,执行中断服务程序,在中断服务程序的末尾用户要清除外设中断标志和PIEACK(写1来清除),重新使能中断,中断返回,回到主程序。
总结起来需要用户编程实现的有:1.三个级别的使能位。设为1使能中断。外设级别的在相应的外设寄存器里设置,PIE级的通过类似于“PieCtrlRegs.PIEIER9.bit.INTx4=1”的语句设置,CPU级的通过类似“IER = 0x100;”来设置 2。在相应的中断服务程序中清中断标志,清响应标志 SciaRegs.SCIFFTX.bit.TXINTCLR=1; // Clear SCI Interrupt , flagPieCtrlRegs.PIEACK.all|=0x100; //
其中还包括屏蔽使能全局中断,使能PIE控制器等.这里就省略了。