Khởi động/Hủy hệ thống
Khởi động hệ thống
Quá trình khởi tạo sau khi reset bộ xử lý có thể khác nhau tùy thuộc vào triển khai, nhưng OSEK OS hỗ trợ phương pháp khởi tạo chuẩn hóa. Các giao diện để khởi tạo phần cứng (Hardware), hệ điều hành (Operating System), và ứng dụng (Application) cần được định nghĩa rõ ràng.
• Trong quá trình generation hệ thống, Task và Alarm được thiết lập để tự động khởi động.
• Cung cấp StartupHook Routine để người dùng có thể khởi tạo Device Driver và các thành phần khác.

1. Sau khi reset, người dùng có thể tự do thực thi Hardware Specific Code. Interrupt loại CAT 2 không thể thực thi đến 5 cấp độ. Non-Portable Section được duy trì cho đến khi phát hiện Application Mode.
2. Gọi StartOS với Application Mode làm tham số. Qua việc gọi này, hệ điều hành được khởi động.
3. Hệ điều hành thực hiện các chức năng Start-Up nội bộ để khởi tạo (không có scheduler đang hoạt động).
4. StartupHook được gọi để thực hiện mã khởi tạo do người dùng định nghĩa. Trong thời gian của Hook Routine, tất cả các interrupt của người dùng được vô hiệu hóa. Để cấu trúc mã khởi tạo trong StartupHook theo Application Mode, dịch vụ GetActiveApplicationMode được cung cấp.
5. Sau khi quay lại từ Hook Routine, hệ điều hành sẽ kích hoạt các interrupt và bắt đầu scheduler. Sau đó, hệ thống bắt đầu hoạt động và có thể thực thi User Task. Hệ điều hành sẽ bắt đầu Task và Alarm tự động khởi động được khai báo trong Application Mode hiện tại. Thứ tự kích hoạt của các Task tự động khởi động có cùng mức ưu tiên không được định nghĩa. Task tự động khởi động sẽ được thực hiện trước khi Alarm bắt đầu.
Hủy hệ thống
OSEK OS định nghĩa dịch vụ ShutdownOS để kết thúc hệ điều hành. Dịch vụ này có thể được yêu cầu bởi ứng dụng hoặc hệ điều hành khi xảy ra Fatal Error.
• Khi xảy ra Fatal Error, ứng dụng hoặc hệ điều hành có thể yêu cầu Shutdown (gọi ShutdownOS).
• Khi thực hiện ShutdownOS, ShutdownHook được gọi và sau khi Hook kết thúc, Shutdown sẽ được thực hiện.
• Người dùng thường có thể tự do định nghĩa hoạt động của hệ thống trong ShutdownHook.
• Không quay lại từ Hook Routine.
※ AUTOSAR OS sau khi gọi ShutdownHook sẽ vô hiệu hóa tất cả các interrupt và vào Infinite Loop.
Xem thêm Chuyên Mục





