• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Библиотеки SDK Ameba

pvvx

Активный участник сообщества
Кто поможет собрать/создать все исходники библиотек из SDK Ameba?

Пока начал с lib_platform.a.
Из lib_platform.a на сегодня есть dissasm->си и т.д.:
app_start.c (+)
freertos_pmu.c (+)
hal_log_uart.c (+)
hal_efuse.c (как пример)
hal_soc_ps_monitor.c (+)
hal_pinmux.c (+)
hal_misc.c (+)
startup.c (+)
hal_spi_flash_ram.с(+)
Остаются:
hal_crypto.o

PS: Если 'сообщество' не окажет помощи, то исходники останутся закрытыми на время, т.е. будут распространяться только между участниками разбора, пока не примут решения выкладывать всем...
 
Последнее редактирование:

pvvx

Активный участник сообщества
Я займусь startup.o
Просто требуется много времени на оформление и приведение всех обращений к регистрам к стандартным хидерам.
Потом ещё тестирование... Указанные, что перевел, вроде уже оттестировал, но не на 100%. Ни один из примеров SDK не использует все процедуры...
 

pvvx

Активный участник сообщества
На сегодня остаются 'не вскрытыми' только библиотеки работы с самим WiFi. Части из них, непосредственно работающие с RF, 'реверсить' не собираюсь - в этом нет никакого смысла...
 

goodwin

Member
А вот мне, например, была бы весьма в жилу возможность передать/принять всего один короткий пакет на скорости 1...11 Мбит с мощОй +17 дБм . Девайсом за 2.5$ с кортексом внутри...
 

pvvx

Активный участник сообщества
А вот мне, например, была бы весьма в жилу возможность передать/принять всего один короткий пакет на скорости 1...11 Мбит с мощОй +17 дБм . Девайсом за 2.5$ с кортексом внутри...
А в чем загвоздка?
 

pvvx

Активный участник сообщества
В SDK кривовато работает таймер xTaskGetTickCount(). Программный недочет.
Запустил SNTP, он каждую секунду выводит время и одновременно работает GTimer с выводом xTaskGetTickCount():

counter: 1, x: 1000 - Gtimer, xTaskGetTickCount()
....
counter: 4, x: 3988
19:01:50 12 11 2016 - NTP Request
counter: 5, x: 4984
19:01:51 12 11 2016
....
counter: 605, x: 602070
19:11:50 12 11 2016
counter: 606, x: 603064
19:11:51 12 11 2016

Итого: За 10 минут = 600 сек, счетчик xTaskGetTickCount() отклонился на более 2-х секунд
По идеи должен отклоняться GTimer, т.к. тактируется от RC генератора, но со стартовой калибровкой, а Таймер для xTaskGetTickCount() - тактируется от CLK CPU, т.е. от кварца. Но на нем накручено всяких коррекций смещений на sleep-ы CPU... и там что-то не согласовано программно...
Надо слепить тест поточнее...
 
Последнее редактирование:

Creep

Member
Здравствуйте.
Простите, но не нашел другого подходящего места, чтобы задать нубские вопросы:
- упоминаемый "ваш" SDK для 871х растет из стандартного SDK или это вообще сборник?
- очень часто встречается слово Arduino, но в разных значениях. можно узнать все значения с расшифровкой? например, часто вместо Arduino IDE упоминается просто Arduino. Вообще об именах и терминах информацию вычленять трудно: например "Амеба" - что это значит? имя производителя? формат платы под модуль? название сдк? или может еще что? третий день читаю форум - некоторые диалоги с трудом воспринимаются именно из-за недопонимания смысла таких слов выросших из имен собственных.
- и последнее что совсем не понятно - на сколько полная совместимость у прошивок/сдк между модулями на разных чипах. выяснил, что есть достаточно полная совместимость в пределах одинаковой конфигурации памяти (озу пзу), кроме этого интересует совместимость модулей в разрезе между "производителями", а также влияет ли фактор размещения модуля на "ардуинке" на переносимость ПО. (как я понимаю, занятые порты на платах под всякий обвес под доп уарты, джилинки на совместимость не влияют, а только на распределение ресурсов MCU)

не судите строго "я не волшебник, я только учусь" (с)
 

pvvx

