Protection Hook
• Đây là kênh Interface để thông báo khi xảy ra lỗi nghiêm trọng do OS phát hiện.
• Có định dạng hàm API.
• Có thể quyết định việc sử dụng dựa trên cấu hình.
※ Định dạng: ProtectionReturnType ProtectionHook(StatusType Fatalerror)
Mục đích Sử dụng
• Được gọi bởi OS khi xảy ra lỗi nghiêm trọng (Serious Error).
• Dựa trên loại lỗi, có thể giải quyết tình huống lỗi hoặc thực hiện system reset.
• Nội dung của hàm phải được viết bởi người dùng.
Các loại lỗi nghiêm trọng do AUTOSAR OS phân loại
(Đối với phần này, bạn cần cung cấp thông tin thêm về các loại lỗi nghiêm trọng do AUTOSAR OS phân loại để hoàn thiện bản dịch.)

Xử lý khi xảy ra lỗi nghiêm trọng
• Khi một lỗi đã được định nghĩa xảy ra, cơ chế xử lý lỗi sẽ khác nhau tùy thuộc vào việc ProtectionHook có được cấu hình hay không.
→ Nếu ProtectionHook không được cấu hình: OS sẽ gọi ShutdownOS.
→ Nếu ProtectionHook được cấu hình: OS sẽ gọi ProtectionHook và yêu cầu chọn một trong năm tùy chọn sau:
(Thông tin về năm tùy chọn cụ thể không được cung cấp trong nội dung bạn đã gửi. Bạn có thể bổ sung thêm thông tin chi tiết về các tùy chọn này để hoàn thiện bản dịch.)
ProtectionReturnType ProtectionHook(StatusType Fatalerror)
{
…
return PRO_IGNORE; // Không thực hiện bất kỳ hành động nào
return PRO_TERMINATETASKISR; // Kết thúc TASK/ISR gặp vấn đề
return PRO_TERMINATEAPPL; // Kết thúc OS-Application chứa TASK/ISR gặp vấn đề
return PRO_TERMINATEAPPL_RESTART; // Khởi động lại OS-Application chứa TASK/ISR gặp vấn đề
return PRO_SHUTDOWN; // Tắt OS
}





