ZHCU032K December 2004 – August 2022 MSP430AFE221 , MSP430AFE222 , MSP430AFE223 , MSP430AFE231 , MSP430AFE232 , MSP430AFE233 , MSP430AFE251 , MSP430AFE252 , MSP430AFE253 , MSP430F2001 , MSP430F2002 , MSP430F2003 , MSP430F2011 , MSP430F2012 , MSP430F2013 , MSP430F2101 , MSP430F2111 , MSP430F2112 , MSP430F2121 , MSP430F2122 , MSP430F2131 , MSP430F2132 , MSP430F2132-EP , MSP430F2232 , MSP430F2234 , MSP430F2252 , MSP430F2252-Q1 , MSP430F2254 , MSP430F2272 , MSP430F2272-Q1 , MSP430F2274 , MSP430F2274-EP , MSP430F233 , MSP430F2330 , MSP430F235 , MSP430F2350 , MSP430F2370 , MSP430F2410 , MSP430F2416 , MSP430F2417 , MSP430F2418 , MSP430F2419 , MSP430F247 , MSP430F2471 , MSP430F248 , MSP430F2481 , MSP430F249 , MSP430F2491 , MSP430F2616 , MSP430F2617 , MSP430F2618 , MSP430F2619 , MSP430G2001 , MSP430G2101 , MSP430G2102 , MSP430G2111 , MSP430G2112 , MSP430G2121 , MSP430G2131 , MSP430G2132 , MSP430G2152 , MSP430G2153 , MSP430G2201 , MSP430G2201-Q1 , MSP430G2202 , MSP430G2203 , MSP430G2210 , MSP430G2211 , MSP430G2212 , MSP430G2213 , MSP430G2221 , MSP430G2230 , MSP430G2231 , MSP430G2231-Q1 , MSP430G2232 , MSP430G2233 , MSP430G2252 , MSP430G2253 , MSP430G2302 , MSP430G2303 , MSP430G2312 , MSP430G2313 , MSP430G2332 , MSP430G2333 , MSP430G2352 , MSP430G2353 , MSP430G2402 , MSP430G2403 , MSP430G2412 , MSP430G2413 , MSP430G2432 , MSP430G2433 , MSP430G2444 , MSP430G2452 , MSP430G2453 , MSP430G2513 , MSP430G2533 , MSP430G2544 , MSP430G2553 , MSP430G2744 , MSP430G2755 , MSP430G2855 , MSP430G2955 , MSP430TCH5E
表 7-4 列出了闪存控制器的存储器映射寄存器。
地址 | 首字母缩写 | 寄存器名称 | 类型 | 复位 | 部分 |
---|---|---|---|---|---|
128h | FCTL1 | 闪存控制 1 | 读取/写入 | PUC 后为 9600h | Topic Link Label7.5.1 |
12Ah | FCTL2 | 闪存控制 2 | 读取/写入 | PUC 后为 9642h | Topic Link Label7.5.2 |
12Ch | FCTL3 | 闪存控制 3 | 读取/写入 | PUC 后为 9658h#SLAU144FCTL83 | Topic Link Label7.5.3 |
1BEh | FCTL4#SLAU144FCTL9209 | 闪存控制 4 | 读取/写入 | PUC 后为 00h | Topic Link Label7.5.4 |
0h | IE1 | 中断使能 1 | 读取/写入 | PUC 后为 00h | Topic Link Label7.5.5 |
闪存存储器控制 1 寄存器
图 7-13 展示了 FCTL1,表 7-5 中对此进行了介绍。
返回表 7-4。
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
FRKEY FWKEY | |||||||
rw - 1 | rw - 0 | rw - 0 | rw - 1 | rw - 0 | rw - 1 | rw - 1 | rw - 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0Ω |
BLKWRT | WRT | 保留 | EEIEX#SLAU144FCTL1858 | EEI#SLAU144FCTL1858 | MERAS | ERASE | 保留 |
rw - 0 | rw - 0 | r0 | rw - 0 | rw - 0 | rw - 0 | rw - 0 | r0 |
位 | 字段 | 类型 | 复位 | 说明 |
---|---|---|---|---|
15-8 | FRKEY FWKEY | R/W | 96h | FCTLx 密码。一直读取为 096h。必须写入 0A5h。写入任何其他值都会产生 PUC。 |
7 | BLKWRT | R/W | 0h | 块写入模式。对于块写入模式,WRT 必须被设定。设置 EMEX 后,BLKWRT 会自动复位。 0b = 块写入模式关闭 1b = 块写入模式开启 |
6 | WRT | R/W | 0h | 写入。这个位被用于选择任一写入模式。设置 EMEX 后,WRT 会自动复位。 0b = 写入模式关闭 1b = 写入模式开启 |
5 | 保留 | R | 0h | |
4 | EEIEX | R/W | 0h | 启用紧急中断退出。当 GIE = 1 时,设置该位使中断能够引发从闪存操作紧急退出。设置 EMEX 后,EEIEX 会自动复位。 在 MSP430x20xx 和 MSP430G2xx 器件中不存在。 0b = 禁用中断时退出。 1b = 启用中断时退出。 |
3 | EEI | R/W | 0h | 启用擦除中断。如果设置该位,则允许中断请求中断段擦除。中断被处理后,擦除周期重新开始。 在 MSP430x20xx 和 MSP430G2xx 器件中不存在。 0b = 禁用段擦除期间的中断。 1b = 启用段擦除期间的中断。 |
2 | MERAS | R/W | 0h | 批量擦除和擦除。这些位被一起用来选择擦除模式。设置 EMEX 后,MERAS 和 ERASE 会自动复位。请参阅表 7-6。 |
1 | ERASE | R/W | 0h | |
0 | 保留 | R | 0h |
MERAS | ERASE | 擦除周期 |
---|---|---|
0 | 0 | 无擦除 |
0 | 1 | 只擦除单独的段 |
1 | 0Ω | 擦除所有主存储器段 |
1 | 1 | LOCKA = 0:擦除主闪存和信息闪存。 LOCKA = 1:仅擦除主闪存。 |
闪存存储器控制 2 寄存器
图 7-14 展示了 FCTL2,表 7-7 中对此进行了介绍。
返回表 7-4。
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
FWKEYx | |||||||
rw - 1 | rw - 0 | rw - 0 | rw - 1 | rw - 0 | rw - 1 | rw - 1 | rw - 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0Ω |
FSSELx | FNx | ||||||
rw - 0 | rw - 1 | rw - 0 | rw - 0 | rw - 0 | rw - 0 | rw - 1 | rw - 0 |
位 | 字段 | 类型 | 复位 | 说明 |
---|---|---|---|---|
15-8 | FWKEYx | R/W | 96h | FCTLx 密码。一直读取为 096h。必须写入 0A5h。写入任何其他值都会产生 PUC。 |
7-6 | FSSELx | R/W | 1h | 闪存控制器时钟源选择 00b = ACLK 01b = MCLK 10b = SMCLK 11b = SMCLK |
5-0 | FNx | R/W | 2h | 闪存控制器时钟分频器。这六个位选择闪存控制器时钟的分频器。除数值为 FNx + 1。例如,当 FNx = 00h 时,除数为 1。当 FNx = 03Fh 时,除数为 64。 |
闪存存储器控制 3 寄存器
图 7-15 展示了 FCTL3,表 7-8 中对此进行了介绍。
返回表 7-4。
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
FWKEYx | |||||||
rw - 1 | rw - 0 | rw - 0 | rw - 1 | rw - 0 | rw - 1 | rw - 1 | rw - 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0Ω |
FAIL | LOCKA | EMEX | LOCK | 等待 | ACCVIFG | KEYV | 忙 |
r(w)-0 | r(w)-1 | rw - 0 | rw - 1 | r-1 | rw - 0 | rw - (0) | r-0 |
位 | 字段 | 类型 | 复位 | 说明 |
---|---|---|---|---|
15-8 | FWKEYx | R/W | 96h | FCTLx 密码。一直读取为 096h。必须写入 0A5h。写入任何其他值都会产生 PUC。 |
7 | FAIL | R/W | 0h | 运行故障。如果 fFTG 时钟源发生故障,或者 EEIEX = 1 时闪存操作因中断而中止,则会设置该位。必须用软件复位 FAIL。 0b = 无故障 1b = 故障 |
6 | LOCKA | R/W | 1h | 段 A 和信息锁定。写入一个 1 到这个位来改变其状态。写入 0 无效。 0b = 在批量擦除过程中,段 A 解锁并且所有信息存储器都被擦除。 1b = 在批量擦除过程中,段 A 锁定并且所有信息存储器都受到保护,不会被擦除。 |
5 | EMEX | R/W | 0h | 紧急退出 0b = 无紧急退出 1b = 紧急退出 |
4 | LOCK | R/W | 1h | 锁定。这个位解锁闪存存储器使其能够被写入或擦除。在字节或字写入或擦除操作期间,可在任一时间置位 LOCK 位,并且运行正常完成。在块写入模式下,如果在 BLKWRT = WAIT = 1 时设置了 LOCK 位,则 BLKWRT 和 WAIT 会复位,该模式正常结束。 0b = 未被锁定 1b = 被锁定 |
3 | WAIT | R | 1h | 等待。表明闪存存储器正在被写入。 0b = 闪存没有为下一次字节或字写入做好准备 1b = 闪存已经为下一次字节或字写入做好准备 |
2 | ACCVIFG | R/W | 0h | 访问违反中断标志 0b = 无中断挂起 1b = 中断挂起 |
1 | KEYV | R/W | 0h | 闪存安全密码违反。当置位时,这个位表明一个不正确的 FCTLx 密码被写入任一闪存控制寄存器并且生成一个 PUC。必须用软件来复位 KEYV。KEYV 由 POR 复位。 0b = 已正确写入 FCTLx 密码 1b = 错误地写入了 FCTLx 密码 |
0 | 忙 | R | 0h | 忙。这个位表明闪存时序发生器的状态。 0b = 不忙 1b = 忙 |
闪存控制 4 寄存器。并不是所有器件都提供这个寄存器。相关详细信息,请参阅器件特定数据表。
图 7-16 展示了 FCTL4,表 7-9 中对此进行了介绍。
返回表 7-4。
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
FWKEYx | |||||||
rw - 1 | rw - 0 | rw - 0 | rw - 1 | rw - 0 | rw - 1 | rw - 1 | rw - 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
保留 | MRG1 | MRG0 | 保留 | ||||
r-0 | r-0 | rw - 0 | rw - 0 | r-0 | r-0 | r-0 | r-0 |
位 | 字段 | 类型 | 复位 | 说明 |
---|---|---|---|---|
15-8 | FWKEYx | R/W | 96h | FCTLx 密码。一直读取为 096h。必须写入 0A5h。写入任何其他值都会产生 PUC。 |
7-6 | 保留 | R | 0h | 保留。始终读为 0。 |
5 | MRG1 | R/W | 0h | 边界读取 1 模式。这个位启用边界 1 读取模式。如果 CPU 从闪存开始执行,则会清除边缘读取 1 位。如果 MRG1 和 MRG0 都被置位,MRG1 被激活,而 MRG0 被忽略。 0b = 边际 1 读取模式被禁用。 1b = 边际 1 读取模式被启用。 |
4 | MRG0 | R/W | 0h | 边界读取 0 模式这个位启用边界 0 读取模式。如果 CPU 从闪存开始执行,则会清除边缘模式 0。如果 MRG1 和 MRG0 都被置位,MRG1 被激活,而 MRG0 被忽略。 0b = 边际 0 读取模式被禁用。 1b = 边际 0 读取模式被启用。 |
3-0 | 保留 | R | 0h | 保留。始终读为 0。 |