µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

CORTEX-M4֪ʶµã×ܽá

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2025/8/22 11:19:03 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

ÔÚÒì³£Èë¿Ú´¦±»Ñ¹ÈëÕ»¿Õ¼äµÄÊý¾Ý¿éΪջ֡¡£²»¾ßÓи¡µãµ¥ÔªµÄM4´¦ÀíÆ÷£¬Õ»Ö¡ÊÇ8¸ö×Ö´óС¡£´ø¸¡µãµÄÕ»Ö¡¿ÉÄÜÊÇ8¸ö»ò26¸ö×Ö´óС¡£ÓëÉÏÒ»¸öС½ÚÖÐËù˵µÄÒì³£´¦ÀíÆÚ¼ä±£´æµÄ¼Ä´æÆ÷Ϊ8¸öÊÇÒ»¸öÒâ˼¡£

AAPCSÒªÇóÕ»Ö¸ÕëµÄÊýÖµÔÚº¯ÊýÈë¿ÚºÍ³ö¿Ú´¦Ó¦ÊÇË«×Ö¶ÔÆëµÄ£¬Ë«×ÖÕ»¶ÔÆëÌØÐԿɱà³Ì£¬¸ÃÌØÐÔ¿ÉÒԹرա£M0Öв»¿ÉÉèÖá£Ñ¹Õ»µÄxPSRµÄµÚ9λ±íʾջָÕëµÄÊýÖµÊÇ·ñµ÷Õû¹ý£¬0δµ÷Õû£¬1µ÷Õû¹ý£¬Ò²¾ÍÊÇ»á×Ô¶¯²åÈëÒ»¸ö×ֵĿռ䡣ËùÒÔ£¬Õ»Ö¡×î´óΪ9»ò27¸ö×Ö¡£

6.3 EXC_RETURN

6.1С½ÚÖÐ˵µ½¹ý£¬´¦ÀíÆ÷½øÈëÒ쳣ʱ£¬LR´æ´¢µÄÊÇEXC_RETURN£¬ÕâÀï˵Ã÷һϣ¬EXC_RETURNµÄ¾ßÌåϸ½Ú¡£

EXC_RETURNÊÇÒ»¸ö×Ö´óС£¬Î»Óò±íʾÈçÏÂ

λ 31:28 27:5 4 ÃèÊö EXC_RETURN ָʾ ±£ÁôȫΪ1 Õ»Ö¡ÀàÐÍ (M0ÖÐÎÞ) 3 ·µ»ØÄ£Ê½ ÊýÖµ 0xF 0Xefffff 1£º8×Ö 0£º26×Ö 1£º·µ»ØÏß³Ìģʽ 0£º·µ»Ø´¦Àíģʽ 2 ·µ»ØÕ» 1£º·µ»ØÏß³ÌÕ» 0£º·µ»ØÖ÷Õ» 1 0 EXC_RETURNµÄºÏ·¨Öµ

·µ»Ø´¦Àíģʽ£¬×ÜʹÓÃÖ÷Õ» ·µ»ØÏß³Ìģʽ£¬·µ»ØºóʹÓÃÖ÷Õ» ·µ»ØÏß³Ìģʽ£¬·µ»ØºóʹÓýø³ÌÕ» __asm void vPortSVCHandler( void ) {

±£Áô ±£Áô 0 1 ¸¡µãδʹÓÃFPCA=1 ¸¡µãʹÓÃFPCA=0 0XFFFFFFE1 0XFFFFFFE9 0XFFFFFFED 0XFFFFFFF1 0XFFFFFFF1 0XFFFFFFFD PRESERVE8

ldr r3, =pxCurrentTCB

/* Restore the task stack pointer. */ /* Restore the context. */

ldr r1, [r3] }

ldr r0, [r1]

ldmia r0!, {r4-r11} msr psp, r0 isb mov r0, #0 msr basepri, r0

orr r14, #0xd /*»òÉÏ0b1101£¬·µ»ØÏß³ÌÕ»£¬Ïß³Ìģʽ*/ bx r14

6.4Òì³£Á÷³Ì 6.4.1 Òì³£½øÈëºÍѹջ

µ±Òì³£²úÉúÇÒ±»´¦ÀíÆ÷½ÓÊÜʱ£¬Ñ¹Õ»Á÷³Ì»á½«¼Ä´æÆ÷ѹÈëÕ»Öв¢×éÖ¯Õ»Ö¡¡£Òª×¢ÒâµÄÊÇ£¬Ñ¹Õ»ÆÚ¼äµÄÕ»·ÃÎÊ˳ÐòºÍÕ»Ö¡ÖеÄ˳Ðò²»Í¬£¬Ê×ÏÈѹջµÄÊÇPCºÍxPSR£¬ÕâÑùÔÚÈ¡ÏòÁ¿Ê±»á¾¡¿ì¸üÐÂPC¡£

