Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Tertanam

Memori partisi:layanan utilitas dan struktur data


Lihat seri Terungkap RTOS

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

Prototipe panggilan layanan:

STATUS NU_Partition_Pool_Information(NU_PARTITION_POOL *pool, CHAR  *name, VOID **start_address, UNSIGNED *pool_size, UNSIGNED *partition_size, UNSIGNED *available, UNSIGNED *dialokasikan, OPTION  *suspend_type, UNSIGNED); **firsttas_taswaiting); /kuat>

Parameter:

kolam – penunjuk ke kumpulan partisi tentang informasi mana yang diminta

nama – penunjuk ke area tujuan 8 karakter untuk nama kumpulan partisi; ini termasuk ruang untuk terminator nol.

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

suspend_type – penunjuk ke variabel untuk menahan jenis penangguhan tugas; jenis penangguhan tugas yang valid adalah NU_FIFO dan NU_PRIORITY .

tugas_menunggu – penunjuk ke variabel yang akan menerima jumlah tugas yang ditangguhkan pada kumpulan partisi ini

tugas_pertama – penunjuk ke penunjuk tugas di mana ditempatkan penunjuk tugas pertama yang ditangguhkan

Pengembalian:

NU_SUCCESS – panggilan berhasil diselesaikan

NU_INVALID_POOL – penunjuk kumpulan partisi tidak valid

Panggilan API Nucleus SE untuk Informasi Kumpulan Partisi

Panggilan API ini mendukung fungsionalitas utama dari Nucleus RTOS API.

Prototipe panggilan layanan:

STATUS NUSE_Partition_Pool_Information(kumpulan NUSE_PARTITION_POOL, ADDR *start_address, U32 *pool_size, U16 *partition_size, U8 *available, U8 *allocated, U8 *tasks_waiting, NUSE_TASK *first_task)

Parameter:

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.


Tertanam

  1. Pro Dan Kontra Layanan Cloud Versus In House
  2. Token Blockchain dan Layanan Manajemen Data Microsoft Azure
  3. Istilah dan Konsep Memori Digital
  4. Mikroprosesor
  5. Struktur dan kelas dalam C++
  6. Kotak Surat:pengenalan dan layanan dasar
  7. Semaphores:layanan utilitas dan struktur data
  8. Semaphores:pengenalan dan layanan dasar
  9. Grup tanda peristiwa:layanan utilitas dan struktur data
  10. Grup bendera acara:pengenalan dan layanan dasar