Ключевое ?лово

vk

Для программирования nRF24LE1 необходим достаточно дорогой программатор (по сравнению например с USBasp у AVR) ,который надо ещё и найти.

На просторах интернета было найдено решение программирования nRF24LE1 через Raspberry PI используя проект бразильца nrf24le1-libbcm2835 . Программка была слегка доработана,а так же добавлен в код немного каментариев на русском.Модернизированный вариант можно скачать здесь.

Существует компилятор SDCC под Raspberry PI  - писать и компилировать прошивку под nRF24LE1 можно прямо на Raspberry PI.

Исходный код можно адаптировать под другие миникомпьютеры или железо.

 

Подключение nRF24LE1 к Raspberry PI

Необходимо подключить ,согласно карте пинов  Raspberry PI  следущие выводы nRF24LE1:

 nRF24LE1 Raspberry PI 
FSCK 11
FMOSI 9
FMISO 10
FSCN 8
PROG 24

  Нумерация выводов по BCM GPIO.Не забываем так же reset у nRF24LE1 подтянуть на  плюс.GND и  VDD подключаем на соотсвествующие выводы питания 3.3В Raspberry PI.  Обращаю внимание,что в  зависимости от варианта исполнения корпуса микросхемы  nRF24LE1 подключение осуществляется  к разным выводам.Смотрите таблицу  соотсветствия  на страничке nRF24LE1 .

 

 

 

 

Установка  программы-программатора на Raspberry PI

Для успешной работы программатора на Raspberry PI необходима установленная библиотека bcm2835.Описание установки смотрим здесь.

Архив с программой необходимо распаковать на Raspberry PI ,например в домашнюю папку /home/pi/nrf/ .

Далее необходимо выполнить компиляцию программы стандартной командой make .

После успешной сборки программы можно приступать к программированию nRF24LE1.

 

Прошивка nRF24LE1.

В данный момент реализованы 3 команды утилиты:

./nrf24le1 test - выводит тестовую информацию nRF24LE1.

LE1 test

Если состояние битов отличается,то чтение было скорее всего не успешным.Возможно nRF24LE1 не верно подключен (или Вы модифицировали эту информацию ).Подробнее о назначении битов можно посмотреть на 72 странице даташита nRF24LE1.

 

 

 

 

 

 

 

./nrf24le1 write - прошьет файл main.bin,лежащий в этой же папке в nRF24LE1

LE1 write okЕсли началась успешная прошивка,то вы увидите такую бегущую иформацию.Иначе ,если nRF24LE1 не ответил,то получите ошибку :

Flash не отвечает.

Что значит возможно nRF24LE1 не верно подключен.

 

 

 

 

 

 

 

./nrf24le1 read  -создаст дамп прошивки из nRF24LE1 под имененем main-dump.bin .Если файл содержит одни нули или одинаковые байты,то возможно nRF24LE1 подключен не правельно.

Кстати, программатор требует бинарный файл для загрузки,но компилятор SDCC выдает файл в шестнадцатеричном формате (.ihx). Для того чтобы преобразовать прошивку в правельный формат необходимо ,используя утилиту hex2bin выполнить команду ./hex2bin -p 00 main.ihx .Данную команду можно прописать в make файл ниже команды компиляции для автоматического создания bin файла.

Если Вы программируете в Linux системе и прошиваете через малинку, то возможно настроить автоматическое копирование bin файла на Raspberry с помощью команды scp main.bin pi@ip_адрес_raspberry:/путь_к папке/ прописанной там же в make файле. Для того чтобы малинка не запрашивала пароль можно настроить авторизацию по сертификату.

Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.