编辑: 牛牛小龙人 | 2012-12-10 |
其他 CCR) 38. 有可能生成软件复位吗? 生成软件复位的最简单方法是使用下面的看门狗定时器: #define SW_RESET() WDTCTL = WDT_MRST_0_064;
while(1);
// watchdog reset 在具有 PMM(电源管理模块)的5xx/6xx 和CC430 器件上,可用如下方式生成软件 BOR 和软件 POR: #define SW_RESET() PMMCTL0 = PMMPW + PMMSWBOR + (PMMCTL0 &
0x0003);
// software BOR reset #define SW_RESET() PMMCTL0 = PMMPW + PMMSWPOR + (PMMCTL0 &
0x0003);
// software POR reset 39. 可以检索引起复位的原因吗? 在5xx/6xx 器件上,可以通过校验 SYSRSTIV 寄存器来检查最近一次复位的原因. 为了能够正确地对其进行调试,启动时,需要使用如下的低级别 C 语言初始化函数来保存 SYSRSTIV 寄存 器值: 对于 CCS 编译器: // global variable for storing the reset cause #pragma NOINIT (SysRstIv);
unsigned int SysRstIv;
int _system_pre_init(void) { // stop WDT WDTCTL = WDTPW + WDTHOLD;
// save reset information SysRstIv = SYSRSTIV;
// Perform C/C++ global data initialization return 1;
} 对于 IAR 编译器: // global variable for storing the reset cause __no_init unsigned int SysRstIv;
int __low_level_init(void) { // stop WDT WDTCTL = WDTPW + WDTHOLD;
// save reset information SysRstIv = SYSRSTIV;
// Perform data segment initialization return 1;
} 40. 我如何禁用闪存存储器访问来保护我的 IP? 访问闪存存储器主要有三种方法: ? 经由 JTAG 访问 ? 经由 BSL(引导加载程序) ? 经由应用程序中执行的定制访问(可选) 为了禁用经由 JTAG 的闪存访问,JTAG 熔丝应该被烧断. 在之前的 1xx,2xx,4xx 器件上,JTAG 熔丝 的实现方式为物理熔丝,而在 5xx/6xx 器件上为电子熔丝. 可通过擦除 BSL 存储器闪存来禁用 5xx/6xx 器件上的 BSL,或者在某些之前的 2xx 器件上,通过禁用 JTAG(通过常见于中断矢量表下的特殊寄存器的设置)来达到此目的. 41. 调试器/程序设计器工具意外地报告 JTAG 熔丝被烧断,我能对此做些什么 吗? 与之前使用物理 JTAG 熔丝的 1xx,2xx,4xx 器件不同,5xx/6xx/FRAM 器件主要采用电子 JTAG 熔丝 (例如,请参考《5xx/6xx 用户指南》文档 - 1.11.2 章 经由电子熔丝的 JTAG 锁定机制 ). 只要 BSL 未 被禁用/擦除,就有可能经由 BSL 来检查 JTAG 的状态. 要获得与 MSP 相关的更多信息,请参考 MSP430 BSL 维基网页: BSL_(MSP430). TODO:为其提供示例 BSL 脚本 42. 可以重新分配 MSP430 上的中断矢量吗? 在5xx/6xx 系列器件上,可以通过设置 SYSCTL 寄存器的 SYSRIVECT 来将中断矢量重新分配至 RAM. 通过将中断矢量重新分配至 RAM,BSL 代码能够使用中断,其中 BSL 的中断矢量将不会与用于应用的中 断矢量相冲突. 以下的示例代码显示了如何在 MSP430F5438A 上实现此操作: ? CCS v5.x (compile option: --code_model==small): 文件:MSP430F5438A RAM INT VECT CCS.zip ? IAR: 文件:MSP430F5438A RAM INT VECT IAR.zip 43. 如何用 MSP430 器件生成随机数? 大多数 MSP430 器件在交付使用时具有片上低功率 VLO 时钟,此时钟的额定值通常为数据表中大范围时 钟频率(通常从 6kHz 最小值到 14kHz 最大值). 有一份 应用说明 描述了如何根据 2xx 器件的 VLO 来生成随机数. 此份应用说明的基本概念是将 VLO 用 作源 ACL........