ZHCAA02 December   2015 CC430F6125 , CC430F6126 , CC430F6127 , CC430F6135 , CC430F6137 , CC430F6147 , MSP430AFE221 , MSP430AFE222 , MSP430AFE223 , MSP430AFE231 , MSP430AFE232 , MSP430AFE233 , MSP430AFE251 , MSP430AFE252 , MSP430AFE253 , MSP430BT5190 , MSP430F1101 , MSP430F1101A , MSP430F1111A , MSP430F112 , MSP430F1121 , MSP430F1121A , MSP430F1122 , MSP430F1132 , MSP430F122 , MSP430F1222 , MSP430F123 , MSP430F1232 , MSP430F133 , MSP430F135 , MSP430F147 , MSP430F1471 , MSP430F148 , MSP430F1481 , MSP430F149 , MSP430F1491 , MSP430F155 , MSP430F156 , MSP430F157 , MSP430F1610 , MSP430F1611 , MSP430F1612 , MSP430F167 , MSP430F168 , MSP430F169 , MSP430F2001 , MSP430F2002 , MSP430F2003 , MSP430F2011 , MSP430F2012 , MSP430F2013 , MSP430F2013-EP , MSP430F2101 , MSP430F2111 , MSP430F2112 , MSP430F2121 , MSP430F2122 , MSP430F2131 , MSP430F2132 , MSP430F2232 , MSP430F2234 , MSP430F2252 , MSP430F2254 , MSP430F2272 , MSP430F2274 , MSP430F233 , MSP430F2330 , MSP430F235 , MSP430F2350 , MSP430F2370 , MSP430F2410 , MSP430F2416 , MSP430F2417 , MSP430F2418 , MSP430F2419 , MSP430F247 , MSP430F2471 , MSP430F248 , MSP430F2481 , MSP430F249 , MSP430F2491 , MSP430F2616 , MSP430F2617 , MSP430F2618 , MSP430F2619 , MSP430F412 , MSP430F413 , MSP430F4132 , MSP430F415 , MSP430F4152 , MSP430F417 , MSP430F423 , MSP430F423A , MSP430F425 , MSP430F4250 , MSP430F425A , MSP430F4260 , MSP430F427 , MSP430F4270 , MSP430F427A , MSP430F435 , MSP430F4351 , MSP430F436 , MSP430F4361 , MSP430F437 , MSP430F4371 , MSP430F438 , MSP430F439 , MSP430F447 , MSP430F448 , MSP430F4481 , MSP430F449 , MSP430F4491 , MSP430F4616 , MSP430F46161 , MSP430F4617 , MSP430F46171 , MSP430F4618 , MSP430F46181 , MSP430F4619 , MSP430F46191 , MSP430F47126 , MSP430F47127 , MSP430F47163 , MSP430F47166 , MSP430F47167 , MSP430F47173 , MSP430F47176 , MSP430F47177 , MSP430F47183 , MSP430F47186 , MSP430F47187 , MSP430F47193 , MSP430F47196 , MSP430F47197 , MSP430F477 , MSP430F478 , MSP430F4783 , MSP430F4784 , MSP430F479 , MSP430F4793 , MSP430F4794 , MSP430F5212 , MSP430F5214 , MSP430F5217 , MSP430F5219 , MSP430F5222 , MSP430F5224 , MSP430F5229 , MSP430F5232 , MSP430F5234 , MSP430F5237 , MSP430F5239 , MSP430F5242 , MSP430F5244 , MSP430F5247 , MSP430F5249 , MSP430F5252 , MSP430F5253 , MSP430F5254 , MSP430F5255 , MSP430F5256 , MSP430F5257 , MSP430F5258 , MSP430F5259 , MSP430F5304 , MSP430F5308 , MSP430F5309 , MSP430F5310 , MSP430F5324 , MSP430F5325 , MSP430F5326 , MSP430F5327 , MSP430F5328 , MSP430F5329 , MSP430F5333 , MSP430F5335 , MSP430F5336 , MSP430F5338 , MSP430F5340 , MSP430F5341 , MSP430F5342 , MSP430F5358 , MSP430F5359 , MSP430F5418 , MSP430F5418A , MSP430F5419 , MSP430F5419A , MSP430F5435 , MSP430F5435A , MSP430F5436 , MSP430F5436A , MSP430F5437 , MSP430F5437A , MSP430F5438 , MSP430F5438A , MSP430F5500 , MSP430F5501 , MSP430F5502 , MSP430F5503 , MSP430F5504 , MSP430F5505 , MSP430F5506 , MSP430F5507 , MSP430F5508 , MSP430F5509 , MSP430F5510 , MSP430F5513 , MSP430F5514 , MSP430F5515 , MSP430F5517 , MSP430F5519 , MSP430F5521 , MSP430F5522 , MSP430F5524 , MSP430F5525 , MSP430F5526 , MSP430F5527 , MSP430F5528 , MSP430F5529 , MSP430F5630 , MSP430F5631 , MSP430F5632 , MSP430F5633 , MSP430F5634 , MSP430F5635 , MSP430F5636 , MSP430F5637 , MSP430F5638 , MSP430F5658 , MSP430F5659 , MSP430F6433 , MSP430F6435 , MSP430F6436 , MSP430F6438 , MSP430F6458 , MSP430F6459 , MSP430F6630 , MSP430F6631 , MSP430F6632 , MSP430F6633 , MSP430F6634 , MSP430F6635 , MSP430F6636 , MSP430F6637 , MSP430F6638 , MSP430F6658 , MSP430F6659 , MSP430F6745 , MSP430F67451 , MSP430F67451A , MSP430F6745A , MSP430F6746 , MSP430F67461 , MSP430F67461A , MSP430F6746A , MSP430F6747 , MSP430F67471 , MSP430F67471A , MSP430F6747A , MSP430F6748 , MSP430F67481 , MSP430F67481A , MSP430F6748A , MSP430F6749 , MSP430F67491 , MSP430F67491A , MSP430F6749A , MSP430F67621 , MSP430F67621A , MSP430F67641 , MSP430F67641A , MSP430F6765 , MSP430F67651 , MSP430F67651A , MSP430F6765A , MSP430F6766 , MSP430F67661 , MSP430F67661A , MSP430F6766A , MSP430F6767 , MSP430F67671 , MSP430F67671A , MSP430F6767A , MSP430F6768 , MSP430F67681 , MSP430F67681A , MSP430F6768A , MSP430F6769 , MSP430F67691 , MSP430F67691A , MSP430F6769A , MSP430F6775 , MSP430F67751 , MSP430F67751A , MSP430F6775A , MSP430F6776 , MSP430F67761 , MSP430F67761A , MSP430F6776A , MSP430F6777 , MSP430F67771 , MSP430F67771A , MSP430F6777A , MSP430F6778 , MSP430F67781 , MSP430F67781A , MSP430F6778A , MSP430F6779 , MSP430F67791 , MSP430F67791A , MSP430F6779A , MSP430FE423 , MSP430FE4232 , MSP430FE423A , MSP430FE4242 , MSP430FE425 , MSP430FE4252 , MSP430FE425A , MSP430FE427 , MSP430FE4272 , MSP430FE427A , MSP430FG4250 , MSP430FG4260 , MSP430FG4270 , MSP430FG437 , MSP430FG438 , MSP430FG439 , MSP430FG4616 , MSP430FG4617 , MSP430FG4618 , MSP430FG4619 , MSP430FG477 , MSP430FG478 , MSP430FG479 , MSP430FR2032 , MSP430FR2033 , MSP430FR2110 , MSP430FR2111 , MSP430FR2311 , MSP430FR2433 , MSP430FR2532 , MSP430FR2533 , MSP430FR2632 , MSP430FR2633 , MSP430FR4131 , MSP430FR4132 , MSP430FR5720 , MSP430FR5721 , MSP430FR5722 , MSP430FR5723 , MSP430FR5724 , MSP430FR5725 , MSP430FR5726 , MSP430FR5727 , MSP430FR5728 , MSP430FR5729 , MSP430FR5730 , MSP430FR5731 , MSP430FR5732 , MSP430FR5733 , MSP430FR5734 , MSP430FR5735 , MSP430FR5736 , MSP430FR5737 , MSP430FR5738 , MSP430FR5739 , MSP430FR5847 , MSP430FR58471 , MSP430FR5848 , MSP430FR5849 , MSP430FR5857 , MSP430FR5858 , MSP430FR5859 , MSP430FR5867 , MSP430FR58671 , MSP430FR5868 , MSP430FR5869 , MSP430FR5870 , MSP430FR5872 , MSP430FR58721 , MSP430FR5887 , MSP430FR5888 , MSP430FR5889 , MSP430FR58891 , MSP430FR5922 , MSP430FR59221 , MSP430FR5947 , MSP430FR59471 , MSP430FR5948 , MSP430FR5949 , MSP430FR5957 , MSP430FR5958 , MSP430FR5959 , MSP430FR5967 , MSP430FR5968 , MSP430FR5969 , MSP430FR5969-SP , MSP430FR59691 , MSP430FR5970 , MSP430FR5972 , MSP430FR59721 , MSP430FR5986 , MSP430FR5987 , MSP430FR5988 , MSP430FR5989 , MSP430FR5989-EP , MSP430FR59891 , MSP430FR5994 , MSP430FR6820 , MSP430FR6822 , MSP430FR68221 , MSP430FR6870 , MSP430FR6872 , MSP430FR68721 , MSP430FR6877 , MSP430FR6879 , MSP430FR68791 , MSP430FR6887 , MSP430FR6888 , MSP430FR6889 , MSP430FR68891 , MSP430FR6920 , MSP430FR6922 , MSP430FR69221 , MSP430FR6927 , MSP430FR69271 , MSP430FR6928 , MSP430FR6970 , MSP430FR6972 , MSP430FR69721 , MSP430FR6977 , MSP430FR6979 , MSP430FR69791 , MSP430FR6987 , MSP430FR6988 , MSP430FR6989 , MSP430FR69891 , MSP430FW423 , MSP430FW425 , MSP430FW427 , MSP430FW428 , MSP430FW429 , MSP430G2001 , MSP430G2101 , MSP430G2102 , MSP430G2111 , MSP430G2112 , MSP430G2121 , MSP430G2131 , MSP430G2132 , MSP430G2152 , MSP430G2153 , MSP430G2201 , MSP430G2202 , MSP430G2203 , MSP430G2210 , MSP430G2211 , MSP430G2212 , MSP430G2213 , MSP430G2221 , MSP430G2230 , MSP430G2231 , 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 , MSP430L092 , MSP430TCH5E , MSP430V294

 

  1.   MSP 代码保护 特性
    1.     商标
    2. 1 简介
    3. 2 不同 MSP 系列的 JTAG 锁定
      1. 2.1 物理 JTAG 保险丝 (F1xx/F2xx/F4xx)
      2. 2.2 电子保险丝或无密码锁定
        1. 2.2.1 F5xx/F6xx 电子保险丝的实施方式
        2. 2.2.2 FR5xx/FR6xx 电子保险丝的实施方式(无密码锁定)
        3. 2.2.3 FR2xx/FR4xx 电子保险丝的实施方式
        4. 2.2.4 MSP430i2xx 电子保险丝的实施方式 - 启动代码 (SUC)
      3. 2.3 JTAG 密码锁定 (FR5xx/FR6xx)
        1. 2.3.1 在 CCS 中使用 JTAG 密码锁定
        2. 2.3.2 在 IAR 中使用 JTAG 密码锁定
    4. 3 IP 封装 (IPE)
      1. 3.1 使用 CCS 中的 IPE 工具进行 IP 封装
        1. 3.1.1 用于 IPE 的 CCS 链接器文件 特性
        2. 3.1.2 在 CCS 中将代码和数据放到 IPE 部分中
        3. 3.1.3 在 CCS 项目选项中启用 IPE
        4. 3.1.4 在 CCS 中查看编译器选择的 IPE 分区
        5. 3.1.5 在 CCS 中运行和测试 IPE 代码
          1. 3.1.5.1 在 CCS 中使用 IPE 调试设置
          2. 3.1.5.2 在 CCS 中测试 IPE
      2. 3.2 使用 IAR 中的 IPE 工具进行 IP 封装
        1. 3.2.1 用于 IPE 的 IAR 链接器文件 特性
        2. 3.2.2 在 IAR 中将代码和数据放到 IPE 部分中
        3. 3.2.3 在 IAR 项目选项中启用 IPE
        4. 3.2.4 在 IAR 中查看编译器选择的 IPE 分区
        5. 3.2.5 在 IAR 中运行和测试 IPE 代码
          1. 3.2.5.1 在 IAR 中使用 IPE 调试设置
          2. 3.2.5.2 在 IAR 中测试 IPE
    5. 4 引导加载程序 (BSL) 安全性 特性
      1. 4.1 密码保护
      2. 4.2 密码错误时批量擦除
      3. 4.3 禁用引导加载程序 (BSL)
    6. 5 参考文献