ÕâÀïÔÙ¸´Ï°Ò»ÏÂÖ÷Õ»Óë½ø³ÌÕ»µÄʹÓã¬ÔÚ´¦Àíģʽ£¬±ØÐëʹÓÃÖ÷Õ»£¬ÔÚ½ø³Ìģʽ£¬ÓÉCONTROL¼Ä´æÆ÷¿ØÖÆÊ¹ÓÃÖ÷Õ»»¹Êǽø³Ì¡£

ÔÚ´¦ÀíÆ÷´¦ÓÚ½ø³Ìģʽ²¢ÇÒʹÓýø³Ìջʱ£¬Ñ¹Õ»²Ù×÷ʹÓýø³ÌÕ»£¬È»ºó¾Í½øÈëÁË´¦Àíģʽ£¬Ö±µ½Òì³£·µ»ØÖ®Ç°£¬Ò»Ö±Ê¹ÓõÄÊÇÖ÷Õ»£¬ÈçÒ쳣ǶÌ×µÄÇé¿ö£¬ÔÚÒ»¸öÒì³£ÖÐÓÖ½øÈëÁËÁíÒ»¸öÒì³££¬ÈÔȻʹÓõÄÊÇÖ÷Õ»½øÐÐѹջ¡£

ÁíÍ⣬ÎÒÃÇÔÚʹÓÃOSµÄʱºò»áÓÐÁ½¸öÕ»¿Õ¼ä£¬ÏµÍ³Õ»¿Õ¼äºÍÈÎÎñÕ»¿Õ¼ä£¬ÏµÍ³Õ»¿Õ¼äÊÇÔÚÆô¶¯ÎļþÖнøÐÐÁËÉèÖã¬Èçͼ6-1£¬Õâ¸öÕ»¿Õ¼äÊÇÁô¸øÒ쳣ʹÓõģ¬Ò²¾ÍÊÇ´¦ÀíģʽϵÄMSP£»¶øÔÚ´´½¨ÈÎÎñµÄʱºò¶¼»áÓжÔÕ»¿Õ¼äµÄÉèÖã¬ÎÒÃdzÆÎªÈÎÎñÕ»¿Õ¼ä£¬Ò²¾ÍÊÇÔÚÏß³ÌģʽϵÄPSP¡£

½øÈëÒ쳣ʱ£¬»á½«R0-R3£¬R12£¬LRºÍ·µ»ØµØÖ·£¨´ø¸¡µãµ¥ÔªÊ±°üÀ¨S0-S15ºÍFPSCR£©Ó²¼þ×Ô¶¯Ñ¹Õ»±£´æ£¬ÆäËûµÄ(R4-R11)ÐèÒªÈí¼þ±£´æ¡£

6.4.2 Òì³£·µ»ØºÍ³öÕ»

³öջʱ¾ÍÊǶÔEXC_RETURNÊýÖµµÄÅжϣ¬Ò²¾ÍÊÇEXC_RETURNÖÐλÓòËù±íʾµÄÄǼ¸ÏÓÃʲôջ½øÐÐѹջµÄÈÔ·µ»ØÊ²Ã´Õ»£¬²Ù×÷ģʽºÍÕ»Ö¡ÀàÐÍÒ²ÀàËÆ¡£³öÕ»²Ù×÷½áÊøÊ±£¬»¹Òª¼ì²éxPSRµÄµÚ9룬ÈôÖÃ1ÔòÈ¥³ýѹջʱ²åÈëµÄ¶îÍâ¿Õ¼ä¡£ ¶ÔÓÚÕ»¿Õ¼äÖеÄÊý¾Ý£¬Í¬ÈëÕ»Ò»Ñù£¬R0-R3£¬R12£¬ºÍLR£¨´ø¸¡µãµ¥ÔªÊ±°üÀ¨S0-S15ºÍFPSCR£©ÊÇ×Ô¶¯³öÕ»µÄ£¬ÆäÓàµÄÐèÒªÈí¼þ³öÕ»¡£

7µÍ¹¦ºÄºÍϵͳ¿ØÖÆÌØÐÔ

7.1 µÍ¹¦ºÄģʽ

CORTEX-MϵÁд¦ÀíÆ÷ÌṩÁ½ÖÖÐÝÃßģʽ£ºÐÝÃßģʽºÍÉî¶ÈÐÝÃßģʽ¡£ÓÉϵͳ¿ØÖƼĴæÆ÷SCR¿ØÖÆ¡£

