Execute real-time application с S-функциями в запущенном в привилегированном режиме

Можно использовать S-функции в режиме Run in Kernel, когда S-функции являются автономными. Например, S-функции только вызывают ограниченное подмножество стандартной библиотеки для C, такой как математика и строковые функции и не вызывают файловый ввод-вывод, консоль I/O или Windows API functions. Пример не сам содержавшая S-функция была бы функцией, для которой нужно к #include <windows.h>.

Обратите внимание на то, что способность симулировать S-функцию с другими целями генерации кода — такими как grt.tlc, ert.tlc, или slrealtime.tlc— не делает доказывания, что это может быть симулировано с sldrt.tlc. Например, S-функции, которые соединяются с динамически подключаемыми библиотеками (DLLs) на Windows обычно, не симулируют с Simulink® Desktop Real-Time™, потому что DLLs не доступны для ядра реального времени.

В частности, следующие функции не поддерживаются в исходном коде C:

  • Файловый ввод-вывод (fopen и другие)

  • Управление процессами (spawnвыход, и другие)

  • Сигналы и исключения (signal, longjmp, __try и другие)

  • Функции времени (clock и другие)

  • Любые функции от Windows API

Следующие библиотечные функции C поддерживаются для использования с Simulink Desktop Real-Time:

  • Функции преобразования данных: abs, atof, atoi, atol, itoa, labs, ltoa, strtod, strtol, strtoul, ultoa,

  • Функции выделения памяти: calloc, free, malloc,

  • Функции манипуляции с памятью: _memccpy, memcpy, memchr, memcmp, _memicmp, memmove, memset,

  • Функции обработки строк: strcat, strchrstrcmp, strcpy, strcspn, _strdup, _stricmpstrlen , _strlwr, strncatstrncmp, strncpy, _strnset, strpbrk, strrchr, _strrev, _strset, strspn, strstrstrtok, _strupr,

  • Математические функции: acosasinatanatan2потолокпотому чтодубинка, divexp, fabsпол, fmod, frexp, ldexp, ldivжурналlog10Max min, modf, powrand, sinsinhsqrt, srandtantanh, uldiv,

  • Тесты класса символов и преобразование: isalnum, isalpha, _isascii, iscntrl, isdigit, isgraph, islower, isprint, ispunctisspace, isupper, isxdigit, isxupper, isxlowertoAscii, tolower, toupper,

  • Поиск и сортировка: bsearch, qsort,

  • Фиктивные функции - (может быть там, но ничего не сделать), exit,

  • Консольный ввод-вывод: fprintf, printf,

Похожие темы