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

 

  1.   MSP Code Protection Features
    1.     Trademarks
    2. 1 Introduction
    3. 2 Locking JTAG Across Different MSP Families
      1. 2.1 Physical JTAG Fuse (F1xx/F2xx/F4xx)
      2. 2.2 Electronic Fuse or Lock Without Password
        1. 2.2.1 F5xx/F6xx Electronic Fuse Implementation
        2. 2.2.2 FR5xx/FR6xx Electronic Fuse Implementation (Lock without password)
        3. 2.2.3 FR2xx/FR4xx Electronic Fuse Implementation
        4. 2.2.4 MSP430i2xx Electronic Fuse Implementation – Start-Up Code (SUC)
      3. 2.3 JTAG Lock With Password (FR5xx/FR6xx)
        1. 2.3.1 Using JTAG Lock With Password in CCS
        2. 2.3.2 Using JTAG Lock With Password in IAR
    4. 3 IP Encapsulation (IPE)
      1. 3.1 IP Encapsulation Using the IPE Tool in CCS
        1. 3.1.1 CCS Linker File Features for IPE
        2. 3.1.2 Placing Code and Data in the IPE Sections in CCS
        3. 3.1.3 Enabling IPE in CCS Project Options
        4. 3.1.4 Viewing the Compiler-Selected IPE partitioning in CCS
        5. 3.1.5 Running and Testing IPE Code in CCS
          1. 3.1.5.1 Debug Settings With IPE in CCS
          2. 3.1.5.2 Testing IPE in CCS
      2. 3.2 IP Encapsulation Using the IPE Tool in IAR
        1. 3.2.1 IAR Linker File Features for IPE
        2. 3.2.2 Placing Code and Data in the IPE Sections in IAR
        3. 3.2.3 Enabling IPE in IAR Project Options
        4. 3.2.4 Viewing the Compiler-Selected IPE Partitioning in IAR
        5. 3.2.5 Running and Testing IPE Code in IAR
          1. 3.2.5.1 Debug Settings With IPE in IAR
          2. 3.2.5.2 Testing IPE in IAR
    5. 4 Bootloader (BSL) Security Features
      1. 4.1 Password Protection
      2. 4.2 Mass Erase on Incorrect Password
      3. 4.3 Disabling Bootloader (BSL)
    6. 5 References

IP Encapsulation (IPE)

IP Encapsulation (IPE) is a feature found on some MSP430 FRAM microcontrollers, like the MSP430FR59xx/69xx family. (Note: For the IP Protection secure zones feature found on MSP432 devices, see the application report Software IP Protection on MSP432P4xx Microcontrollers (SLAA660).

IP Encapsulation allows the user to encapsulate and protect an area of the FRAM memory from readout. When IPE is in place, any code or data in the IP Encapsulated area is protected from read or write access from anywhere outside of the IP Encapsulated area, even by JTAG. The way to remove the IPE protection is to perform a special mass erase sequence enabled by the tool chain. No form of code protection is perfect, but this feature adds an additional layer on top of JTAG/SBW or bootloader security, for sensitive data like keys or for proprietary code that is the user's intellectual property (IP).

The IP Encapsulation is only as secure as the code stored in it—poor code security practices can make the code more vulnerable even if it is within the encapsulated area. Code that can read/write to addresses, or that does not follow robust coding practices, is especially concerning. It is also important to clear any hardware modules and peripheral registers used or RAM to their original states at the end of the encapsulated execution if it is desired to hide what the code does with these modules.

For example, the IPE example project includes an example of clearing hardware module registers used by the IPE code section:

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

It also includes an example of clearing the general-purpose CPU registers 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

If passing parameters back to code outside the IPE area, the registers R12-R15 may need to be preserved. See the MSP430 Optimizing C/C++ Compiler User's Guide sections on "How a Function Makes a Call" and "How a Called Function Responds" for more information.

More code security measures may be needed for different applications; for example, clearing RAM that was allocated in the course of the function. Another possible precaution would be disabling interrupts (if possible) for functions not used by the IPE while the IPE executes, and reenabling them at the end of the IPE. This would ensure that the registers or RAM are cleared before servicing any ISR outside of the IPE region. These types of advanced precautions are very application-specific, with what is important to hide varying based on need, but in all cases care should be taken.