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

vk

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Железо для умного дома

ТЕМА: NRF24LE1 Прошивка, проблемы, заблокирован

Re: NRF24LE1 Прошивка, проблемы, заблокирован 11 Янв 2015 11:02 #826

  • unitay
  • unitay аватар
  • Не в сети
  • Новый участник
  • Сообщений: 9
  • Спасибо получено: 5
  • Репутация: 2
Продолжу пока в этой теме, т.к. первоначальная проблема с RDISMB не решена, может кому-то мои мытарства помогут)

Скомпилировать прошивальщик для USBasp с помощью MinGW у меня получилось, сейчас экспериментирую с командами.
По поводу этого хочу сразу заметить, что в статье
homes-smart.ru/index.php/oborudovanie/be...4l01-mikrokontroller
указан не тот даташит!

Память-то Flash, а не OTP (One-Time Programmable Memory), поэтому даташит нужен этот: www.nordicsemi.com/eng/content/download/...ification_rev1_6.pdf

Различить чипы можно по последней букве номера продукта
24LE1[G,H,I] - это OTP memory (даташит, раздел 29.1, стр. 188)
24LE1[D,E,F] - это Flash memory (даташит, раздел 30.1, стр. 194)

Поэтому 6.75в на PROG подавать бесполезно и с командами надо обращаться соответственно.

Хочу попросить собранный бинарник примера мигания светодиодом из статьи, чтобы проверить верно ли я его собрал.
Последнее редактирование: 11 Янв 2015 11:03 от unitay.
Администратор запретил публиковать записи гостям.

Re: NRF24LE1 Прошивка, проблемы, заблокирован 11 Янв 2015 11:24 #828

  • Adminhs
  • Adminhs аватар
  • Не в сети
  • Администратор
  • Сообщений: 7197
  • Спасибо получено: 1114
  • Репутация: 194
Вот тут есть исходник и собраная прошивка github.com/maksms/NRF24LE1_client/tree/master/led_delay.

По поводу даташита -проверю
Основной канал проекта в Telegram t.me/wifi_iot
Администратор запретил публиковать записи гостям.

Re: NRF24LE1 Прошивка, проблемы, заблокирован 11 Янв 2015 21:37 #864

  • unitay
  • unitay аватар
  • Не в сети
  • Новый участник
  • Сообщений: 9
  • Спасибо получено: 5
  • Репутация: 2
Я почитал даташит на NRF24LE1E (Flash memory) и углядел команду ERASE ALL, выполнил ее, флаг RDISMB снялся. После записал прошивку - она записалась!
Диод мигает, но попутно эта команда выносит InfoPage, зачем она нужна не совсем понятно, но Device system походу нужная вещь, написано "Do not erase or modify". Поэтому теперь нужно разобраться как залить обратно содержание InfoPage, благо ее дамп я кажись снял заранее.
Продолжу пилить дальше, если получится напишу инструкцию по модификации прошивальщика.
Администратор запретил публиковать записи гостям.
Спасибо сказали: Adminhs

NRF24LE1 Прошивка, проблемы, заблокирован 13 Янв 2015 16:56 #906

  • unitay
  • unitay аватар
  • Не в сети
  • Новый участник
  • Сообщений: 9
  • Спасибо получено: 5
  • Репутация: 2
Все получилось, но пришлось применять последнюю версию прошивальщика. Я сделал форк, чтобы были заметны изменения: github.com/unitay/nrf24le1-usbasp

Инструкция по сборке для windows:
1. Скачать и установить MinGW отсюда: sourceforge.net/projects/mingw/files/
Ставить надо пакеты: mingw32-base и msys-base

2. Добавить в системную переменную Path (Панель управления - Система - Дополнительные параметры - Дополнительно - Переменные среды) пути: c:\MinGW\bin\;c:\MinGW\msys\1.0\bin\

3. Скачать портированную libusb
бинарники: sourceforge.net/projects/libusb-win32/fi...1.2.6.0.zip/download
и исходники: sourceforge.net/projects/libusb-win32/fi...1.2.6.0.zip/download

4. Из архива бинарников скопировать:
- libusb.a из директории \libusb-win32-bin-1.2.6.0\lib\gcc\ в \MinGW\lib\
- lusb0_usb.h из директории libusb-win32-bin-1.2.6.0\include\ в \MinGW\include\

