Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

RTLHTTPD

Тема в разделе "Realtek - SDK, прошивки и утилиты", создана пользователем sharikov, 11 фев 2017.

  1. sharikov

    sharikov Авторитетный участник сообщества

    Сообщения:
    564
    Симпатии:
    51
    RTLHTTPD

    esphttpd-freertos портирован на RTL8710.
    espfs бинарно совместима.

    Проект основан на pvvx SDK3.5

    При старте запускается открытая точка доступа RTL8710. IP=192.168.3.1
    Работают html примеры:
    websocket, led demo, реализована прошивка флэш по http.
    Портирован и протестирован Captive Portal но в демо отключен потому что на практике плохо применим (я уже писал об этом).

    Для прошивки флэш из браузера нужно зайти по адресу http://192.168.3.1/flash/ (слэш в конце обязателен).
    Адреса и размер файла не проверяются, думайте что шьете. Область калибровки автоматически обходится так что фуллфлэш ее не повредит.

    Установка:
    Клонировать репозитарий
    f28 / rtlhttpd — Bitbucket

    Запустить init_project.sh - он докачает нужное.
    SDK там закомментирован потому что он большой, если у кого-то SDK нет раскомментируйте он скачается.

    Настройка:
    Проверить пути в paths.mk

    Компиляция:
    make all - код
    make webfs - espfs
    не забывайте прошивать webfs, без нее сервер страницы показать не может

    Прошивка:
    make -f flasher.mk flashburn - image1, image2
    make -f flasher.mk flashweb - webfs

    только image2 (image1 изеняется редко, его не всегда надо шить):
    make -f flasher.mk flashimage2p

    Запуск в ram:
    make -f flasher.mk runram
    (webfs уже должна быть прошита!)

    Для ленивых в папке build/bin оставлены готовые бинарники.


    Не реализовано:
    * wi-fi station и настройки wifi соединения
    * отправка http header (этого нет у автора)
     
    aloika, Simon и kissste нравится это.
  2. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    На windows ничего не работает, из описанного по установке и клонированию, даже если всё переписать...
    Не импортируется librtlhttpd и нет очень многих файлов, к примеру include librtlhttpd/librtlhttpd.mk ... и т.д.
    Так-же не работает импорт в Eclipse проекта.
    Можно прошить только бинарники с помощью JLinkGDB-WrFlash.bat и записав программатором build\bin\webpages.espfs по адресу 0x0d0000.
     
  3. sharikov

    sharikov Авторитетный участник сообщества

    Сообщения:
    564
    Симпатии:
    51
    Дальше можно не продолжать. Собственно сервер расположен в librtlhttpd а rtlhttpd - просто демо его использования.
    Не установились права на librtlhttpd. Поправил, обновите Rtlhttpd.

    --
    ps. попытаюсь за вечер сделать минимальный краш-тест вариант без внешних зависимостей.
     
  4. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    "даже если всё переписать..." :)
    Теперь:
    Снимок1309.gif
    Потом запрашивает пароль. После ввода вашего пароля вроде всё нормально. :)

    Измените в sdkset.mk:
    INCLUDES += sdk/component/soc/realtek/8195a/misc/rtl_std_lib
    INCLUDES += sdk/component/soc/realtek/8195a/misc/rtl_std_lib/include
    Вторая строка встречалась дважды, первую надо добавить.
    + Измените:
    LDFILE = rlx8195A-symbol-v04-img2.ld
    + Докиньте пока куда: RTLHTTPD\project\inc\rtl_bios_data.h
    Это связано с обновлением в моем SDK, для rtl_bios_data.h место не назначено из-за неготовности boot-loader-а
    INCLUDES далее буду пробовать сократить в SDK, желательно сделать сборку SDK с либами, чтоб под каждый раз не перекомпилировать весь ненужный хлам...

    краш-тест c UDP/TCP socket проходил с iperf в rtlDuino...
     
    Последнее редактирование: 19 фев 2017
  5. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    С HTTPD существуют такие проблемы - не отдает файлы в многопоточном варианте HTTP, а все современные браузеры запрашивают несколько потоков.
    Так-же наблюдается длительное открытие файлов и чрезмерное использование малых ресурсов SoC с 512 килобайтами RAM.
    Кароче кошачий вариант не катит на Web.
     
  6. sharikov

    sharikov Авторитетный участник сообщества

    Сообщения:
    564
    Симпатии:
    51
    Флэшка одна и быстрее читать не может хоть в 1 поток хоть в 100500. Wifi тоже быстрее передавать не может. Итого: от многопотока выигрыша не будет. Это не значит что вообще ничего не надо дорабатывать. Но только после того как перестанет падать.
     
  7. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    Flash читается в десятки мегабайт в сек, а отдает по TCP в 1.8 MБ из-за WiFi (сервер-клиент в одной сети и один поток). В зависимости от удаления, когда пинг большой - многопоток спасет. Получаем полный трафик WiFi HT40 на TCP.
    "Кошатникам" это не надо - у них много чего не доделано, хотя сказано и подсказано как сделать в течении более 2-х лет... Начиная писать Web себе, когда я увидел это безобразие, то и пришлось сделать web-свалку... Там эти кошки грузились минут 10 :) А теперь, после указаний, почти летают. Но было сопротивление :)
    А что падает?
    В AT тупой web пример не падает и память не теряет при тисячи запросов (запрос памяти в AT -> ATST). Работает через те-же функции что ваше.
    GitHub - pvvx/RTL00_AT: RTL00(RTL8710AF) AT command
    Пускаете, запрашиваете ATP? и видите пачку TIME-WAIT pcb :) Когда они уйдут, то ATST выдаст начальные значения по памяти.
    Код (Text):
    1.  
    2. ATP?
    3. === LwIP Info ===
    4. Net Info[0]: 192.168.3.1, 255.255.255.0, 192.168.3.1
    5. Net Info[1]: 192.168.43.1, 255.255.255.0, 192.168.43.1
    6. UDP pcbs:
    7. flg:00  0.0.0.0:67      0.0.0.0:0       recv:0x1001877d
    8. flg:00  0.0.0.0:55467   0.0.0.0:0       recv:0x10013d4d
    9. Active PCB states:
    10. none
    11. Listen PCB states:
    12. Port 80|0       flg:00  tmr:0x0 LISTEN
    13. TIME-WAIT PCB states:
    14. Port 80|5298    flg:30  tmr:0x104       TIME_WAIT
    15. Port 80|5297    flg:30  tmr:0x104       TIME_WAIT
    16. Port 80|5296    flg:30  tmr:0x104       TIME_WAIT
    17. Port 80|5295    flg:30  tmr:0x104       TIME_WAIT
    18. Port 80|5294    flg:30  tmr:0x103       TIME_WAIT
    19. Port 80|5293    flg:30  tmr:0x103       TIME_WAIT
    20. Port 80|5292    flg:30  tmr:0x103       TIME_WAIT
    21. Port 80|5291    flg:30  tmr:0x103       TIME_WAIT
    22. Port 80|5290    flg:30  tmr:0x103       TIME_WAIT
    23. Port 80|5289    flg:30  tmr:0x103       TIME_WAIT
    24. Port 80|5288    flg:30  tmr:0x103       TIME_WAIT
    25. Port 80|5287    flg:30  tmr:0x102       TIME_WAIT
    26. Port 80|5286    flg:30  tmr:0x102       TIME_WAIT
    27. Port 80|5285    flg:30  tmr:0x102       TIME_WAIT
    28. Port 80|5284    flg:30  tmr:0x102       TIME_WAIT
    29. Port 80|5283    flg:30  tmr:0x102       TIME_WAIT
    30. Port 80|5282    flg:30  tmr:0x102       TIME_WAIT
    31. Port 80|5281    flg:30  tmr:0x102       TIME_WAIT
    32. Port 80|5280    flg:30  tmr:0x101       TIME_WAIT
    33. Port 80|5279    flg:30  tmr:0x101       TIME_WAIT
    34. Port 80|5278    flg:30  tmr:0x101       TIME_WAIT
    35. Port 80|5277    flg:30  tmr:0x101       TIME_WAIT
    36. Port 80|5276    flg:30  tmr:0x101       TIME_WAIT
    37. Port 80|5275    flg:30  tmr:0x101       TIME_WAIT
    38. Port 80|5274    flg:30  tmr:0x101       TIME_WAIT
    39. Port 80|5273    flg:30  tmr:0x100       TIME_WAIT
    40. Port 80|5272    flg:30  tmr:0x100       TIME_WAIT
    41. Port 80|5271    flg:30  tmr:0x100       TIME_WAIT
    42. Port 80|5270    flg:30  tmr:0x100       TIME_WAIT
    43. Port 80|5269    flg:30  tmr:0x100       TIME_WAIT
    44. Port 80|5268    flg:30  tmr:0x100       TIME_WAIT
    45. Port 80|5267    flg:30  tmr:0x100       TIME_WAIT
    46. Port 80|5266    flg:30  tmr:0xff        TIME_WAIT
    47. Port 80|5265    flg:30  tmr:0xff        TIME_WAIT
    48. Port 80|5264    flg:30  tmr:0xff        TIME_WAIT
    49. Port 80|5263    flg:30  tmr:0xff        TIME_WAIT
    50. Port 80|5262    flg:30  tmr:0xff        TIME_WAIT
    51. Port 80|5261    flg:30  tmr:0xff        TIME_WAIT
    52. Port 80|5260    flg:30  tmr:0xff        TIME_WAIT
    53. Port 80|5259    flg:30  tmr:0xff        TIME_WAIT
    54. Port 80|5258    flg:30  tmr:0xfe        TIME_WAIT
    55. Port 80|5257    flg:30  tmr:0xfe        TIME_WAIT
    56. Port 80|5256    flg:30  tmr:0xfe        TIME_WAIT
    57. Port 80|5255    flg:30  tmr:0xfe        TIME_WAIT
    58. Port 80|5254    flg:30  tmr:0xfe        TIME_WAIT
    59. Port 80|5253    flg:30  tmr:0xfe        TIME_WAIT
    60. Port 80|5252    flg:30  tmr:0xfe        TIME_WAIT
    61. Port 80|5251    flg:30  tmr:0xfd        TIME_WAIT
    62. Port 80|5250    flg:30  tmr:0xfd        TIME_WAIT
    63. Port 80|5249    flg:30  tmr:0xfd        TIME_WAIT
    64. Port 80|5248    flg:30  tmr:0xfd        TIME_WAIT
    65. Port 80|5247    flg:30  tmr:0xfd        TIME_WAIT
    66. Port 80|5246    flg:30  tmr:0xfd        TIME_WAIT
    67. Port 80|5245    flg:30  tmr:0xfd        TIME_WAIT
    68. Port 80|5244    flg:30  tmr:0xfc        TIME_WAIT
    69. Port 80|5243    flg:30  tmr:0xfc        TIME_WAIT
    70. Port 80|5242    flg:30  tmr:0xfc        TIME_WAIT
    71. Port 80|5241    flg:30  tmr:0xfc        TIME_WAIT
    72. Port 80|5240    flg:30  tmr:0xfc        TIME_WAIT
    73. Port 80|5239    flg:30  tmr:0xfc        TIME_WAIT
    74. Port 80|5238    flg:30  tmr:0xfc        TIME_WAIT
    75. Port 80|5237    flg:30  tmr:0xfc        TIME_WAIT
    76. Port 80|5236    flg:30  tmr:0xfb        TIME_WAIT
    77. Port 80|5235    flg:30  tmr:0xfb        TIME_WAIT
    78. Port 80|5234    flg:30  tmr:0xfb        TIME_WAIT
    79. Port 80|5233    flg:30  tmr:0xfb        TIME_WAIT
    80. Port 80|5232    flg:30  tmr:0xfb        TIME_WAIT
    81. Port 80|5231    flg:30  tmr:0xfb        TIME_WAIT
    82. Port 80|5230    flg:30  tmr:0xfb        TIME_WAIT
    83. Port 80|5229    flg:30  tmr:0xfb        TIME_WAIT
    84. Port 80|5228    flg:30  tmr:0xfa        TIME_WAIT
    85. Port 80|5227    flg:30  tmr:0xfa        TIME_WAIT
    86. Port 80|5226    flg:30  tmr:0xfa        TIME_WAIT
    87. Port 80|5225    flg:30  tmr:0xfa        TIME_WAIT
    88. Port 80|5224    flg:30  tmr:0xfa        TIME_WAIT
    89. Port 80|5223    flg:30  tmr:0xfa        TIME_WAIT
    90. Port 80|5222    flg:30  tmr:0xfa        TIME_WAIT
    91. Port 80|5221    flg:30  tmr:0xfa        TIME_WAIT
    92. Port 80|5220    flg:30  tmr:0xf9        TIME_WAIT
    93. Port 80|5219    flg:30  tmr:0xf9        TIME_WAIT
    94. Port 80|5218    flg:30  tmr:0xf9        TIME_WAIT
    95. Port 80|5217    flg:30  tmr:0xf9        TIME_WAIT
    96. Port 80|5216    flg:30  tmr:0xf9        TIME_WAIT
    97. Port 80|5215    flg:30  tmr:0xf9        TIME_WAIT
    98. Port 80|5214    flg:30  tmr:0xf8        TIME_WAIT
    99. Port 80|5213    flg:30  tmr:0xf8        TIME_WAIT
    100. Port 80|5212    flg:30  tmr:0xf8        TIME_WAIT
    101. Port 80|5211    flg:30  tmr:0xf8        TIME_WAIT
    102. Port 80|5210    flg:30  tmr:0xf8        TIME_WAIT
    103. Port 80|5209    flg:30  tmr:0xf8        TIME_WAIT
    104. Port 80|5208    flg:30  tmr:0xf8        TIME_WAIT
    105. Port 80|5207    flg:30  tmr:0xf7        TIME_WAIT
    106. Port 80|5206    flg:30  tmr:0xf7        TIME_WAIT
    107. Port 80|5205    flg:30  tmr:0xf7        TIME_WAIT
    108. Port 80|5204    flg:30  tmr:0xf7        TIME_WAIT
    109. Port 80|5203    flg:30  tmr:0xf7        TIME_WAIT
    110. Port 80|5201    flg:30  tmr:0xf1        TIME_WAIT
    111. Port 80|5200    flg:30  tmr:0xf1        TIME_WAIT
    112.  
    113. [MEM] After do cmd, available heap 43088+17912
    :)
    C socket() сделать по другому сложно :)
     
    Последнее редактирование: 19 фев 2017
  8. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    У вас что-то не то в httpdRecvCb():
    Лог:
    httpserver acpt index 0 sockfd 1!
    precvbuf = 0x10003b00
    httpdRecvCb(0x10047374, 0x10047384, 57632, 0x10003b00, 349)
    sendBuff = 0x10002688 <- Это после буфера printf :) распределено в rom_heap (rtl_std_lib)
    conn = 0x10002208 <- Полез в буфер printf ! :eek:
    httpdParseHeader(GET /style.css HTTP/1.1, 0x10002208)
    Наверно либы компилятора CИ ставят свой alloc :) У нас вооще-то RTOS со своим alloc, или вы ещё не заметили? :D
    Приделайте правильно хидеры! :p
     
    Последнее редактирование: 20 фев 2017
  9. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    GitHub - pvvx/RTLHTTPD без кошек. И нет некоторых файлов от Web диска - test.cgi и ещё чего-то...
    Ставите
    #define CONFIG_DEBUG_LOG 5 и наслаждаетесь :)
    CLK 12.5 MHz для теста осталась - исправите... на 200 в main() :)
    Оно и на 12 быстрее ESP-32S :)

    @sharikov - куда дели test.cgi?
    Снимок1310.gif
    10MHz - тоже достаточно :) А вот на 4-ре там беды в SDK с делителями - халтурщики прописали что 4 MHz в ROM, а там не 4-ре. UART ставиться на 26000 вместо 38400 и походу CPU не всегда успевает справиться с RTOS тиками в 1 ms и web... Что явно свидетельствует, что не оптимально написан кошачий HTTPD...
    Код (Text):
    1. Init Heap Region: 0x10003000[12288]
    2. Init Heap Region: 0x100496c8[158008]
    3. Main start
    4.  
    5. CLK CPU         4000000 Hz
    6. RAM heap        165048 bytes
    7. TCM heap        64768 bytes
    8. interface 1 is initialized
    9. interface 0 is initialized
    10. Initializing WIFI ...
    11. WLAN_AP_ACTIVATE_
    12. ioctl[SIOCGIWESSID] ssid = NULL, not connected
    13. LwIP_DHCP: dhcp stop.
    14. Deinitializing WIFI ...
    15. [rltk_wlan_deinit] Wait for RxStop
    16. WIFI deinitialized
    17. Initializing WIFI ...
    18. WIFI initialized
    19. Starting AP ...
    20. RTL8710 started
    21. NetBIOS init, interface 0: 'ARTL871X',  1: 'SRTL871X'
    22. WIFI initialized
    23. esphttpd: active and listening to connections.
    24. Httpd init
    25. RAM heap        129768 bytes    TCM heap        23848 bytes
    26.  
    27. RTL8195A[Driver]: +OnAuth: 00:0f:54:10:6a:b5
    28.  
    29. RTL8195A[Driver]: +OnAssocReq
    30. Conn req from  192.168.3.2:34344, using pool slot 0
    31. httpserver acpt index 0 sockfd 1!
    32. URL = /test/index.html
    33. Is url index 0
    34. Is url index 10
    35. Heatshrink compressed file; decode parms = 4
    36. Pool slot 0 is done. Cleaning up for next req
    37. URL = /wifi/style.css
    38. Is url index 0
    39. Is url index 10
    40. Heatshrink compressed file; decode parms = 4
    41. Pool slot 0 is done. Cleaning up for next req
    42. Conn req from  192.168.3.2:34856, using pool slot 1
    43. httpserver acpt index 1 sockfd 2!
    44. Pool slot 0: socket closed.
    45. Pool slot 1: socket closed.
    46.  
    47. RTL8195A[Driver]: Asoc expire 00:0f:54:10:6a:b5
    Без test.cgi не работает и в конце валиться кошачий httpd... как я соберу на git полную версию?
     
    Последнее редактирование: 20 фев 2017
    aloika нравится это.
  10. sharikov

    sharikov Авторитетный участник сообщества

    Сообщения:
    564
    Симпатии:
    51
    Я test.cgi не тестировал и даже не смотрел поэтому убрал.
    librtlhttpd обновил с испрвлениями malloc.

    Для полной версии нужны настройки web из браузера, загрузка webfs. А разметки флэш нет. Куда зашивать webfs непонятно, где хранить расширенные настройки wifi (мощность, режим) тоже непонятно.
    Какой пин использовать для сброса настроек wifi в default ?

    Линкеру есть смысл добавить опцию -Wl,-nostdlib, я у себя добавил.
    Это чтобы предотвратить случайное использование стандартной библиотеки. Если библиотеки понадобятся добавить вручную ровно то что требуется.
    А то Eclipse путается в многочисленных переопределениях и показывает malloc как pvPortMalloc а на самом деле там оказался malloc из стандартной библиотеки.
     
  11. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    Дык возверните и долепите - как тестировать-то?
    Этим дело не закончиться. Вам Eclipse цветом имен процедур напоминает, что вы их не переназначили. Всякие memcpy и т.д...
    Не надо ничего из файлов в flash писать. Для этого есть microSD и FTP тоже уже сделан. Поправите FTP на многопользоательский и всё будет хорошо :)
    Там уже есть FEEP область и сохраняет объекты, без потери.
    По усмотрению пользователя.

    Посмотрите лучше - если кажет стандартную - то отмечает цветом и ничего у вас работать не будет. Тот malloc начнет жрать сегмент кода :)
    pvPortMalloc тоже не правильно. Он не создает записи статистики. На то в RTOS есть нашлепка...
    Во вторых там не десять переназначений, а одно. Надо брать правильный хидер.
    Другие для другой концепции... Не забывайте ещё C++. Его тоже надо прикрутить потом.
     
    Последнее редактирование: 20 фев 2017
  12. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    Вот тут ещё кошки накекали:
    Снимок1311.gif
    Выдача идет с не кратным размером буфера. Итог - низкая скорость и распределение ресурсов.
    Там ещё надо около десятка исправлений встраивать, чтобы вышел хоть какой-то более мене web. Но не стоит брать эту бяку - лучше сделать с нуля и с русскими комментариями, чтобы англосаксам не досталось - пусть играют в кошки на ESP-32S :)
     
  13. sharikov

    sharikov Авторитетный участник сообщества

    Сообщения:
    564
    Симпатии:
    51
    Обновил, добавил test.cgi
     
  14. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    rtl_bios_data.h уже переехал в SDK (там менять пользователю нечего - он жестко завязан на ROM-BIOS).
    feep_config.h - изменился - добавился ID к сохранению конфигурации AP (используется в web для AT), но ожидая такой реакции добавлено ...
    lwipopts.h - у вас вроде другие оции, смотрел в прошлом, со статическими буферами(?) - тогда требует учета линковки в *.ld и имеет ограничения.
    platform_autoconf.h и platform_opts.h - прошлые так-же были не подготовлены с учетом проекта. Новые не смотрел и не хочу. Выужу и скопирую кусками для своего тестового варианта...
    Доделайте до нормального варианта - народу нужен web.
     
    Последнее редактирование: 20 фев 2017
  15. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    Не работает, если station не соединилось с AP.
    Потом какой-то конфликт, если соединение компа с AP модуля, а модуль соединен ещё и с AP общей сети. Комп теряет выход в инет - почти Capture Portal :)
    Пишет в логUART:
    Код (Text):
    1. DNS: Q (type 0x1 class 0x1) for ajax.googleapis.com
    2. DNS: Q (type 0x1 class 0x1) for accounts.google.com
    3. DNS: Q (type 0x1 class 0x1) for www.google.com
    4. DNS: Q (type 0x1 class 0x1) for connect.facebook.net
    5. DNS: Q (type 0x1 class 0x1) for mc.yandex.ru
    6. DNS: Q (type 0x1 class 0x1) for platform.twitter.com
    7. DNS: Q (type 0x1 class 0x1) for publisher.eboundservices.com
    8. DNS: Q (type 0x1 class 0x1) for www.eboundservices.com
    9. DNS: Q (type 0x1 class 0x1) for www.facebook.com
    10. DNS: Q (type 0x1 class 0x1) for money.yandex.ru
    11. DNS: Q (type 0x1 class 0x1) for yastatic.net
    12. DNS: Q (type 0x1 class 0x1) for ad.admitad.com
    13. DNS: Q (type 0x1 class 0x1) for pp.vk.me
    14. DNS: Q (type 0x1 class 0x1) for www.google-analytics.com
    15. DNS: Q (type 0x1 class 0x1) for eboundservices.com
    16. DNS: Q (type 0x1 class 0x1) for safebrowsing.google.com
    17. DNS: Q (type 0x1 class 0x1) for safebrowsing.google.com
    18. DNS: Q (type 0x1 class 0x1) for clients1.google.com
    19. DNS: Q (type 0x1 class 0x1) for staticxx.facebook.com
    20. DNS: Q (type 0x1 class 0x1) for www.google.com
    21. DNS: Q (type 0x1 class 0x1) for www.google.com
    22. DNS: Q (type 0x1 class 0x1) for fonts.gstatic.com
    23. DNS: Q (type 0x1 class 0x1) for twitter.com
    24. DNS: Q (type 0x1 class 0x1) for syndication.twitter.com
    25. DNS: Q (type 0x1 class 0x1) for clients1.google.com
    26. DNS: Q (type 0x1 class 0x1) for mc.yandex.ru
    27. DNS: Q (type 0x1 class 0x1) for accounts.google.com
    28. ....
     
    Последнее редактирование: 20 фев 2017
  16. kissste

    kissste Читатель

    Сообщения:
    51
    Симпатии:
    16
    Having a trouble with compilation. I have resynched RTL00MP3 from master, clone the RTLHTTPD and bitbuckets' librtlhttp RTL871x branch.

    Make clean and then make

    steve@ASUS /cygdrive/c/arduino/RTLHTTPD
    $ make
    make[1]: Entering directory '/cygdrive/c/arduino/RTLHTTPD'
    ===========================================================
    Compile (build)
    ../RTL00MP3/RTL00_SDKV35a/component/soc/realtek/8195a/cmsis/device/app_start.c
    ../RTL00MP3/RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/src/hal_dac.c
    ../RTL00MP3/RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/src/hal_common.c
    ../RTL00MP3/RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/src/hal_soc_ps_monitor.c
    ../RTL00MP3/RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/src/hal_efuse.c
    ../RTL00MP3/RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/src/hal_log_uart.c
    ../RTL00MP3/RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/src/hal_pinmux.c
    ../RTL00MP3/RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/src/hal_misc.c
    ../RTL00MP3/RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/ram_lib/startup.c
    make[1]: *** No rule to make target '../RTL00MP3/RTL00_SDKV35a/component/soc/realtek/8195a/misc/rtl_std_lib/lib_rtlstd/ram_libc.c', needed by '../RTL00MP3/RTL00_SDKV35a/component/soc/realtek/8195a/misc/rtl_std_lib/lib_rtlstd/ram_libc.o'. Stop.
    make[1]: Leaving directory '/cygdrive/c/arduino/RTLHTTPD'
    make: *** [Makefile:7: ram_all] Error 2

    Thank you
     
  17. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    Последнее редактирование: 21 фев 2017
  18. sharikov

    sharikov Авторитетный участник сообщества

    Сообщения:
    564
    Симпатии:
    51
    Проверил под migw32 с компилятором от Arduino (Rtlduino). Собирается.
    Рекомендую клонировать rtl00mp3 заново. Синхронизировать получается плохо.
     
  19. sharikov

    sharikov Авторитетный участник сообщества

    Сообщения:
    564
    Симпатии:
    51
    Эта ситуация сейчас не отслеживается: выходит без запуска httpd.

    Я писал об этом эффекте.
    Зато наглядно видно как android отправляет в Корпорацию Добра каждое нажатие кнопки в телефоне.
     
  20. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    Да не отправляет комп ничего. В DNS просто список всего добра ссылок с первых страниц google или яндекс... :)
    -----
    В RAK-473 (rtl8711am) web работает в режиме HTTP keep-alive. httpd может?
    Странички конфигов station в его "AT" прошивке.
    А HTTPS может? :)

    Прикрутите at_user.c с заданием по UART возможности настроек и диагностики на ходу...
    Ещё слишком много сообщений выводится у httpd в LogUART и страдает скорость работы. Там нет DMA или буферизации для отложенного вывода...

    Пожалуйста сделайте вывод отладочных сообщений со своими макросами/define, чтобы уровень отладки мог меняться и в финальную версию сообщения не входили для уменьшения использования RAM. Пример в diag.h.

    По хорошему надо делать оверлейное исполнение задач. Разбить систему на драйверы и загружаемые приложения. Тогда в RTL8710AF влезет немерянно. Памяти RAM практически достаточно у него для этого (и надо не забывать, что есть варианты RTL с 2.5 мегабайта RAM и рыночная цена для одиночных заказов на них постоянно падает - на али уже до 700р за одну шт.). На аналогичном объеме, у других MCU уже есть примеры целых операционных систем с подгрузкой приложений, примерно как это было в DOS. :) Для web это выливается в создание отдельного процесса с очередью исполнения обработки входящих переменных и процесса отдачи переменных. По этому и не перевел web-свалку - не успел сделать драйвер очереди запросов и обработки переменных с минимальным использованием ресурсов...
     
    Последнее редактирование: 21 фев 2017

Поделиться этой страницей