IP 封装 (IPE)

IP 封装 (IPE) 是诸如 MSP430FR59xx/69xx 系列 MSP430 FRAM 微控制器上提供的一种功能。(注意:对于 MSP432 器件上的 IP 保护安全区特性,请参阅应用报告Software IP Protection on MSP432P4xx Microcontrollers (SLAA660)。)

IP 封装允许用户封装 FRAM 存储器的某个区域以防止他人读取。当 IPE 激活时,即使使用 JTAG,也无法从 IP 封装区域以外的任何位置对 IP 封装区域中的任何代码或数据进行读取或写入访问。要去除 IPE 保护,需要执行由工具链提供支持的特殊批量擦除序列。任何形式的代码保护都不是无懈可击的,但此功能会为 JTAG/SBW 或引导加载程序的安全性提供额外一层保护,适用于密钥等敏感数据或者被用户视为知识产权 (IP) 的专有代码。

IP 封装的安全性和存储在其内的代码的安全性是一样的 - 即使代码位于封装区域内,糟糕的代码安全性措施也会让代码变得更容易受到攻击。需要特别注意可以读取/写入地址的代码或者不遵循可靠编码实践的代码。当封装执行结束时,如果需要隐藏代码对所使用的任何硬件模块和外设寄存器或者 RAM 执行的操作,则还必须将这些模块清除为它们的原始状态。