5. Из архива исходников:
- переименовать usbi.h в usb.h и скопировать в \MinGW\include\
- error.h скопировать в \MinGW\include\

6. Скачать исходники прошивальщика c github

7. Изменить файлы исходников:

в директории c:\MinGW\include\ в файле stdint.h комментируем строку
//typedef unsigned uint32_t;

8. Открыть командную строку (Выполнить - cmd), выполнить команды:

cd c:\nrf24le1-usbasp-master\
make clean
make -f Makefile.windows

9. Переименовать файл libusb0_x86.dll в libusb0.dll директория \libusb-win32-bin-1.2.6.0\bin\x86\ и положить его в папку с исходниками рядом с nrf24le1.exe

10. Собранный nrf24le1.exe можно применять.


Теперь о том как сбросить флаг RDISMB. Похоже это опасная операция, так что всякое бывает. Если с первого раза какая-то команда не выполнится, ее надо повторить.

1. Команда ERASE ALL очищает содержание InfoPage (даташит стр.74, 78), поэтому сначала необходимо снять дамп командой "nrf24le1.exe read infopage". Корректность чтения проверяем по содержимому файла IP-dump.bin, в нем не должны быть все 00. Для пустой страницы это будут FF. Для правильной первые 32 будут с каким-то содержимым, потом три байта FF, а потом 00 - флаг RDISMB (даташит стр.72)

2. Затем удаляем все данные командой "nrf24le1.exe erase".

3. Содержимое InfoPage сейчас должно быть заполнено FF, его надо восстановить из дампа. Для этого переименовать его в IP.bin, в hex-редакторе исправить 36 байт дампа с 00 на FF, чтобы флаг RDISMB не вернулся.

4. Заливаем дамп страницы обратно командой "nrf24le1.exe write infopage".

5. Теперь можно выполнить проверки: команда "nrf24le1.exe test", RDISMB должен быть всегда 0; команда "nrf24le1.exe read infopage", содержимое свежего дампа должно совпадать с предыдущим.
После этого все должно отлично шиться командой "nrf24le1.exe write firmware".

P.S. Буду благодарен если кто-нибудь пришлет дамп InfoPage, хочу сравнить со своим ради интереса
Администратор запретил публиковать записи гостям.
Спасибо сказали: Adminhs, Davn, motoped, pistoletov

NRF24LE1 Прошивка, проблемы, заблокирован 13 Янв 2015 17:05 #907

  • Adminhs
  • Adminhs аватар
  • Не в сети
  • Администратор
  • Сообщений: 7197
  • Спасибо получено: 1114
  • Репутация: 194
Отличная работа, у меня не было такой ситуации с блокировкой и я не копал так глубоко.

Моя InfoPage есть на скриншоте в статье homes-smart.ru/index.php/oborudovanie/be...-cherez-raspberry-pi
Основной канал проекта в Telegram t.me/wifi_iot
Администратор запретил публиковать записи гостям.
Спасибо сказали: motoped

NRF24LE1 Прошивка, проблемы, заблокирован 13 Янв 2015 19:53 #912

  • unitay
  • unitay аватар
  • Не в сети
  • Новый участник
  • Сообщений: 9
  • Спасибо получено: 5
  • Репутация: 2
Adminhs пишет:
Отличная работа, у меня не было такой ситуации с блокировкой и я не копал так глубоко.
Моя InfoPage есть на скриншоте в статье homes-smart.ru/index.php/oborudovanie/be...-cherez-raspberry-pi
Спасибо) Охота пуще неволи)

По поводу InfoPage интересный момент, ее содержимое это 512 байт (даташит стр.72), в зависимости от которого при загрузке выставляются флаги (стр.75) именно они на скриншоте, а мне очень интересно за что отвечают первые 32 байта. Написано, что это какие-то системные параметры, которые отвечают за поведение и производительность. Калибруется каждый чип отдельно или это какая-то общая для всех чипов серии запись, вот в чем вопрос. У меня только одна NRF24LE1, другая еще в пути. Хочется сравнить, потому что записать можно что угодно, и если вдруг я ошибся, ловить потом непредсказуемые глюки будет весело.
Администратор запретил публиковать записи гостям.
Модераторы: FlyRouter
Время создания страницы: 0.132 секунд

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