´¦ÀíÆ÷ÌṩÁËÁ½¸öÓÃÓÚ½øÈëÐÝÃßģʽµÄÖ¸ÁWFI£¬½øÈëÐÝÃßģʽ£¬µÈ´ýÖжϣ¬¿ÉÓÉÖжϡ¢µ÷ÊÔ¡¢¸´Î»»½ÐÑ¡£WFE£ºµÈ´ýʼþ£¬Ìõ¼þ½øÈëÐÝÃßģʽ¡£ÄÚ²¿Ê¼þ¼Ä´æÆ÷Ϊ0£¬½øÈëÐÝÃߣ¬·ñÔòÄÚ²¿Ê¼þ¼Ä´æÆ÷±»Çå³ý£¬´¦ÀíÆ÷¼ÌÐøÖ´ÐУ¬³ýÁËÖжϡ¢µ÷ÊÔ¡¢¸´Î»»½ÐÑÍ⣬»¹ÄÜÓÉʼþ»½ÐÑ¡£

WFEÖеÄʼþ»½ÐѰüÀ¨Ê¼þÊäÈëÐźÅÂö³å£¨RXEV£©¡£¸ÃÐźÅÊôÓÚʼþͨÐŽӿÚÌØÐÔµÄÒ»²¿·Ö¡£´¦ÀíÆ÷»¹´æÔÚÒ»¸öÃûΪTXEV£¨·¢ËÍʼþ£©µÄÊä³öÐźţ¬µ±Ö´ÐÐSEV£¨·¢ËÍʼþ£©Ö¸Áîʱ£¬TXEV»áÊä³öÒ»¸öÖÜÆÚµÄÂö³åÐźš£

ʼþͨÐŽӿڵÄÖ÷ÒªÉè¼ÆÄ¿±ê룬ÔÚÒ»¸öÌØ¶¨Ê¼þ·¢ÉúǰÈô¦ÀíÆ÷Ò»Ö±´¦ÓÚÐÝÃßģʽ¡£ÀýÈ磺

¡¤ ÔÊÐíÍâÉèºÍ´¦ÀíÆ÷Ö®¼äµÄͨÐÅ ¡¤ ÔÊÐí¶à¸ö´¦ÀíÆ÷¼äµÄͨÐÅ

7.1 SysTick¶¨Ê±Æ÷

Cortex-M´¦ÀíÆ÷ÄÚ¼¯³ÉÁËÒ»¸öСÐ͵ÄÃûΪSystickµÄ¶¨Ê±Æ÷£¬ËüÊôÓÚNVICµÄÒ»²¿·Ö£¬¿ÉÒÔ²úÉúSystickÒì³£¡£SystickΪ¼òµ¥µÄÏòϼÆÊýµÄ24λ¼ÆÊýÆ÷¡£ SystickµÄÖ÷Òª×÷ÓÃÊÇÓÃÓÚÔÚOSÖÐÈÎÎñ¹ÜÀíºÍÉÏÏÂÎÄÇл»£¬´¦ÀíÆ÷¿ÉÒÔÔÚ²»Í¬Ê±¼äƬÄÚ´¦Àí²»Í¬ÈÎÎñ¡£

Éè¼ÆÕâ¸ö¶¨Ê±Æ÷µÄÄ¿µÄÊÇΪÁËÔö¼ÓÈí¼þµÄ¿ÉÒÆÖ²ÐÔ¡£ËùÓÐCORTEX-MϵÁеÄоƬ¶¼ÓÐÏàͬµÄ¶¨Ê±Æ÷¡£¶¨Ê±Æ÷µÄʱÖÓ¿ÉÒÔÊÇ´¦ÀíÆ÷ʱÖÓ»òÕßÊÇÍⲿ²Î¿¼Ê±ÖÓ(STCLK)¡£

¶¨Ê±Æ÷µÄʹÓúܼòµ¥£¬Ö»ÓÐËĸö¼Ä´æÆ÷

µØÖ· 0XE000E010 0XE000E014 0XE000E018 0XE000E01C

¼Ä´æÆ÷ Systick¿ØÖƺÍ״̬¼Ä´æÆ÷ SystickÖØ×°ÔØÖµ¼Ä´æÆ÷ Systickµ±Ç°Öµ¼Ä´æÆ÷ SystickУ׼ֵ¼Ä´æÆ÷ ×÷Óà ʹÄÜÒÔ¼°ÉèÖÃSystick Systick¼ÆÊ±ÖÜÆÚ Systickµ±Ç°ÊýÖµ У׼ÉèÖÃ

ËÑË÷¸ü¶à¹ØÓÚ£º CORTEX-M4֪ʶµã×Ü½á µÄÎĵµ
CORTEX-M4֪ʶµã×ܽá.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c9mid623ywp0weks4q8jb3z01x0bvw200n7z_8.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©
ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top