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.

快来讲述您和 TI MCU 的故事!(活动已结束)

Other Parts Discussed in Thread: LM3S3748, TMS320F2808, TMS320F2812, LM3S811, TMS570LS20216, MSP430F149, MSP430F5438, MSP430F247, ADS1110, MSP430F2132, MSP430F147, MSP430F169, MSP430F2618, LM3S6911, LM3S8962, LM3S5749, MSP430F1611, MSP430FE425, CC2530, CC2430, MSP430F4270, MSP430F5438A

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控制器等.这里就省略了。

  • 谢谢Junhui 和Faye的宝贵分享!!

1 2