83MHz сделано для AT чтобы он жрал меньше чем ESP8266 (так сделали PINE - а SDK от них) Не нравиться - перетранслируйте с 166MHz - в main.c это переключается. При работе там всё равно по умолчанию включается режим малого потребления, чтоюы модуль жрал к 15 mA. В нем вообще 40MHz. AT командами данный режим можно отключить, но он на погоду и скорость не влияет, т.к. реализован правильно - проц и прочее отключается совсем на время между beacon, если нет активности и каждые 100 ms (или установки спец.таймера) просыпается, смотрит накопившееся задачи (поступления по прерываниям и т.д.), переключает CLK на 83MHz или 166 и выполняет их скопом. Потом опять выключает все устройcтва в режим sleep и роняет CLK (можно и до 20MHz) и спит и так до следующего просыпания (через спец.таймер). Итоги потребления с графиками даны - дафно была создана спец. тема. - учитесь читать.
20MHz хватает на обслуживание WiFi за глаза - проверял. Тем более это AT прошивка - там и 10 хватит
Второе "но" - это варнинг. Программа для RTL8195 и пинов не хватает. В одном из примеров AT команд (тестовых) используется прерывание по I/O INT. Оно вам никогда не потребуется и до этого не дойдете
Так что хватит придуряться - делайте уж что дельное, а не жуйте ненужную никому фигню...
Действительно пока хватит @pvvx
Последние вопросы:
Почему мой слитый фулфлеш и записанный обратно через auto со всеми галками убил модуль ?
Почему он же записанный с адреса 0x00000000/0x00000000 не оживляет модуль ?
Почему у вас он заработал ?
И почему ваш залитый через auto или через region работает ?
Вроде криво. У меня запустилась, т.к. видимо выскочило в RAM при старте, сразу после записи. А там сидела нормальная AT. Т.е. вместо "протектеда" попала в нормальную программу. После повторных перезаписей так и сяк ваш фулл у меня не заработал.
Ещё у вас странный сегмент CalibrationData:
В нем формат такой: ID=0x8195, uint16 data_addr, uint16 data_len, данные, uint16 data_addr, uint16 data_len, данные
..... uint16 data_addr, uint16 data_len > 4096 конец или ошибка.
Считывается это всё в блок памяти 512 байт драйвером WiFi:
_adapter * p = *(_adapter **)(rltk_wlan_info->priv);
p->eeprompriv.efuse_eeprom_data; // efuse_eeprom_data[512]
У вас он переписан несколько раз. Кто так возился? Разные настройки идут 3 раза. MAC в них один и тот-же.
Беспокоиться что "фулл" битый нет смысла. Всё равно запишите туда другое. Настройки, которые с китайским неизвестным MAC у вас в нем есть и он не битый - модуль с ним работет.
До меня никто, я только слил и залил его обратно. Все действия описаны выше. К сожалению я не заказал 2х одинаковых evolution board. что бы сейчас проверить. Ну да ладно. Буду пробовать дальше. обычных модулей у меня много.
До меня никто, я только слил и залил его обратно. Все действия описаны выше. К сожалению я не заказал 2х одинаковых evolution board. что бы сейчас проверить. Ну да ладно. Буду пробовать дальше. обычных модулей у меня много.
У вашего и моего первого модуля из партии купленного на али и вашего одинаковые MAC? В моем 00 f8 87 11 00 12 (прошивка Прошивка с которой пришел модуль RTL00 V1.0) В вашем дампе тоже самое. У одного продавца брали?
Они что MAC всем один и тот-же прописывают?
На модулях от RF-Link все MAC разные и пробиваются в базе производителей как RF-Link.
1. Поставил ардуино IDE.
2. Вписал путь.
3. Обновил.
4. выбрал плату и пример.
5. скомпилировал. это делает.
6. Прошить через embed не может (нет его у меня). Других вариантов не предлагает. Экспортировать прошивку не может. Как получить бинарник прошивки ?
7. upload_ota.exe есть, но совершенно отдельно и с arduino ide никак не связан.
Это офиц. Ameba Arduino. Она ещё не доделана для RTL871x чипов и работает только с двумя своими платами, на которых стоит другой Jtag. Realtek IoT/Arduino Solution
А разговор идет о моей неофиц. RtlDuino для чипов RTL871x с Jtag по типу SEGGER.
Это офиц. Ameba Arduino. Она ещё не доделана для RTL871x чипов и работает только с двумя своими платами, на которых стоит другой Jtag. Realtek IoT/Arduino Solution
1. Realtek выпустил чип, но как бы не для частного сегмента, и поэтому нормальной документации и софта нет. (например как у СТМ)
2. Некие товарищи (PADI) разобрались и выпустили продукт АМЁБА по сути расширение к ардуино и к (IAR ?) но что бы у них не воровали прошивку чипов сделали через свою прокладку программатор J-link. (Mbed драйвер)
(По сути продают программатор, из за этого и нет у них бинарника на выходе что бы другими не пользовались а покупали их плату).
3. Вы разобравшись, выпустили своё (переделав их ?) расширение к ардуино RTLDUINO и свой программатор RTL-flasher иже с ним, которые шьют через другой более доступный J-link адаптер. (Segger или клон)
4. Теоретически они расширят линейку до (8710 вроде уже расширили), возможно появится нормальный офф софт. Вы же смысла улучшать не видите. Поскольку всё отличие разных чипов RTL это объём памяти и количество портов, то есть поправив адреса записи шить можно любые. А
1. Realtek выпустил чип, но как бы не для частного сегмента, и поэтому нормальной документации и софта нет. (например как у СТМ)
2. Некие товарищи (PADI) разобрались и выпустили продукт АМЁБА по сути расширение к ардуино и к (IAR ?) но что бы у них не воровали прошивку чипов сделали через свою прокладку программатор J-link. (Mbed драйвер)
(По сути продают программатор, из за этого и нет у них бинарника на выходе что бы другими не пользовались а покупали их плату).
3. Вы разобравшись, выпустили своё (переделав их ?) расширение к ардуино RTLDUINO и свой программатор RTL-flasher иже с ним, которые шьют через другой более доступный J-link адаптер. (Segger или клон)
4. Теоретически они расширят линейку до (8710 вроде уже расширили), возможно появится нормальный офф софт. Вы же смысла улучшать не видите. Поскольку всё отличие разных чипов RTL это объём памяти и количество портов, то есть поправив адреса записи шить можно любые. А
Всё не правильно.
1. Realtek выпустил чип и всю документацию + SDK. Поставляется по запросу и договору с Realtek. Т.е. всё как у всех на SoC c WiFi.
2. Realtek походу заказал выпуск Ameba. PADI и модули B&T к этому процессу не относятся. PADI уже обращался ко мне для поддержки продаж их модулей. Я отказал.
3. Надоело ждать телодвижений Ameba и я, на базе их, слепил свою версию исключительно для себя, но дал исходные части для вас.
4. Теоретически они пытаются расширить линейку на RTL8710. Но это пока плохо у них выходит - всех портов I/O и прочего не могут задействовать из-за своей платы.
1. Установил arduino ide
согласно руководству в архиве rtlduino readme.md
2. Установил амёбу через репозиторий.
3. Скопировал папку в hardware\development\RT....
4. В меню появилась плата RTL00 и методы прошивки.
4. Выбираю пример. file-examples-amebaOta-otanonblock
При компиляции выдаёт ошибку. Нет библиотеки MyAP.h и двойное определение WIFI.
Вайфай я удалил из папки arduino\libraries\WiFi.
MyAP.h ? нет такой.
Что делать где взять ?
Чем отличаются методы прошивки Jlink (RAM, IMG, OTA) network OTA. ?
1. Установил arduino ide
согласно руководству в архиве rtlduino readme.md
2. Установил амёбу через репозиторий.
3. Скопировал папку в hardware\development\RT....
4. В меню появилась плата RTL00 и методы прошивки. Посмотреть вложение 3185Посмотреть вложение 3186
4. Выбираю пример. file-examples-amebaOta-otanonblock
При компиляции выдаёт ошибку. Нет библиотеки MyAP.h и двойное определение WIFI.
Вайфай я удалил из папки arduino\libraries\WiFi.
MyAP.h ? нет такой.
Что делать где взять ?
Чем отличаются методы прошивки Jlink (RAM, IMG, OTA) network OTA. ?
А вы читать умеете? Похоже - нет. Будем учить:
Откройте тему Arduino для RTL8710.
Там в первом сообщении есть ссылки с описанием как и что делать.
MyAP.h сделано для того, чтобы:
1) Не переписывать пароль и имя в каждом скетче.
2) При копировании в форум имя и пароль вашей AP не копируются
Если вас это не устраивает, то закоментируйте #include "myAP.h".
4. Теоретически они пытаются расширить линейку на RTL8710. Но это пока плохо у них выходит - всех портов I/O и прочего не могут задействовать из-за своей платы.
И что, имя RtlDuino у меня было использовано до выхода в других вариантах. Была такая надпись на каком-то модуле на таобао...
Или что вас беспокоит?
Меня не беспокоит применение моего кода или того, что даю. Есть только одно пожелание - при использовании и распространении стирать все упоминания обо мне. Желательно вписывать свой (c).
Такой лицензии я не нашел. GPL, MIT и прочие не годятся под данные условия (пожелания).
CMIS-DAP меня не устраивает. Он тормоз и к нему нет такого разнообразия ПО, как под Jlink.
Код адаптера CMIS-DAP для STM32F0xx и STM32F103 (т.е. для всех типов клонов STLink/Jlink) есть на git со всеми их схемами. Но Ameba Arduino работает исключительно только со своей реализацией данного Jtag.
RtlDuino содержит около 20% измененного кода в бинарных библиотеках от оригинала Ameba. Так-же сняты "коммерческие" ограничения на использование встроенных в чип RTL8710 устройств, т.к. сам кристалл SoC не отличается от RTL8195 или RTL8711Ax, а просто меньше выводов у корпуса чипа и нет USB или встроенного SDRAM чипа. RtlDuino - это другая сборка, а исходники (замененные части для правильной поддержки RTL8710/11) приведены на RTL00MP3/RTL00_SDKV35a at master · pvvx/RTL00MP3 · GitHub
Соответственно у Ameba Arduino ничего не работает и не развивается на RTL871x серию, в отличии от RtlDuino. Им ещё год писать такими же темпами, как они делали до достижения текущего уровня RtlDuino. RtlDuino, выложенное на git, не поддерживает полностью RTL8711AM - не стал доделывать, т.к. всё равно надо ждать когда появятся в доступе эти модули на али. Ameba Arduino вообще не поддерживает RTL8711AM.
У чувака ужасная скорость инет (или ping) или он пытается запустить канал web-радио не с неподеррживаемым битрейтом , возможно и вписал код поддержки индикатора с не тем приоритетом - рвет процесс проигрывания:
А зачем? Когда Ardunio берет либу, то она смотрит для какой это платы. Это описано в library.properties, приложенного к каждой либе.
Она вас и уведомляет, что есть несколько разных либ с одним именем, но для разных плат Используется только та либа, которая прописана для данной платы. Так что вы зря полезли в то, с чем не знакомы и начали там устраивать бардак
Так. Начало шиться. что и куда пока непонятно. Но шьётся.
Не знаю почему, но конечная строка в консоли ардуины "Успешно: Процесс "JLinkGDBServer.exe", с идентификатором 1527608, был завершен." Выводится в кодировке IBM-866 Собственно вот весь лог.
Воообще по памяти я нашёл только два упоминания. В даташите RTL8711AF_Datasheet_v01r04.pdf
И в UM0034 Realtek Ameba-1 memory layout.pdf
Image 1 он же bootloader - это инициализация железок (порты, таймеры, частота, wifi....) .
system data -адрес перехода на upgrade image2 (то есть в контролере есть/могут быть одновременно две прошивки и от адреса в ситем дата зависит какая будет исполняться)
calibration data - калибровки модуля, мак адрес и прочее. По сути для китайского модуля они чаще всего одинаковы и мак нужно править ?
default image - Не совсем понятно что там.
upgrade image - Не совсем понятно что там но как понял это и есть OTA , выбор какая грузится происходит в system data.
userdata - Не совсем понятно что там.
Собственно вопросы. Что за данные находится в image 2, image 2 upgrade, image 3 (что это ) и в user data ?
Что за области памяти шьются в режими RaM IMG OTA ?
Я так думаю.
1. RAM - Вся память (то есть при компиляции собирается всё и загрузчик и.т..д и это всё заливается. фуллфлеш в полном объёме)
2. IMG - шьётся только IMG 2 (при компиляции тоже собирается всё, но шьётся только IMG2)
3. OTA - шьётся только IMG 2 upgrade (при компиляции тоже собирается всё, но шьётся только IMG2+)
Вы книжку писать собрались?
0x00000 Image1 - bootloader - ram_1.p.bin
0x09000 SystemData.bin
0x0A000 CalibrationData.bin
0x0B000 Image2 - прошивка - ram_2.bin - для области SRAM
0x0......... 0x7..... Image3 - прошивка - sdram.bin - для области SDRAM
..... (может быть доп.блок - лоадер обслуживает)
0x80000 OTA - ota.bin - так-же может быть из двух или 3-х частей
0xFC000 SavedData2.bin FEEP Установки WiFi, LwIP, UART из AT или пользовательские
---------
Старые SDK ota писали последовательно за первыми блоками. Но в самой прошивке у них идет сохранение параметров по адресу 0x7f000, что попадает в OTA прошивку у них. (Так записывают модули продавцы-китайцы - и вашу тоже )
В новой версии, для совместимости с Ameba Arduino OTA пишется с 0x80000
Всё описать я вам не смогу - лень и вы не платите обменом информации, а жувать это мне не интересно. Там ещё много подробностей - в PDF и 10% нет. PDF-ы относятся к старой и устаревшей версии SDK, ныне нигде не применяющейся (2015 г).
Одному тут уже помогли с инфой - дык теперь книжки у него платные... и с ошибками
Нет, это будут датчики и исполнительные механизмы для системы управления котельной. Других дешёвых чипов с Вайфаем просто нет. Поэтому работать придётся с ними. Вот и разбираюсь.
0x00000 Image1 - bootloader - ram_1.p.bin
0x09000 SystemData.bin
0x0A000 CalibrationData.bin
0x0B000 Image2 - прошивка - ram_2.bin - для области SRAM
0x0......... 0x7..... Image3 - прошивка - sdram.bin - для области SDRAM
..... (может быть доп.блок - лоадер обслуживает)
0x80000 OTA - ota.bin - так-же может быть из двух или 3-х частей
0xFC000 SavedData2.bin FEEP Установки WiFi, LwIP, UART из AT или пользовательские