MPR 050 MPR050 MPR-050 (1)當故障發生時,設計者需要確定如何操作。至少必須終止違規的任務,但我們是否還需要終止此進程中的其他任務?沒有一個確定的,事實上,這可能取決于是哪個任務造成了故障。因此,MPU故障處理程序應根據觸發它的任務或進程執行不同的操作。
(2)被終止的違規任務(或進程)可能擁有內核對象、緩沖區、I/O等資源。這些資源需要被釋放,以避免影響其他任務/進程。
(3)導致故障的任務可能會控制制動器或其他類型的輸出,需將任務置于安全狀態,以避免對人員或資產造成傷害。嵌入式系統設計者應提供用戶定義的回調函數,以處理系統特定的操作。
在任務創建過程中,將回調函數存儲在任務的控制塊(TCB)中。為提高系統安全性,只能在系統啟動時創建任務,此時CPU處于特權模式;運行時只能在故障時刪除任務。由于TCB位于RTOS空間中,因此無法從用戶代碼訪問回調函數,從而防止潛在的不安全和不可靠的代碼無意中或惡意地調用回調函數。
(4)如果嵌入式系統具有數據存儲功能,則可以記錄故障相關的信息,如違規任務的性質、CPU寄存器的值、所采取的操作等。
(5)根據導致故障的任務,可以重新啟動,使系統可以錯誤中恢復。
(6)如果系統能夠恢復,并且如果系統包含顯示,則警告提示非常有用。此外,如果系統具有網絡連接,則通知服務部門和開發團隊可以在將來的版本中避免此問題。
(7)如果系統無法恢復,除了重置系統之外,可能沒有其他選擇。
可以更改MPU進程表,使其包含每個任務的回調函數,以便檢測到故障時從RTOS上下文切換代碼調用。
如果所有的任務都需要對故障執行相同的操作,那么可以不使用此功能,或者讓所有MPU進程表都指向相同的回調函數。后一種選擇更最靈活,因為它為未來的版本提供了更大的靈活性。但你可能需要咨詢RTOS供應商,以確定此功能是否可用。
MPR 050 MPR050 MPR-050
6FC5247-0AF30-0AA0 6FC5260-3FX17-0DB4 6FC5298-6AD10-0JP2
6FC5247-0AF50-0AA0 6FC5260-3FX17-0EB0 6FC5298-6AD10-0KP1
6FC5247-0AF50-1AA0 6FC5260-3FX17-0EB4 6FC5298-6AD10-0NP2
6FC5248-0AA01-0AA0 6FC5260-3FX23-0AG0 6FC5298-6AD10-0PP1
6FC5248-0AA02-0AA0 6FC5260-3FX23-0AG4 6FC5298-6AD10-0QP2
6FC5248-0AA03-0AA0 6FC5260-3FX24-0AG0 6FC5298-6AD10-0RP2
6FC5248-0AA04-0AA0 6FC5260-3FX24-0AG4 6FC5298-6AD10-0TP2
6FC5248-0AF00-0AA0 6FC5260-4FX14-1AB0 6FC5298-6AD10-1RP2
6FC5248-0AF02-0AA0 6FC5260-4FX14-1AB4 6FC5298-6AD10-2RP2
6FC5248-0AF03-0AA0 6FC5260-4FX15-1AB0 6FC5298-6AD10-3RP0
6FC5248-0AF05-0AA0 6FC5260-4FX15-1AB4 6FC5298-6AD50-0AP2
6FC5248-0AF06-0AA0 6FC5260-5FX27-1AB0 6FC5298-6AD50-0BP2
6FC5248-0AF07-0AA0 6FC5260-5FX27-2AB0 6FC5298-6AD50-0CP2
6FC5248-0AF08-0AA0 6FC5260-5FX27-2AB3 6FC5298-6AD50-0DP2
6FC5248-0AF11-0AA0 6FC5260-5FX31-3AB0 6FC5298-6AD50-0EP2
6FC5248-0AF12-0AA0 6FC5260-6AY00-2AG0 6FC5298-6AD50-0FP2
6FC5248-0AF13-0AA0 6FC5260-6AY00-2AG8 6FC5298-6AD50-0GP2
6FC5248-0AF14-0AA0 6FC5260-6FX08-1AG0 6FC5298-6AD50-0HP2
6FC5248-0AF15-0AA0 6FC5260-6FX08-1AG3 6FC5298-6AD50-0JP2
6FC5248-0AF16-0AA0 6FC5260-6FX16-1AG0 6FC5298-6AD50-0KP1
6FC5248-0AF17-0AA0 6FC5260-6FX16-1AG3 6FC5298-6AD50-0NP2
6FC5248-0AF20-0AA0 6FC5263-0AA00-0AB0 6FC5298-6AD50-0PP2
6FC5248-0AF20-1AA0 6FC5263-0AA00-0AB1 6FC5298-6AD50-0QP1
6FC5248-0AF20-2AA0 6FC5263-0AA00-0AB2 6FC5298-6AD50-0RP1
6FC5248-0AF20-3AA0 6FC5263-0AA01-0AG0 6FC5298-6AD50-0TP2
6FC5248-0AF21-0AA0 6FC5263-0AA01-0AG1 6FC5298-6AD50-1RP2
6FC5248-0AF22-0AA0 6FC5263-0AA01-0AG2 6FC5298-6AD50-2RP2
6FC5248-0AF22-1AA1 6FC5263-0AA03-0AB0 6FC5298-6AD50-3RP2
6FC5248-0AF23-1AA0 6FC5263-0AA04-0AG1 6FC5298-6AE40-0AP0
6FC5248-0AF24-0AA0 6FC5263-0AB01-0AA0 6FC5298-6AE40-0BP0
6FC5248-0AF30-0AA0 6FC5263-0AB01-0AA1 6FC5298-6AE40-0PP0
6SN1145-1AA00-0AA0 SIMODRIVE 611-A/611-D 10/25 KW 6SN1145-1AA00-0CA0 SIMODRIVE 611-A/D 28/50 KW 6SN1145-1AA01-0AA0 SIMODRIVE 611 10/25 KW 6SN1145-1AA01-0AA1 SIMODRIVE 611 10/25 KW 6SN1145-1AB00-0CA0 SIMODRIVE 611-A/D 28/50 KW 6SN1145-1BA00-0BA0 SIMODRIVE 611-A/611-D 16/21 KW 6SN1145-1BA00-0CA0 SIMODRIVE 611-A/D 36/47 KW 6SN1145-1BA00-0DA0 SIMODRIVE 611-A/D 55/71 KW 6SN1145-1BA01-0BA0 SIMODRIVE 611 16/21 KW 6SN1145-1BA01-0BA1 SIMODRIVE 611 16/21 KW 6SN1145-1BA01-0DA6SN1123-1AA00-0AA0 SIMODRIVE 611 1 AXIS, 15 A 6SN1123-1AA00-0AA1 SIMODRIVE 611 1 AXIS, 15 A 6SN1123-1AA00-0BA0 SIMODRIVE 611 1 AXIS, 25 A 6SN1123-1AA00-0BA1 SIMODRIVE 611 1 AXIS, 25 A 6SN1123-1AA00-0CA0 SIMODRIVE 611 1 AXIS, 50 A 6SN1123-1AA00-0CA1 SIMODRIVE 611 1 AXIS, 50 A 6SN1123-1AA00-0DA0 SIMODRIVE 611 1 AXIS, 80 A 6SN1123-1AA00-0DA1 SIMODRIVE 611 1 AXIS, 80 A 6SN1123-1AA00-0EA0 SIMODRIVE 611 1 AXIS, 160 A 6SN1123-1AA00-0EA1 SIMODRIVE 611 1 AXIS, 160 A 6SN1123-1AA00-0FA0 SIMODRIVE 611-A/D 1 AXIS, 200 A 6SN1123-1AA00-0GA0 SIMODRIVE 611-A/D 1 AXIS, 120 A 6SN1123-1AA00-0HA0 SIMODRIVE 611 1 AXIS, 8 A 0 SIMODRIVE 611 55/71 KW 6SN1118-0AA11-0AA0 SIMODRIVE 611-A 1 AXIS 6SN1118-0AA11-0AA1 SIMODRIVE 611-A 1 AXIS 6SN1118-0AD11-0AA0 SIMODRIVE 611-A 1 AXIS 6SN1118-0AD11-0AA1 SIMODRIVE 611-A 1 AXIS 6SN1118-0AE11-0AA0 SIMODRIVE 611-A 2 AXES 6SN1118-0AE11-0AA1 SIMODRIVE 611-A 2 AXES 6SN1118-0BJ11-0AA0 SIMODRIVE 611 1 AXIS 6SN1118-0BK11-0AA0 SIMODRIVE 611 2 AXES 6SN1118-0DA11-0AA0 SIMODRIVE 611-D 1 AXIS 6SN1118-0DA12-0AA0 SIMODRIVE 611-D 1 AXIS 6SN1118-0DA13-0AA0 SIMODRIVE 611-D 1 AXIS
西門子(siemens)模塊6FC5210