Активный участник сообщества
Здравствуйте.
Простите, но не нашел другого подходящего места, чтобы задать нубские вопросы:
- упоминаемый "ваш" SDK для 871х растет из стандартного SDK или это вообще сборник?
- очень часто встречается слово Arduino, но в разных значениях. можно узнать все значения с расшифровкой? например, часто вместо Arduino IDE упоминается просто Arduino. Вообще об именах и терминах информацию вычленять трудно: например "Амеба" - что это значит? имя производителя? формат платы под модуль? название сдк? или может еще что? третий день читаю форум - некоторые диалоги с трудом воспринимаются именно из-за недопонимания смысла таких слов выросших из имен собственных.
- и последнее что совсем не понятно - на сколько полная совместимость у прошивок/сдк между модулями на разных чипах. выяснил, что есть достаточно полная совместимость в пределах одинаковой конфигурации памяти (озу пзу), кроме этого интересует совместимость модулей в разрезе между "производителями", а также влияет ли фактор размещения модуля на "ардуинке" на переносимость ПО. (как я понимаю, занятые порты на платах под всякий обвес под доп уарты, джилинки на совместимость не влияют, а только на распределение ресурсов MCU)

не судите строго "я не волшебник, я только учусь" (с)
На все вопросы, после ввода указанных слов может ответить поисковик (google к примеру).
Ameba - это Realtek IoT/Arduino Solution , кроме того такое имя дано новой серии чипов Realtek RTL871xBx.
Arduino - это среда написания скетчей в амбразуре тупого редактора без указания зависимостей и деклараций объектов путем повтора действий других в yotube или копирования скетчей из блогов. Предполагает подход только "Делай как я", т.е. не для разработки, а тупого повтора стандартных действий.
Мой SDK - подразумевается, что это сборка из разных источников и дополнение исходных кодов закрытых библиотек путем "реверса", "обратной инженерии" и с исправленными ошибками в исходных кодах от базовых найденных кусков SDK, которые кинули или просочились в Инет из официальных и закрытых источников. Т.е. он другой по многим фактам.
 

Creep

Member
На все вопросы, после ввода указанных слов может ответить поисковик (google к примеру).
в том-то все и дело, что так далеко не всегда :( с гуглом не расстаюсь, но помогает не всегда. некропостинг - плохо, но только что читал про память: в тексте было упоминание "амебы", по контексту имелось ввиду ПО то ли прошивка то ли сдк. экономия слов для скорости/краткости делает фразы двусмысленными для новичков. без претензий, просто осваиваю сленг.
в остальном, много развернутой инфы с объяснениями и ссылками - народная любовь и уважение уже упакованы, куда выслать?
про совместимость и переносимость хотелось бы вкратце услышать чуть-чуть, в том числе где какие грабли можно встретить. не весь раздел еще прочитал, возможно это упоминалось, пока просто трудно привыкнуть к этому зоопарку библиотек, сдк, чипов, модулей и "ардуринок"

зы. образование не совсем профильное, но диплом 19 лет назад делал на pic14000 - так что думаю разберусь
 

pvvx

Активный участник сообщества
пока просто трудно привыкнуть к этому зоопарку библиотек, сдк, чипов, модулей и "ардуринок"
Сейчас в данной области, WiFi SoC - рост в прогрессии. SDK и чипы плодятся как грибы... Завтра будет ещё больше в разы. Всё охватить человек уже не может давно, так что не беспокойтесь - выберите что и изучайте постепенно...
 

Creep

Member
SDK и чипы плодятся как грибы...
скорость и количество не идут на пользу качеству :( а недостаток знаний превращает выбор в лотерею. по вашим сообщениям вижу, что "достаток знаний" приносит только печаль :)

простите за нубский вопрос - RTOS каким образом оказывается в проекте? во время создания исходника включается или она там уже где-то зашита?
 

pvvx

Активный участник сообщества
простите за нубский вопрос - RTOS каким образом оказывается в проекте? во время создания исходника включается или она там уже где-то зашита?
RTOS там везде. С использованием её функций и написано всё SDK, включая закрытые исходники WiFi драйвера низкого уровня. Т.е. изменить это сложно, но можно - в RTL SDK есть структуры связи, через которые описывают процедуры используемые какой либо библиотекой, включая API и HAL в ROM-BIOS...
PS: времени на написание томов описаний и инструкций у меня нет.
 
Сверху Снизу