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 参考文献

在 CCS 中查看编译器选择的 IPE 分区

在启用了 IPE 的 CCS 中构建了项目之后,如果需要,用户可以使用 Debug 文件夹中的 .map 文件,查看设置了哪些 IPE 边界以及不同的代码段(例如 .ipe)和代码段内的函数放在了哪些位置。此外,还可以找到 fram_ipe_border1、fram_ipe_settings_struct_address 等参数的值。

SECTION ALLOCATION MAP output attributes/ section page origin length input sections -------- ---- ---------- ---------- ---------------- ... ... .ipestruct * 0 00004800 00000008 00004800 00000008 MSPIPE_INIT_LIB_CCS_msp430_large_code_restricted_data.lib : ipe_init.o (.ipestruct:retain) .ipe 0 00004808 000000d2 00004808 000000cc IPE_FR59xx.obj (.ipe:IPE_encapsulatedBlink) 000048d4 00000006 IPE_FR59xx.obj (.ipe:IPE_encapsulatedInit) .ipe_const * 0 000048da 00000010 000048da 00000010 IPE_FR59xx.obj (.ipe_const) .ipe:_isr * 0 000048ea 0000000a 000048ea 0000000a IPE_FR59xx.obj (.ipe:_isr:TIMER0_A0_ISR) .ipe_vars * 0 000048f4 00000002 UNINITIALIZED 000048f4 00000002 IPE_FR59xx.obj (.ipe_vars)... GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name address name ------- ---- ... ... 00004808 IPE_encapsulatedBlink 000048f4 IPE_encapsulatedCount 000048d4 IPE_encapsulatedInit 000048da IPE_encapsulatedKeys 000048f5 IPE_i 0000ff88 Ipe_enableSignature 00004800 Ipe_settingsStruct 0000ff8a Ipe_structureAddress ... ... 00000480 fram_ipe_border1 000004c0 fram_ipe_border2 ffffffff fram_ipe_checksum 00000040 fram_ipe_enable_value 00004c00 fram_ipe_end 00000480 fram_ipe_settings_struct_address 00004800 fram_ipe_start 00004400 fram_rw_start 00004c00 fram_rx_start ... ...

IPE 结构内置在代码的二进制映像中(.txt 或 .hex),以便能够在启动时被器件启动代码找到,如《MSP430FR58xx、MSP430FR59xx、MSP430FR68xx 和 MSP430FR69xx 系列用户指南》 (SLAU367) 中所述。也可以转到 Project > Properties > Build > MSP430 Hex Utility 来查看此二进制映像。选择“Enable MSP430 Hex Utility”,然后在“Output Format Options”下方选择“Output TI-TXT hex format (--ti_txt)”。随后会进行构建,Debug 文件夹中应当会出现一个 .txt 文件。

当查看此 txt 文件以查看 IPE 初始化结构时,请验证以下各项:

  1. 检查 0xFF8A 处的值。这是 IPE 签名中包含 IPE 结构地址的那一部分。请记住,此值已右移 4 位。在此示例中,0xFF8A 处的值为 0x0480,指向 IPE 结构的地址 0x4800。注意此值如何与 .map 文件匹配。
  2. @ff80 FF FF FF FF FF FF FF FF AA AA 80 04 FF FF FF FF
  3. 转到 IPE 初始化结构的地址(我们在步骤 1 中发现的地址,在本例中为 0x4800),并查看此结构中的值。它将具有来自用户指南的格式。
  4. Table 7. IPE 初始化结构

    字段名称 地址偏移量 长度 说明
    MPUIPC0 0h 文字 用于 IP 封装的控制设置。值将写入到 MPUIPC0
    MPUIPB2 2h 文字 IP 封装段的上边界。值将写入到 MPUIPSEGB2
    MPUIPB1 4h 文字 IP 封装段的下边界。值将写入到 MPUIPSEGB1
    MPUCHECK 6h 文字 偶位交错奇偶校验

在下面的示例中,您可以看到:

  • MPUIPC0 = 0x0040 → MPUIPENA = 1 = IPE 启用
  • MPUIPB2 = 0x04C0 → 地址 0x4C00 是 IPE 终点
  • MPUIPB1 = 0x0480 → 地址 0x4800 是 IPE 起点
  • MPUCHECK = 0xFFFF → 以前的数据的校验和。在校验和低位字节 = INV(Byte 0 XOR Byte 2 XOR Byte 4) = INV(40 XOR C0 XOR 80) = 0xFF、校验和高位字节 = INV(Byte 1 XOR Byte 3 XOR Byte 5) = INV(00 XOR 04 XOR 04) = 0xFF 时计算得出
@4800 40 00 C0 04 80 04 FF FF