После изучения варианта прошивки через Raspberry PI ,был разработан вариант более простой,который может реализовать любой пользователь,программирующий микроконтроллеры AVR и имеющий на вооружении программатор USBasp на базе микроконтроллера Atmega8.
Для реализации идеи был использован тот же исходный код программатора под Raspberry PI. А USBasp перепрограммирован в USB-SPI переходник на базе библиотеки V-USB.
Первый вариант программатора позволял записывать прошивку за 37 секунд,что конечно же не очень устраивало.После некоторых оптимизаций по передаче данных по USB был достигнут результат прошивки за 12 секунд.
Перепрограммируем USBasp в USB-SPI устройство
В архиве имеется как исходный код переходника USB-SPI ,так и скомпилированный hex файл в папке firmware.
Процесс прошивки описан на страничке USBasp .Прошивка ничем не отличается от обновления кода программатора.
Установка программатора
- Для Linux необходимо скомпилировать программу стандартно командой make или воспользоватся уже скомпилируемым файлом nrf24le1 . Драйвера не требуются. Необходимы установленные библиотеки : libusb-dev или libusb-0_1-4 и libusb-compat-devel в зависимости от версии дистрибутива.
-Для Windows требуется установка стандартных драйверов. Программа скомпилирована используя cygwin. Ссылка на win версию. Обновлено !
Подключение nRF24LE1 к USBasp
Подключение nRF24LE1 к USBasp аналогично подключению микроконтроллеров AVR. Только FSCN вывод nRF24LE1 подключается на вывод RES(reset) платы USBasp. А вывод PROG подключается на вывод номер 4 разъема. Распиновку выводов можно найти в таблице на справочной странице nRF24LE1.
Внимание ! По даташиту nRF24LE1 допустимо питание до 3.6В - необходимо переключить перемычку JP1 на USBasp для переключения на встроенный стабилизатор на 3.3В. А так же неясно толерантны ли выводы nRF24LE1 к 5 вольтам и нужны ли делители на резисторах для согласования уровней между nRF24LE1 и USBasp .В итоге я не использовал делители и никаких негативных последствий не получил - Вы можете так же не устанавливать делители,но на свой страх и риск.Кстати,например у nRF24L01 выводы толеранты и допускают подключение 5Вольтовым микроконтроллерам.
Прошивка nRF24LE1.
Прошивка аналогична прошивке через Raspberry PI и поддерживает те же команды:
./nrf24le1 test - выводит тестовую информацию nRF24LE1.
./nrf24le1 write - прошьет файл main.bin,лежащий в этой же папке в nRF24LE1.
./nrf24le1 read -создаст дамп прошивки из nRF24LE1 под имененем main-dump.bin .
Не забываем так же конвертировать в бинарный файл прошивку ,используя утилиту hex2bin .
Исходные коды программатора nrf24le1_Downloader.zip
Существует программа для windows с графической оболочкой, тема на форуме тут.