Запуск нескольких экземпляров tftpd32

Вопрос или проблема

У меня есть 9 плат, работающих параллельно, которые загружают двоичный файл с TFTP-сервера, размещенного с помощью tftpd32, для программирования одного из их микроконтроллеров.

Каждая плата подключена к ПК, на котором работает TFTP-сервер, с помощью кабеля USB-C, и протокол связи используется Ethernet-over-USB.

Таким образом, создаются 9 Ethernet-адаптеров с 9 различными IP-адресами, и мне нужно запустить один экземпляр TFTP-сервера для каждого IP-адреса, потому что я думаю, что в tftpd32 можно привязать только один IP-адрес.

Вот схема, показывающая, как платы подключены к ПК:

блоковая схема подключения платы

Можно ли запустить 9 экземпляров tftpd32.exe с уникальным IP-адресом, привязанным к каждому экземпляру?

Я на Windows 10

Одного экземпляра достаточно.

Вам нужно отключить опцию Привязать TFTP к этому адресу, чтобы TFTP32/64 привязывался к любому локальному адресу.

введите описание изображения здесь

Ответ или решение

Запуск нескольких экземпляров tftpd32 для TFTP-сервера

Введение

Работа с TFTP-сервером при программировании микроконтроллеров может быть связана с определенными трудностями, особенно когда дело касается одновременного подключения нескольких устройств. В вашем случае, когда требуется запускать 9 плат, подключенных к компьютеру через Ethernet-over-USB, важно рассмотреть возможность эффективного управления экземплярами tftpd32.

Проблема с многопоточностью

Изначально кажется, что для каждой платы следует запустить отдельный экземпляр tftpd32, так как по умолчанию приложение может связываться только с одним IP-адресом. Однако это может привести к излишнему усложнению конфигурации и нескольким запущенным процессам, что в свою очередь может вызвать дополнительные проблемы с сетью и ресурсами системы.

Решение: Использование одного экземпляра tftpd32

Одним из простейших и наиболее эффективных решений является запуск единственного экземпляра tftpd32, запретив его связываться с конкретным IP-адресом для использования интерфейсов. Это возможно сделать, отключив опцию "Bind TFTP to this address" в настройках приложения. Такой подход значительно упростит настройку и управление сервером.

Шаги для настройки:

  1. Запустите tftpd32.
  2. Перейдите во вкладку настроек.
  3. Найдите опцию "Bind TFTP to this address" и снимите с неё галочку.
  4. Введите директорию, из которой будет подаваться файл, и настройте другие параметры по мере необходимости.
  5. Запустите сервер.

При таком изменении tftpd32 будет принимать запросы от всех активных Ethernet-адаптеров вашей системы, что позволит удовлетворять запросы от всех 9 плат. Это в свою очередь упростит вам задачу, так как избежать многопоточного конфликта, возникающего из-за нескольких запущенных процессов.

Заключение

Запуск одного экземпляра tftpd32 без привязки к конкретному IP-адресу является оптимальным решением для реализации вашего проекта с 9 платами. Это не только улучшит производительность вашей системы, но и значительно упростит управляемость. Подходя к задаче с такой точки зрения, вы минимизируете вероятность возникновения ошибок и сложностей в работе с TFTP-сервером, возможно, даже ускоряя время загрузки для ваших плат.

Дополнительная информация

Если в будущем у вас возникнут дополнительные требования или изменения в проекте, tftpd32 также предоставляет возможность расширенной настройки, включая ограничение доступа и управление несколькими файлами, которые могут быть полезными когда у вас будет необходимость в дальнейшем масштабировании.

Оцените материал
Добавить комментарий

Капча загружается...