• Система автоматизации с открытым исходным кодом на базе 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: времени на написание томов описаний и инструкций у меня нет.
 
Сверху Снизу