exponenta event banner

rtiostreamtest

Тестировать пользовательские rtiostream реализация интерфейса

Описание

rtiostreamtest(connection, parameterOne, parameterTwo, verbosityFlag) запускает набор тестов для проверки пользовательского rtiostream реализация интерфейса.

rtiostreamtest('tcp', host, port), через связь TCP/IP, подключает MATLAB ® к оконечному оборудованию с помощью указанногоhost и port.

rtiostreamtest('serial', port, baud), через последовательную связь, подключает MATLAB к целевому аппаратному обеспечению с помощью указанного port и baud значение.

Во время инициализации функция использует основные rtiostream ВВОД/ВЫВОД Функция определяет:

  • Порядок байтов данных на целевом оборудовании.

  • Гранулярность адреса памяти.

  • Размер типов данных.

  • Ли rtIOStreamRecv блоки, то есть, когда нет данных, rtIOStreamRecv ожидает данных или возвращается немедленно с полученным размером == 0.

  • Размер (BUFFER_SIZE) его внутреннего буфера для приема или передачи данных через rtiostream. Значение по умолчанию - 128 байт.

В Test 1 (fixed size data exchange), функция:

  • Данные проверки могут быть отправлены и получены правильно в различных размерах блоков. Размеры блоков для компьютера разработки и целевого оборудования симметричны.

  • Отправляет данные в виде известной последовательности, которую он может проверить.

  • Выполняет тесты «хост-компьютер-цель». Компьютер разработчика отправляет данные, а оконечное оборудование получает данные в виде последовательных блоков размером 1, 4 и 128 байт.

  • Выполняет тесты «цель-хост». Оконечное оборудование отправляет данные, а компьютер разработчика получает данные в виде последовательных блоков размером 1, 4 и 128 байт.

В Test 2 (varying size data exchange), функция:

  • Проверка правильности отправки и получения данных в различных размерах блоков. Размеры блоков для компьютера разработки и целевого оборудования асимметричны.

  • Отправляет данные в виде известной последовательности, которую он может проверить.

  • Выполняет тесты «хост-компьютер-цель»:

    • Компьютер разработчика отправляет данные частями по 128 байт, а оконечное оборудование получает данные частями по 64 байта.

    • Компьютер разработки отправляет данные порциями по 64 байта, а оконечное оборудование получает данные порциями по 128 байтов.

  • Выполняет тесты «цель-хост»:

    • Оконечное оборудование отправляет данные порциями по 64 байта, а компьютер разработчика получает данные порциями по 128 байтов.

    • Оконечное оборудование отправляет данные частями по 128 байт, а компьютер разработчика получает данные частями по 64 байта.

В Test 3 (receive buffer detection), функция определяет данные, которые она может хранить между вызовами rtIOStreamRecv на целевом оборудовании. Функция использует итеративный процесс:

  1. Компьютер-разработчик передает последовательность данных, пока целевое оборудование спит. rtIOStreamRecv не вызывается, пока оконечное оборудование находится в состоянии ожидания.

  2. Когда оконечное оборудование пробуждается, оно вызывает rtIOStreamRecv для приема данных из внутреннего буфера драйвера.

  3. Функция определяет, был ли переполнен внутренний буфер путем проверки ошибок и проверки полученных значений данных.

  4. Если ошибок переполнения нет и переданные данные приняты правильно, функция запускает другую итерацию, выполняя этап 1 с большей последовательностью данных.

Функция сообщает размер последнего известного хорошего буфера.

Примеры

Проверка поведения пользователя rtiostream Внедрение интерфейса

Набор тестов состоит из двух частей. Одной из частей набора тестов является приложение, работающее на целевом оборудовании. Другая деталь выполняется в MATLAB.

  1. Чтобы создать целевое приложение, скомпилируйте и свяжите эти файлы:

    rtiostreamtest.c, rtiostreamtest.h, и main.c расположены в matlabroot/toolbox/coder/rtiostream/src/rtiostreamtest.

  2. Загрузите и запустите приложение на целевом оборудовании.

  3. Для запуска части MATLAB набора тестов вызовите rtiostreamtest функция. Например:

    rtiostreamtest('tcp','myProcessor','2345')

    Функция выдает выходные данные следующим образом:

    ### Test suite for rtiostream ###
    Initializing connection with target...
    
    ### Hardware characteristics discovered
    Size of char    : 8 bit
    Size of short   : 16 bit
    Size of int     : 32 bit
    Size of long    : 32 bit
    Size of float   : 32 bit
    Size of double  : 64 bit
    Size of pointer : 64 bit
    Byte ordering   : Little Endian
    
    ### rtiostream characteristics discovered
    Round trip time : 0.25098 ms
    rtIOStreamRecv behavior : non-blocking
    
    ### Test results
    Test 1 (fixed size data exchange): ......... PASS
    Test 2 (varying size data exchange): ......... PASS
    
    ### Test suite for rtiostream finished successfully ###
    

    Функция также генерирует профиль средней пропускной способности.

Входные аргументы

свернуть все

Укажите транспортный протокол для канала связи:

  • 'tcp' -- TCP/IP

  • 'serial' -- RS-232 серийный

Если connection является 'tcp', укажите имя целевого процессора. Например, если компьютер разработки является целевым процессором, можно указать 'localhost'.

Если connection является 'serial', укажите идентификатор последовательного порта, например, 'COM1' для COM1 ",'COM2' для COM2 и так далее.

Если connection является 'tcp', укажите номер порта сервера TCP/IP, целое число от 256 до 65535.

Если connection является 'serial', укажите значение в бодах, например 9600.

При указании 'verbose', функция отображает сообщения, содержащие информацию о ходе выполнения. Сообщения можно использовать для отладки сбоев во время выполнения.

Представлен в R2013a