例如,IPE 示例项目包含一个示例,说明了如何清除 IPE 代码部分所使用的硬件模块寄存器:

TA0CCTL0 = 0; TA0CCR0 = 0; TA0CCR1 = 0; TA0CCR2 = 0; TA0CTL = 0; TA0R = 0; P4DIR &= ~BIT6; P4OUT &= ~BIT6;

它还包含一个示例,说明了如何清除通用 CPU 寄存器 R4 到 R15:

__asm(" mov.w #0, R4"); __asm(" mov.w #0, R5"); __asm(" mov.w #0, R6"); __asm(" mov.w #0, R7"); __asm(" mov.w #0, R8"); __asm(" mov.w #0, R9"); __asm(" mov.w #0, R10"); __asm(" mov.w #0, R11"); __asm(" mov.w #0, R12"); __asm(" mov.w #0, R13"); __asm(" mov.w #0, R14"); __asm(" mov.w #0, R15");

NOTE

如果将参数传回给 IPE 区域以外的代码,则可能需要保留寄存器 R12 到 R15。请参阅MSP430 Optimizing C/C++ Compiler User's Guide 中的“How a Function Makes a Call”和“How a Called Function Responds”部分,了解更多信息。

对于不同的 应用,可能需要采取更多的代码安全性措施;例如清除在函数期间分配的 RAM。另一种可以采取的预防措施是,在 IPE 执行时对 IPE 未使用的函数禁用中断(如果可能),然后在 IPE 结束时重新启用它们。这样可以确保在服务于 IPE 区域以外的任何 ISR 之前清除寄存器或 RAM。这些类型的高级预防措施与应用相关,而且需要隐藏的内容因需求而异,但在所有情况下都应特别注意。