Компиляция NI myRIO 1900 FPGA в labVIEW - PullRequest
0 голосов
/ 20 марта 2020

Я использую встроенную систему под названием NI myRIO 1900, когда пытаюсь скомпилировать FPGA в labview, используя мой P C, я получаю сообщение «память заполнена» и другое сообщение о том, что свободная память составляет 137 Мбит учитывая, что внутренняя память myRIO 1900 составляет 200 Мбит, я не знаю, что случилось, я несколько раз пытался скомпилировать программу, но она не работает, пожалуйста, помогите мне, спасибо.

1 Ответ

0 голосов
/ 22 марта 2020

Существует несколько вариантов:

1) Вашему P C не хватает памяти из-за вашей программы LabVIEW

см. Этот пост здесь на NI документов . Это может произойти из-за больших программ LabVIEW, но в вашем случае это маловероятно. Но хорошо знать, что LabVIEW хранит переменные непрерывно в памяти (ОЗУ), поэтому, если у вас много запущенных программ, небольшая оперативная память и большая программа, LabVIEW может столкнуться с проблемой, заключающейся в том, что просто недостаточно большого блока оперативной памяти, доступной для хранения определенной переменной или результата. (Решение: увеличьте виртуальную память ... и закройте все другие программы)

2) У вашего P C не хватает памяти, пока компиляция

Получение последнего аргумента из предыдущего варианта: у вас может быть слишком много windows открытых и работающих на старой машине. Компиляция FPGA потребляет довольно много памяти (и времени), поскольку она должна генерировать всю структуру FPGA-разводки. (Решение: закройте все другие программы или увеличьте виртуальную память , чтобы windows мог перевести все остальные открытые программы в виртуальную память, также известную как swap)

3) Ваша программа просто слишком велика для FPGA

Ваша ошибка будет выглядеть примерно так

Это приложение Xilinx исчерпало память или обнаружило конфликт памяти.

Проверьте этот пост на stackoverflow . Что ж, самое простое решение - уменьшить размер вашей программы, выбрав меньшие типы данных для ваших расчетов. Обратите внимание, что LabVIEW пытается упростить программирование и автоматически увеличивает размер ваших переменных, например, если вы умножаете их. Это может быть дорогостоящим на целочисленном уровне, но действительно болезненно, если вы работаете с фиксированными точками. Нажмите на блоки (добавить, умножить и т. Д. c.) И вручную сказать им, что вы хотите иметь определенный тип в качестве вывода. Будьте уверены, что ваш ввод фактически никогда не вызовет переполнения вывода ...

...