SoCÖеÄÄþ¾²ÎÀÊ¿¡ª¡ªÄþ¾²AHB¿ØÖÆÆ÷
- ·ÖÀࣺÐÂÎÅÖÐÐÄ
- ×÷ÕߣºLiu Hao@NXP
- À´Ô´£º¶÷ÖÇÆÖMCU¼ÓÓÍÕ¾
- Ðû²¼Ê±¼ä£º2023-03-03 17:05
- »á¼ûÁ¿£º
¡¾ÌáÒªÃèÊö¡¿? Ò»¡¢Cortex-M33 TrustZone Cortex M33ÄÚÖÃÁËArmÉè¼ÆµÄTrustZone¼¼Êõ£¬¿ÉÒÔʵÏÖÄþ¾²(Secure/S)Óë·ÇÄþ¾²(Non-Secure/NS)Ö®¼äµÄ¸ôÀ룬Ìá¸ßϵͳµÄÄþ¾²Æ·¼¶¡£ ¶÷ÖÇÆÖMCU¼ÓÓÍÕ¾ÖÐÒѾÓÐÈô¸ÉÎÄÕÂΪ¸÷È˽éÉÜÁËTrustZone: ? ͨ¹ýÉÏÃæµÄÎÄÕ£¬Ïë±Ø¸÷È˶ÔTrustZoneÒѾÓÐÁËһЩ»ù±¾µÄÀí½â¡£ TrustZoneÊÇÄÚÖÃÔÚCortex M33ÄÚºËÖеÄÒ»¸ö¹¦Ð§¡£Äþ¾²ÊÇÒ»¸öϵͳ¹¤³Ì£¬¿ÉÊÇ£¬MCUÒ²ÊÇÒ»¸öÂéȸËäСµ«ÎåÔà¾ãÈ«µÄSoC(System on Chip)£¬Äں˾߱¸Äþ¾²µÄ¸ôÀëÄÜÁ¦£¬ÊÇ·ñÄܹ»Âú×ãÎÒÃǹØÓÚÕû¸öSoCϵͳµÄÄþ¾²¸ôÀëÒªÇóÄØ£¿ ±¾ÎÄÒÔLPC55S69£¨CPU0ΪCortex M33ÇÒÖ§³ÖTrustZone£©ÎªÀý£¬Îª¸÷È˼òÒª½éÉÜÄþ¾²AHB¿ØÖÆÆ÷¡£ ? ¶þ¡¢½âÆÊ×ÜÏßÉϵÄÖ÷´ÓÉ豸 ÎÒÃÇ¿ÉÒÔ¼òµ¥µØ°ÑMCUÀí½âΪÓÉÄÚºË+¶àÖÖÍâÉè×é³ÉµÄоƬ£¬Èí¼þ¹¤³Ìʦ±àдµÄ´úÂë×îÖÕÔËÐÐÔÚÄÚºËÖУ¬Í¨¹ý²Ù×÷ÍâÉèʵÏÖÖÖÖÖ¸÷ÑùµÄ¹¦Ð§¡£ ºÁÎÞÒÉÎÊ£¬ÄÚºËÊÇ×ÜÏßÉϵÄÒ»ÖÖÖ÷É豸£¬Ëü²»µ«¾ßÓÐ×Ô¼ºµÄ¼Ä´æÆ÷£¬»¹»áÔÚÔËÐÐÖÐÖ÷¶¯µØÏò×ÜÏßÉϵÄÆäËûÉ豸£¨ÀýÈçÄڴ棬flashµÈ£©Ìᳫ»á¼û¡£ ¶ø´ó²¿¸ñÍâÉ裬¶¼ÊÇ´ÓÉ豸£¬ÀýÈçUSARTºÍSPIµÈÍâÉ裬ֻÄܱ»¶¯µØÆÚ´ýÄں˻òÆäËûÖ÷É豸µÄÅäÖã¬È»ºóʵÏÖÏàÓ¦µÄ¹¦Ð§¡£ÔÚÔËÐÐÖУ¬´ÓÉ豸²¢²»¾ß±¸²Ù×÷ÆäËûÉ豸µÄÄÜÁ¦¡£ ÓÐһЩÌØÊâµÄÍâÉ裬ÀýÈçDMA£¬USBµÈÍâÉ裬ÓëÄÚºËÀàËÆ£¬ËüÃǾßÓÐ×Ô¼ºµÄ¼Ä´æÆ÷£¬²¢ÇÒÔÚÔËÐÐÖУ¬»áÖ÷¶¯µØ»á¼ûÄÚ´æ¡¢flashÉõÖÁÊÇÆäËûÍâÉèµÄ¼Ä´æÆ÷¡£ ? Èý¡¢Ö»ÓÐTrustZone¾Í¹»ÁËÂ𣿠ÄÇô£¬ÔÚMCUÖУ¬Í¨¹ýTrustZone¹¦Ð§£¬Äں˿ÉÒÔÔÚÔËÐÐÖдÓÄþ¾²×´Ì¬Çл»ÖÁ·ÇÄþ¾²×´Ì¬¡£×ªÒÆÖÁ·ÇÄþ¾²×´Ì¬ºó£¬ÄÚºËÊÇÎÞ·¨»á¼ûÄþ¾²ÇøÓòµÄ×ÊÔ´µÄ¡£ ÈçÉϽÚËùÊö£¬×ÜÏßÉÏÓÐÐí¶àÖ÷É豸ºÍ´ÓÉ豸¡£¿ÉÊÇ£¬ÓÉÓÚTrustZoneÊǼ¯³ÉÔÚÄÚºËÖеģ¬TrustZone²»¿ÉÏÞÖÆÄÚºËÖ®ÍâµÄÆäËûÖ÷É豸µÄÐÐΪ£¬×ÜÏßÉϵÄÆäËûÖ÷É豸ÈÔÈ»¿ÉÒÔ»á¼ûÄþ¾²ÇøºÍ·ÇÄþ¾²ÇøµÄËùÓÐ×ÊÔ´¡£ Òò´Ë£¬DMAµÈÆäËû×ÜÏßÉϵÄÖ÷É豸£¬ÈÔÈ»¿ÉÒÔ»á¼ûÕû¸öµØµã¿Õ¼ä£¬×ÝÈ»Cortex M33Äں˱»×ªÒÆÖÁ·ÇÄþ¾²×´Ì¬£¬´ËʱCortex M33ÄÚºËûÓÐÄþ¾²Çø×ÊÔ´µÄ»á¼ûȨÏÞ£¬ÈÔÈ»¿ÉÒÔͨ¹ýÀûÓÃÆäËûÖ÷É豸£¨ÀýÈçDMA£©£¬»á¼ûÈÎÒâ×ÊÔ´¡£ÄÇô´Ëʱ£¬DMAµÈÆäËûÖ÷É豸¾ÍÏñÊÇÒ»¸ö¿ÉÒÔ±»ÀûÓõġ°Â©¶´¡±£¬ÕâÊÇÄþ¾²ÏµÍ³²»¿É½ÓÊܵġ£ ÕâʱµÄϵͳÈçÏÂͼËùʾ£¬×ÝÈ»Cortex M33±»TrustZoneµÄSAUºÍIDAUÑϸñÏÞÖÆ£¬µ«ÆäËûÖ÷É豸ÔÚ×ÜÏßÉÏÈÔÈ»ÊÇÁ÷ͨÎÞ×è¡£ ? ËÄ¡¢Äþ¾²AHB¿ØÖÆÆ÷ Äþ¾²AHB¿ØÖÆÆ÷µÄÓ¢ÎÄÃû³ÆÊÇSecure AHB Controller¡£ Æäʵ£¬±¬·¢Ç°ÎÄËùÊöÎÊÌâµÄÔÒòÓÐÁ½¸ö£º ? ×ÜÏßÉÏ£¬Ö»ÓÐCortex M33ÄÚºËCPU0¾ßÓÐTrustZone¹¦Ð§£¬¶øÆäËûµÄÖ÷É豸ûÓд˹¦Ð§¡£Õ¾ÔÚ×ÜÏߵĽǶȿ´£¬Ö»ÄÜÅжϳöCPU0 Cortex M33·¢³öµÄÇëÇóºÍ»á¼ûÊÇ·ñÊÇÄþ¾²£¬È´ÎÞ·¨ÅжϳöÆäËûÖ÷É豸µÄ»á¼ûÇëÇóÊÇÄþ¾²»ò·ÇÄþ¾²¡£ ¹ØÓÚ×ÜÏßÉϵĴÓÉ豸À´Ëµ£¬´ÓÉ豸ÎÞ·¨ÅжÏÀ´×Ô×ÜÏߵĻá¼ûÊÇÄþ¾²ÕվɷÇÄþ¾²µÄ£¬Òò´ËÒ²¾ÍÎÞ·¨Í¨¹ýÒÔÉèÖûá¼û¹æÔòµÄ·½·¨£¬¾Ü¾øÎ¥±³»á¼û¹æÔòµÄ²»·¨ÇëÇóºÍ»á¼û¡£ ? Äþ¾²AHB¿ØÖÆÆ÷ÊÇNXP LPC55SxxϵÁÐMCUµÄÒ»¸öÌØÊâÍâÉè¡£ Äþ¾²AHB¿ØÖÆÆ÷ÌṩÁËMSW(Master Security Wrapper)£¬MSWΪ×ÜÏßÉϳýCPU0Ö®ÍâµÄÆäËûÖ÷É豸£¬ÌṩÁËÒ»ÖÖ¼òÒ×µÄÀàËÆÓÚTrustZoneµÄ¹¦Ð§¡£×ÜÏßÉϳýCPU0ÍâµÄÿһ¸öÖ÷É豸¶¼ÓÐÒ»¸öMSW¡£ ÀýÈ磬ÎÒÃÇ¿ÉÒÔͨ¹ýMSW£¬½«Ä³¸öÖ÷É豸DMA0ÅäÖÃΪÄþ¾²Ö÷É豸£¬ÄÇôÔÚÔËÐÐÖУ¬DMA0·¢³öµÄËùÓлá¼ûÇëÇ󣬶¼ÊÇÄþ¾²ÇëÇó£»ÎÒÃÇÒ²¿ÉÒÔ½«ÁíÒ»¸öÖ÷É豸DMA1ÅäÖÃΪ·ÇÄþ¾²Ö÷É豸£¬ÔÚÔËÐÐÖУ¬DMA1·¢³öµÄËùÓлá¼ûÇëÇ󣬶¼ÊÇ·ÇÄþ¾²ÇëÇó¡£ ÓÐÁËMSW£¬´Ó×ÜÏߵĽǶȿ´£¬ÎÒÃǾͿÉÒÔÇø·Ö³öÿһ¸öÖ÷É豸·¢³öµÄÇëÇóÊÇÄþ¾²ÕվɷÇÄþ¾²¡£ Äþ¾²AHB¿ØÖÆÆ÷»¹ÎªÃ¿Ò»¸ö´ÓÉ豸£¨ÍâÉ裩ÌṩÁËÒ»¸ö¡°±£°²¡±PPC(Peripheral Protection Checkers)£¬PPC½«»á㡾¡Ö°ÊØ£¬Ñϸñ¼ì²ì»á¼ûÇëÇóÊÇ·ñÇкÏÉèÖõĻ®¶¨Õ³̣¬²¢¾Ü¾ø²»·¨µÄ»á¼û¡£ ÀýÈ磬ÎÒÃÇ¿ÉÒÔ½«Î»ÓÚUSART֮ǰµÄPPC¼ì²é¹æÔòÉèÖÃΪ½öÔÊÐíÄþ¾²»á¼û£¬ÄÇôËùÓзÇÄþ¾²»á¼û¶¼±»ÊÓΪ²»·¨£¬²¢±»PPC¾ÜÖ®ÃÅÍ⣬ÉÏÎÄËùÊö±»ÅäÖÃΪ·ÇÄþ¾²Ö÷É豸µÄDMA1Ò²¾ÍÎÞ·¨»á¼ûºÍ²Ù×÷USART¡£ ͬʱ£¬Äþ¾²AHB¿ØÖÆÆ÷ҲΪÄÚ²¿´æ´¢½éÖÊ£¨°üÀ¨RAM£¬FlashºÍROM£©ÌṩÁËÀàËÆPPCµÄ¡°±£°²¡±-MPC(Memory Protection Checkers)£¬MPC¿ÉÒÔ·Ö¿éµØ±£»¤ÖÖÖÖÄÚ²¿´æ´¢½éÖÊ¡£ ´Ëʱ×ÜÏߵļܹ¹Í¼ÈçÉÏͼËùʾ¡£ ÓÐÁËÄþ¾²AHB¿ØÖÆÆ÷µÄMSW£¬×ÜÏßÉϵÄËùÓÐÖ÷É豸²»µ«Ö§³ÖÄþ¾²²à´øÐźÅHNONSEC£¨Äþ¾²»á¼û£©×÷Ϊ¸ø¶¨»á¼ûµÄÄþ¾²ÊôÐÔµÄָʾ£¬Ò²Ö§³ÖHPRIV£¨ÌØȨ£©ÐźÅ×÷ΪÌØȨÓë·ÇÌØȨÊôÐÔµÄָʾ¡££¨×¢£º±¾ÎÄÖصã½éÉÜÁËHNONSECÐźÅÏà¹ØµÄÄþ¾²Óë·ÇÄþ¾²ÊôÐÔ£¬²¢Î´Ïêϸ½éÉÜÓëHPRIVÏà¹ØµÄÌØȨÓë·ÇÌØȨ£¬ÕâÓëCortex M3/M4µÈÄÚºËÖеÄÌØȨÓë·ÇÌØȨÏàͬ£©¡£ Äþ¾²AHB×ÜÏß´¦ÀíHNONSECÐźţ¬²¢½«ÆäÓëÄþ¾²AHB¿ØÖÆÆ÷ÖÐΪ´ÓÉ豸µÄPPC/MPCËùÉèÖõÄÄþ¾²ÊôÐÔ½øÐбȽϡ£Èç¹ûÇëÇó»á¼ûµÄÄþ¾²ÊôÐÔ²»Î¥·´±»»á¼û´ÓÉ豸µÄÄþ¾²ÊôÐÔ£¬ÔòÔÊÐí»á¼û¡£Èç¹ûÔÚ»á¼ûÖÐÎ¥·´¹æÔò±¬·¢³åÍ»£¬Ôò»áÒý·¢Äþ¾²³åÍ»Öжϡ£CPU0Çл»µ½Äþ¾²Ä£Ê½ÒÔ´¦ÀíÎ¥¹æ¡£ Äþ¾²ÊǸöϵͳ¹¤³Ì£¬ÓÐÁËÄþ¾²AHB¿ØÖÆÆ÷Õâ¸öÄþ¾²ÊØÎÀ£¬ÎÒÃǵÄSoCϵͳ²Å»ª±»µÎË®²»Â©µØ»®·ÖΪÄþ¾²ÊÀ½çºÍ·ÇÄþ¾²ÊÀ½ç¡£ Óë´Ëͬʱ£¬Äþ¾²AHB¿ØÖÆÆ÷»¹ÌṩÁËÐí¶à¹¦Ð§£¬¿ÉÒÔÓÃÀ´ÉèÖÃSoCÄþ¾²Ïà¹ØµÄÅäÖ㬲¢ÇÒ»¹ÌṩÁËһЩ¼Ä´æÆ÷£¬ÓÃÓÚµ÷ÊԺʹ¦ÀíÎ¥¹æ»á¼û¡£¹ØÓÚÄþ¾²AHB¿ØÖÆÆ÷µÄ¸ü¶àÐÅÏ¢£¬Çë²Î¿¼LPC55SxxÓû§ÊÖ²á(User Manual)ÖÐTrusted Execution EnvironmentÏà¹ØÕ½ڡ£ ? ?
SoCÖеÄÄþ¾²ÎÀÊ¿¡ª¡ªÄþ¾²AHB¿ØÖÆÆ÷
¡¾ÌáÒªÃèÊö¡¿?
Ò»¡¢Cortex-M33 TrustZone
Cortex M33ÄÚÖÃÁËArmÉè¼ÆµÄTrustZone¼¼Êõ£¬¿ÉÒÔʵÏÖÄþ¾²(Secure/S)Óë·ÇÄþ¾²(Non-Secure/NS)Ö®¼äµÄ¸ôÀ룬Ìá¸ßϵͳµÄÄþ¾²Æ·¼¶¡£
¶÷ÖÇÆÖMCU¼ÓÓÍÕ¾ÖÐÒѾÓÐÈô¸ÉÎÄÕÂΪ¸÷È˽éÉÜÁËTrustZone:
?
ͨ¹ýÉÏÃæµÄÎÄÕ£¬Ïë±Ø¸÷È˶ÔTrustZoneÒѾÓÐÁËһЩ»ù±¾µÄÀí½â¡£
TrustZoneÊÇÄÚÖÃÔÚCortex M33ÄÚºËÖеÄÒ»¸ö¹¦Ð§¡£Äþ¾²ÊÇÒ»¸öϵͳ¹¤³Ì£¬¿ÉÊÇ£¬MCUÒ²ÊÇÒ»¸öÂéȸËäСµ«ÎåÔà¾ãÈ«µÄSoC(System on Chip)£¬Äں˾߱¸Äþ¾²µÄ¸ôÀëÄÜÁ¦£¬ÊÇ·ñÄܹ»Âú×ãÎÒÃǹØÓÚÕû¸öSoCϵͳµÄÄþ¾²¸ôÀëÒªÇóÄØ£¿
±¾ÎÄÒÔLPC55S69£¨CPU0ΪCortex M33ÇÒÖ§³ÖTrustZone£©ÎªÀý£¬Îª¸÷È˼òÒª½éÉÜÄþ¾²AHB¿ØÖÆÆ÷¡£
?
¶þ¡¢½âÆÊ×ÜÏßÉϵÄÖ÷´ÓÉ豸
ÎÒÃÇ¿ÉÒÔ¼òµ¥µØ°ÑMCUÀí½âΪÓÉÄÚºË+¶àÖÖÍâÉè×é³ÉµÄоƬ£¬Èí¼þ¹¤³Ìʦ±àдµÄ´úÂë×îÖÕÔËÐÐÔÚÄÚºËÖУ¬Í¨¹ý²Ù×÷ÍâÉèʵÏÖÖÖÖÖ¸÷ÑùµÄ¹¦Ð§¡£
ºÁÎÞÒÉÎÊ£¬ÄÚºËÊÇ×ÜÏßÉϵÄÒ»ÖÖÖ÷É豸£¬Ëü²»µ«¾ßÓÐ×Ô¼ºµÄ¼Ä´æÆ÷£¬»¹»áÔÚÔËÐÐÖÐÖ÷¶¯µØÏò×ÜÏßÉϵÄÆäËûÉ豸£¨ÀýÈçÄڴ棬flashµÈ£©Ìᳫ»á¼û¡£
¶ø´ó²¿¸ñÍâÉ裬¶¼ÊÇ´ÓÉ豸£¬ÀýÈçUSARTºÍSPIµÈÍâÉ裬ֻÄܱ»¶¯µØÆÚ´ýÄں˻òÆäËûÖ÷É豸µÄÅäÖã¬È»ºóʵÏÖÏàÓ¦µÄ¹¦Ð§¡£ÔÚÔËÐÐÖУ¬´ÓÉ豸²¢²»¾ß±¸²Ù×÷ÆäËûÉ豸µÄÄÜÁ¦¡£
ÓÐһЩÌØÊâµÄÍâÉ裬ÀýÈçDMA£¬USBµÈÍâÉ裬ÓëÄÚºËÀàËÆ£¬ËüÃǾßÓÐ×Ô¼ºµÄ¼Ä´æÆ÷£¬²¢ÇÒÔÚÔËÐÐÖУ¬»áÖ÷¶¯µØ»á¼ûÄÚ´æ¡¢flashÉõÖÁÊÇÆäËûÍâÉèµÄ¼Ä´æÆ÷¡£
?
Èý¡¢Ö»ÓÐTrustZone¾Í¹»ÁËÂð£¿
ÄÇô£¬ÔÚMCUÖУ¬Í¨¹ýTrustZone¹¦Ð§£¬Äں˿ÉÒÔÔÚÔËÐÐÖдÓÄþ¾²×´Ì¬Çл»ÖÁ·ÇÄþ¾²×´Ì¬¡£×ªÒÆÖÁ·ÇÄþ¾²×´Ì¬ºó£¬ÄÚºËÊÇÎÞ·¨»á¼ûÄþ¾²ÇøÓòµÄ×ÊÔ´µÄ¡£
ÈçÉϽÚËùÊö£¬×ÜÏßÉÏÓÐÐí¶àÖ÷É豸ºÍ´ÓÉ豸¡£¿ÉÊÇ£¬ÓÉÓÚTrustZoneÊǼ¯³ÉÔÚÄÚºËÖеģ¬TrustZone²»¿ÉÏÞÖÆÄÚºËÖ®ÍâµÄÆäËûÖ÷É豸µÄÐÐΪ£¬×ÜÏßÉϵÄÆäËûÖ÷É豸ÈÔÈ»¿ÉÒÔ»á¼ûÄþ¾²ÇøºÍ·ÇÄþ¾²ÇøµÄËùÓÐ×ÊÔ´¡£
Òò´Ë£¬DMAµÈÆäËû×ÜÏßÉϵÄÖ÷É豸£¬ÈÔÈ»¿ÉÒÔ»á¼ûÕû¸öµØµã¿Õ¼ä£¬×ÝÈ»Cortex M33Äں˱»×ªÒÆÖÁ·ÇÄþ¾²×´Ì¬£¬´ËʱCortex M33ÄÚºËûÓÐÄþ¾²Çø×ÊÔ´µÄ»á¼ûȨÏÞ£¬ÈÔÈ»¿ÉÒÔͨ¹ýÀûÓÃÆäËûÖ÷É豸£¨ÀýÈçDMA£©£¬»á¼ûÈÎÒâ×ÊÔ´¡£ÄÇô´Ëʱ£¬DMAµÈÆäËûÖ÷É豸¾ÍÏñÊÇÒ»¸ö¿ÉÒÔ±»ÀûÓõġ°Â©¶´¡±£¬ÕâÊÇÄþ¾²ÏµÍ³²»¿É½ÓÊܵġ£
ÕâʱµÄϵͳÈçÏÂͼËùʾ£¬×ÝÈ»Cortex M33±»TrustZoneµÄSAUºÍIDAUÑϸñÏÞÖÆ£¬µ«ÆäËûÖ÷É豸ÔÚ×ÜÏßÉÏÈÔÈ»ÊÇÁ÷ͨÎÞ×è¡£
?
ËÄ¡¢Äþ¾²AHB¿ØÖÆÆ÷
Äþ¾²AHB¿ØÖÆÆ÷µÄÓ¢ÎÄÃû³ÆÊÇSecure AHB Controller¡£
Æäʵ£¬±¬·¢Ç°ÎÄËùÊöÎÊÌâµÄÔÒòÓÐÁ½¸ö£º
?
×ÜÏßÉÏ£¬Ö»ÓÐCortex M33ÄÚºËCPU0¾ßÓÐTrustZone¹¦Ð§£¬¶øÆäËûµÄÖ÷É豸ûÓд˹¦Ð§¡£Õ¾ÔÚ×ÜÏߵĽǶȿ´£¬Ö»ÄÜÅжϳöCPU0 Cortex M33·¢³öµÄÇëÇóºÍ»á¼ûÊÇ·ñÊÇÄþ¾²£¬È´ÎÞ·¨ÅжϳöÆäËûÖ÷É豸µÄ»á¼ûÇëÇóÊÇÄþ¾²»ò·ÇÄþ¾²¡£
¹ØÓÚ×ÜÏßÉϵĴÓÉ豸À´Ëµ£¬´ÓÉ豸ÎÞ·¨ÅжÏÀ´×Ô×ÜÏߵĻá¼ûÊÇÄþ¾²ÕվɷÇÄþ¾²µÄ£¬Òò´ËÒ²¾ÍÎÞ·¨Í¨¹ýÒÔÉèÖûá¼û¹æÔòµÄ·½·¨£¬¾Ü¾øÎ¥±³»á¼û¹æÔòµÄ²»·¨ÇëÇóºÍ»á¼û¡£
?
Äþ¾²AHB¿ØÖÆÆ÷ÊÇNXP LPC55SxxϵÁÐMCUµÄÒ»¸öÌØÊâÍâÉè¡£
Äþ¾²AHB¿ØÖÆÆ÷ÌṩÁËMSW(Master Security Wrapper)£¬MSWΪ×ÜÏßÉϳýCPU0Ö®ÍâµÄÆäËûÖ÷É豸£¬ÌṩÁËÒ»ÖÖ¼òÒ×µÄÀàËÆÓÚTrustZoneµÄ¹¦Ð§¡£×ÜÏßÉϳýCPU0ÍâµÄÿһ¸öÖ÷É豸¶¼ÓÐÒ»¸öMSW¡£
ÀýÈ磬ÎÒÃÇ¿ÉÒÔͨ¹ýMSW£¬½«Ä³¸öÖ÷É豸DMA0ÅäÖÃΪÄþ¾²Ö÷É豸£¬ÄÇôÔÚÔËÐÐÖУ¬DMA0·¢³öµÄËùÓлá¼ûÇëÇ󣬶¼ÊÇÄþ¾²ÇëÇó£»ÎÒÃÇÒ²¿ÉÒÔ½«ÁíÒ»¸öÖ÷É豸DMA1ÅäÖÃΪ·ÇÄþ¾²Ö÷É豸£¬ÔÚÔËÐÐÖУ¬DMA1·¢³öµÄËùÓлá¼ûÇëÇ󣬶¼ÊÇ·ÇÄþ¾²ÇëÇó¡£
ÓÐÁËMSW£¬´Ó×ÜÏߵĽǶȿ´£¬ÎÒÃǾͿÉÒÔÇø·Ö³öÿһ¸öÖ÷É豸·¢³öµÄÇëÇóÊÇÄþ¾²ÕվɷÇÄþ¾²¡£
Äþ¾²AHB¿ØÖÆÆ÷»¹ÎªÃ¿Ò»¸ö´ÓÉ豸£¨ÍâÉ裩ÌṩÁËÒ»¸ö¡°±£°²¡±PPC(Peripheral Protection Checkers)£¬PPC½«»á㡾¡Ö°ÊØ£¬Ñϸñ¼ì²ì»á¼ûÇëÇóÊÇ·ñÇкÏÉèÖõĻ®¶¨Õ³̣¬²¢¾Ü¾ø²»·¨µÄ»á¼û¡£
ÀýÈ磬ÎÒÃÇ¿ÉÒÔ½«Î»ÓÚUSART֮ǰµÄPPC¼ì²é¹æÔòÉèÖÃΪ½öÔÊÐíÄþ¾²»á¼û£¬ÄÇôËùÓзÇÄþ¾²»á¼û¶¼±»ÊÓΪ²»·¨£¬²¢±»PPC¾ÜÖ®ÃÅÍ⣬ÉÏÎÄËùÊö±»ÅäÖÃΪ·ÇÄþ¾²Ö÷É豸µÄDMA1Ò²¾ÍÎÞ·¨»á¼ûºÍ²Ù×÷USART¡£
ͬʱ£¬Äþ¾²AHB¿ØÖÆÆ÷ҲΪÄÚ²¿´æ´¢½éÖÊ£¨°üÀ¨RAM£¬FlashºÍROM£©ÌṩÁËÀàËÆPPCµÄ¡°±£°²¡±-MPC(Memory Protection Checkers)£¬MPC¿ÉÒÔ·Ö¿éµØ±£»¤ÖÖÖÖÄÚ²¿´æ´¢½éÖÊ¡£
´Ëʱ×ÜÏߵļܹ¹Í¼ÈçÉÏͼËùʾ¡£
ÓÐÁËÄþ¾²AHB¿ØÖÆÆ÷µÄMSW£¬×ÜÏßÉϵÄËùÓÐÖ÷É豸²»µ«Ö§³ÖÄþ¾²²à´øÐźÅHNONSEC£¨Äþ¾²»á¼û£©×÷Ϊ¸ø¶¨»á¼ûµÄÄþ¾²ÊôÐÔµÄָʾ£¬Ò²Ö§³ÖHPRIV£¨ÌØȨ£©ÐźÅ×÷ΪÌØȨÓë·ÇÌØȨÊôÐÔµÄָʾ¡££¨×¢£º±¾ÎÄÖصã½éÉÜÁËHNONSECÐźÅÏà¹ØµÄÄþ¾²Óë·ÇÄþ¾²ÊôÐÔ£¬²¢Î´Ïêϸ½éÉÜÓëHPRIVÏà¹ØµÄÌØȨÓë·ÇÌØȨ£¬ÕâÓëCortex M3/M4µÈÄÚºËÖеÄÌØȨÓë·ÇÌØȨÏàͬ£©¡£
Äþ¾²AHB×ÜÏß´¦ÀíHNONSECÐźţ¬²¢½«ÆäÓëÄþ¾²AHB¿ØÖÆÆ÷ÖÐΪ´ÓÉ豸µÄPPC/MPCËùÉèÖõÄÄþ¾²ÊôÐÔ½øÐбȽϡ£Èç¹ûÇëÇó»á¼ûµÄÄþ¾²ÊôÐÔ²»Î¥·´±»»á¼û´ÓÉ豸µÄÄþ¾²ÊôÐÔ£¬ÔòÔÊÐí»á¼û¡£Èç¹ûÔÚ»á¼ûÖÐÎ¥·´¹æÔò±¬·¢³åÍ»£¬Ôò»áÒý·¢Äþ¾²³åÍ»Öжϡ£CPU0Çл»µ½Äþ¾²Ä£Ê½ÒÔ´¦ÀíÎ¥¹æ¡£
Äþ¾²ÊǸöϵͳ¹¤³Ì£¬ÓÐÁËÄþ¾²AHB¿ØÖÆÆ÷Õâ¸öÄþ¾²ÊØÎÀ£¬ÎÒÃǵÄSoCϵͳ²Å»ª±»µÎË®²»Â©µØ»®·ÖΪÄþ¾²ÊÀ½çºÍ·ÇÄþ¾²ÊÀ½ç¡£
Óë´Ëͬʱ£¬Äþ¾²AHB¿ØÖÆÆ÷»¹ÌṩÁËÐí¶à¹¦Ð§£¬¿ÉÒÔÓÃÀ´ÉèÖÃSoCÄþ¾²Ïà¹ØµÄÅäÖ㬲¢ÇÒ»¹ÌṩÁËһЩ¼Ä´æÆ÷£¬ÓÃÓÚµ÷ÊԺʹ¦ÀíÎ¥¹æ»á¼û¡£¹ØÓÚÄþ¾²AHB¿ØÖÆÆ÷µÄ¸ü¶àÐÅÏ¢£¬Çë²Î¿¼LPC55SxxÓû§ÊÖ²á(User Manual)ÖÐTrusted Execution EnvironmentÏà¹ØÕ½ڡ£
?
?
- ·ÖÀࣺÐÂÎÅÖÐÐÄ
- ×÷ÕߣºLiu Hao@NXP
- À´Ô´£º¶÷ÖÇÆÖMCU¼ÓÓÍÕ¾
- Ðû²¼Ê±¼ä£º2023-03-03 17:05
- »á¼ûÁ¿£º
Ò»¡¢Cortex-M33 TrustZone
¶þ¡¢½âÆÊ×ÜÏßÉϵÄÖ÷´ÓÉ豸
Èý¡¢Ö»ÓÐTrustZone¾Í¹»ÁËÂð£¿
ËÄ¡¢Äþ¾²AHB¿ØÖÆÆ÷
-
×ÜÏßÉÏ£¬Ö»ÓÐCortex M33ÄÚºËCPU0¾ßÓÐTrustZone¹¦Ð§£¬¶øÆäËûµÄÖ÷É豸ûÓд˹¦Ð§¡£Õ¾ÔÚ×ÜÏߵĽǶȿ´£¬Ö»ÄÜÅжϳöCPU0 Cortex M33·¢³öµÄÇëÇóºÍ»á¼ûÊÇ·ñÊÇÄþ¾²£¬È´ÎÞ·¨ÅжϳöÆäËûÖ÷É豸µÄ»á¼ûÇëÇóÊÇÄþ¾²»ò·ÇÄþ¾²¡£ -
¹ØÓÚ×ÜÏßÉϵĴÓÉ豸À´Ëµ£¬´ÓÉ豸ÎÞ·¨ÅжÏÀ´×Ô×ÜÏߵĻá¼ûÊÇÄþ¾²ÕվɷÇÄþ¾²µÄ£¬Òò´ËÒ²¾ÍÎÞ·¨Í¨¹ýÒÔÉèÖûá¼û¹æÔòµÄ·½·¨£¬¾Ü¾øÎ¥±³»á¼û¹æÔòµÄ²»·¨ÇëÇóºÍ»á¼û¡£
¹Ø×¢²»ÐàÇéÔµ¹ÙÍøÍøÕ¾¼°Î¢ÐÅÃñÖںţ¬Á˽â NXP MCU¸ü¶àÐÅÏ¢¡£
ɨ¶þάÂëÓÃÊÖ»ú¿´
Ïà¹ØÐÂÎÅ
20¶àÄêרע°ëµ¼Ìå
Ϊº£ÄÚ¸÷ÐÐÒµ¿í´óÓû§Ìṩ¸ßÆ·ÖʵÄNXP°ëµ¼Ìå²úÆ·
SINCE 1997
ΪÄúÁ¿Éí¶¨Öƽâ¾ö¼Æ»®
ÁªÏµ²»ÐàÇéÔµ¹ÙÍø
È«¹úͳһЧÀÍÈÈÏß
µØµã£º±±¾©ÊÐÏòÑôÇø¹ãÇþ·15ºÅ½ð︮СÇø23ºÅÔº
ÓÊÏ䣺riley_chow@powerever.cn
²»ÐàÇéÔµ¹ÙÍøÃñÖÚºÅ
Copyright ? 2022 ²»ÐàÇéÔµ¹ÙÍø All rights reserved
SEO±êÇ© ÍøÕ¾½¨É裺ÖÐÆó¶¯Á¦ ±±¾©