Artikel ini melanjutkan pembahasan tentang memori partisi RTOS.
Layanan Utilitas Kumpulan Partisi
Nucleus RTOS memiliki tiga panggilan API yang menyediakan fungsi utilitas yang terkait dengan kumpulan partisi:mengembalikan informasi tentang kumpulan partisi, mengembalikan jumlah kumpulan partisi dalam aplikasi dan mengembalikan pointer ke semua kumpulan partisi dalam aplikasi. Dua yang pertama diimplementasikan di Nucleus SE.
Mendapatkan Informasi Kumpulan Partisi
Panggilan layanan ini memperoleh pilihan informasi tentang kumpulan partisi. Implementasi Nucleus SE berbeda dari Nucleus RTOS dalam hal mengembalikan lebih sedikit informasi, karena penamaan objek dan penangguhan pemesanan tidak didukung dan penangguhan tugas mungkin tidak diaktifkan.
Panggilan API Nucleus RTOS untuk Informasi Kumpulan Partisi
kolam – indeks kumpulan partisi tentang informasi mana yang diminta
alamat_mulai – penunjuk ke variabel, yang akan menerima penunjuk ke awal area data kumpulan partisi
ukuran_kolam – penunjuk ke variabel, yang akan menerima ukuran kumpulan partisi (dalam byte)
ukuran_partisi – penunjuk ke variabel, yang akan menerima ukuran partisi di kumpulan ini
tersedia – penunjuk ke variabel, yang akan menerima jumlah partisi yang saat ini tersedia di kumpulan ini
dialokasikan – penunjuk ke variabel, yang akan menerima jumlah partisi yang sedang digunakan di kumpulan ini
tugas_menunggu – penunjuk ke variabel yang akan menerima jumlah tugas yang ditangguhkan pada kumpulan partisi ini (tidak ada yang dikembalikan jika penangguhan tugas dinonaktifkan)
tugas_pertama – penunjuk ke variabel bertipe NUSE_TASK yang akan menerima indeks tugas yang ditangguhkan pertama (tidak ada yang dikembalikan jika penangguhan tugas dinonaktifkan)
Pengembalian:
NUSE_SUCCESS – panggilan berhasil diselesaikan
NUSE_INVALID_POOL – indeks kumpulan partisi tidak valid
NUSE_INVALID_POINTER – satu atau lebih parameter penunjuk tidak valid
Implementasi Nucleus SE dari Informasi Kumpulan Partisi
Implementasi panggilan API ini cukup mudah:
Fungsi mengembalikan status kumpulan partisi. Kemudian, jika pemblokiran panggilan API diaktifkan, jumlah tugas menunggu dan indeks yang pertama akan dikembalikan (jika tidak, kedua parameter ini disetel ke 0).
Mendapatkan Jumlah Kumpulan Partisi
Panggilan layanan ini mengembalikan jumlah kumpulan partisi yang dikonfigurasi dalam aplikasi. Sementara di Nucleus RTOS ini akan bervariasi dari waktu ke waktu dan nilai yang dikembalikan akan mewakili jumlah kumpulan saat ini, di Nucleus SE nilai yang dikembalikan diatur pada waktu pembuatan dan tidak dapat diubah.
Panggilan API Nucleus RTOS untuk Jumlah Kumpulan Partisi
Panggilan API ini mendukung fungsionalitas utama dari Nucleus RTOS API.
Prototipe panggilan layanan:
UNSIGNED NU_Established_Partition_Pools(VOID);
Parameter:
Tidak ada
Pengembalian:
Jumlah kumpulan partisi yang dibuat dalam aplikasi
Panggilan API Nucleus SE untuk Jumlah Kumpulan Partisi
Panggilan API ini mendukung fungsionalitas utama dari Nucleus RTOS API.
Prototipe panggilan layanan:
U8 NUSE_Partition_Pool_Count(void);
Parameter:
Tidak ada
Pengembalian:
Jumlah kumpulan partisi yang dikonfigurasi dalam aplikasi
Implementasi
Implementasi panggilan API ini hampir sederhana:nilai #define simbol NUSE_PARTITION_POOL_NUMBER dikembalikan.