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

RTLHTTPD

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

  1. pvvx

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

    Сообщения:
    8.757
    Симпатии:
    1.284
    Выкинуты уже OpenOCD. Батники просто так теперь валяются, для примера... Медленно развивается проект у sharikov-а - я его только адаптирую к своему SDK, а в глубину HTTPD не лезу.
    Придется вам обратно переставлять драйвер к Jlink :)
     
  2. pvvx

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

    Сообщения:
    8.757
    Симпатии:
    1.284
    А я не обновил все куски, раскиданные по разным репозиториям...
    Собрал.
    WiFi конфиг всё равно не работает. Scan тоже пишет какую-то ерунду от ESP.
    В RTL scan работает в любом режиме WiFi.
    Кошек убрал - заменил на собак, теперь наверно скоро всё заработает. :)
     
  3. sharikov

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

    Сообщения:
    580
    Симпатии:
    52
    конфиг не сделан, scan должен работать.
     
  4. aloika

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

    Сообщения:
    367
    Симпатии:
    25
    Может, пригодится кому:
    1. У меня заработала прошивка через openocd только когда я раскомментировал строчку adapter_khz 500 в rtl8710.ocd
    2. Переставить драйвер от JlinkGDB к openocd удобно программой zadig_2.2.exe, там нужно выбрать jlink и потом libusb.
    3. А вот обратно этой прогой драйвер не переставить, надо снова устанавливать JLink от Segger (JLink_Windows_V612a.exe)

    Безымянный.png
     
    Последнее редактирование: 3 апр 2017
  5. pvvx

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

    Сообщения:
    8.757
    Симпатии:
    1.284
    Удаляете драйвер в Windows в устройствах и Jlink встанет при пере-подключении к USB. Ничего переустанавливать не требуется.
    OpenOCD работает раза в 2 медленнее и нестабильна при отладке. По этому, на время построения SDK и разработки - приоритет у Jlink. В paths.mk теперь переключается:
    FLASHER_TYPE ?= Jlink
    FLASHER_TYPE ?= OCD
    Но OpenOCD я не полностью не проверял. Возможна работа и c оригинальным STLink и т.д. Для этого у меня накиданы примеры в батниках..
     
  6. aloika

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

    Сообщения:
    367
    Симпатии:
    25
    После крайнего обновления репозитория от pvvx перестал проект собираться...
     
  7. pvvx

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

    Сообщения:
    8.757
    Симпатии:
    1.284
    Наверно stat.exe не хватает в MinGW :)
     
  8. aloika

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

    Сообщения:
    367
    Симпатии:
    25
    Такого файла действительно нет, а какой пакет нужно установить в MinGW, чтобы этот файл появился?

    сейчас выдает такую ошибку при попытке компиляции:

    12:33:45 **** Build of configuration Release for project RTLHTTPD ****
    mingw32-make.exe -s -j all
    mingw32-make.exe[1]: *** No rule to make target 'RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/src/hal_dac.c', needed by 'RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/src/hal_dac.o'. Останов.
    mingw32-make.exe[1]: *** Ожидание завершения заданий...
    ===========================================================
    Compile (build)
    Makefile:7: recipe for target 'ram_all' failed
    mingw32-make.exe: *** [ram_all] Error 2
     
  9. pvvx

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

    Сообщения:
    8.757
    Симпатии:
    1.284
    Перекинуто на Eclipse Cpp Neon + ARM плугин. Пробуйте - есть нюансы вызова среды (mingw и win) из Eclipse...
    ----
    Пришлось ещё кое что махнуть, чтобы работало в Eclipse Cpp Neon... Он по какой-то причине вызывает среду win-ды в другом конфиге и не всегда работают некоторые команды винды...
     
    Последнее редактирование: 9 апр 2017
  10. pvvx

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

    Сообщения:
    8.757
    Симпатии:
    1.284
    Не знаю, наверно в пакете MSYS, в списке, указанном на git необходимого ПО для сборки...
    Пробуйте вставить путем копирования в C:\MinGW\msys\1.0\bin приложенного файла...
    А ошибка у вас от кривой Windows. Что-то не так с драйверами к CPU и многопочные обращения к файловой структуре с кол-вом более какого-то числа у вас вызывают ошибки в системе... Ограничивайте кол-во тредов или вообще собирайте в один поток.
     

    Вложения:

    • stat.zip
      Размер файла:
      21,7 КБ
      Просмотров:
      5
    aloika нравится это.
  11. aloika

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

    Сообщения:
    367
    Симпатии:
    25
    Все равно не собирается:

    01:04:55 **** Build of configuration Debug for project RTLHTTPD ****
    mingw32-make.exe -s -j 4 all
    process_begin: CreateProcess(NULL, uname, ...) failed.
    mingw32-make.exe[1]: *** No rule to make target 'RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/src/hal_dac.c', needed by 'RTL00_SDKV35a/component/soc/realtek/8195a/fwlib/src/hal_dac.o'. Останов.
    mingw32-make.exe[1]: *** Ожидание завершения заданий...
    "==========================================================="
    "Compile (build)"
    Ошибка в синтаксисе команды.
    sdkbuild.mk:60: recipe for target 'prerequirement' failed
    mingw32-make.exe[1]: *** [prerequirement] Error 1
    Непредвиденное появление: -x.
    sdkbuild.mk:31: recipe for target 'build_info' failed
    mingw32-make.exe[1]: *** [build_info] Error 255
    Makefile:7: recipe for target 'ram_all' failed
    mingw32-make.exe: *** [ram_all] Error 2

    01:04:55 Build Finished (took 621ms)
     
  12. aloika

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

    Сообщения:
    367
    Симпатии:
    25
    В один поток:

    e:\karpesh\RTL00\RTLHTTPD>mingw32-make.exe -j 1 all
    process_begin: CreateProcess(NULL, uname, ...) failed.
    mingw32-make.exe[1]: Entering directory 'e:/karpesh/RTL00/RTLHTTPD'
    "==========================================================="
    "Compile (build)"
    Ошибка в синтаксисе команды.
    sdkbuild.mk:60: recipe for target 'prerequirement' failed
    mingw32-make.exe[1]: *** [prerequirement] Error 1
    mingw32-make.exe[1]: Leaving directory 'e:/karpesh/RTL00/RTLHTTPD'
    Makefile:7: recipe for target 'ram_all' failed
    mingw32-make.exe: *** [ram_all] Error 2

    А где в make-файлах прописано, во сколько потоков собирать?
     
  13. A_D

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

    Сообщения:
    330
    Симпатии:
    56
    aloika, может с UAC проблемы ? или запуском от администратора... в самом начале лога пишется
    похоже на то, как будто прав не хватает..
     
  14. pvvx

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

    Сообщения:
    8.757
    Симпатии:
    1.284
    Снимок1356.gif -> Снимок1357.gif
     
  15. Neov

    Neov Читатель

    Сообщения:
    209
    Симпатии:
    7
    И зачем нужно было зашивать проект в эклипс?
     
  16. pvvx

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

    Сообщения:
    8.757
    Симпатии:
    1.284
    Как это "зашивать"? Сейчас из Eclipse (версии Neon) запускается mingw32-make.exe и он собирает проект. Но Eclipse дает какие-то пред-установки, меняет переменные среды и что-то там не вяжется с новой версией Eclipse Neon. Пока вроде как-то обошел эти неувязки. Вариантов, как реализовать требуемое в makefile существуют сотни. Не пойдет так, слепим по другому... Без Eclipse, проекты тоже собираются аналогично - запуском mingw32-make.exe с опциями.
    --------
    Сегодня тыкал Eclipse Neon и собрал elf его встроенным мейкером. Надо писать какой-то программатор, наверно на питоне...
    Опять та-же беда - командная строчка его майкера для GCC-линкера вышла за 12 килобайт и её винда погрызла :) Он не может собрать напрямую весь проект, без закатывания частей в либы...
     
    Последнее редактирование: 10 апр 2017
  17. aloika

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

    Сообщения:
    367
    Симпатии:
    25
    В общем, сервер хоть и с собаками - все равно глючит. При обновлении странички с вебсокетом падает:

    Код (Text):
    1. L8195A[HAL]: Hard Fault Error!!!!
    2. RTL8195A[HAL]: R0 = 0x10053182
    3. RTL8195A[HAL]: R1 = 0x10051e50
    4. RTL8195A[HAL]: R2 = 0x50000204
    5. RTL8195A[HAL]: R3 = 0x10005708
    6. RTL8195A[HAL]: R12 = 0xf
    7. RTL8195A[HAL]: LR = 0x1000c25f
    8. RTL8195A[HAL]: PC = 0x1000ad52
    9. RTL8195A[HAL]: PSR = 0x21000000
    10. RTL8195A[HAL]: BFAR = 0x5000071c
    11. RTL8195A[HAL]: CFSR = 0x8200
    12. RTL8195A[HAL]: HFSR = 0x40000000
    13. RTL8195A[HAL]: DFSR = 0x0
    14. RTL8195A[HAL]: AFSR = 0x0
    15. RTL8195A[HAL]: PriMask 0x0
    16. RTL8195A[HAL]: BasePri 0x0
    17. RTL8195A[HAL]: SVC priority: 0x00
    18. RTL8195A[HAL]: PendSVC priority: 0xf0
    19. RTL8195A[HAL]: Systick priority: 0xf0
    20.  
    Верните кошек, может лучше будет.
     
  18. pvvx

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

    Сообщения:
    8.757
    Симпатии:
    1.284
    В следующий раз тараканов вставлю :)
    Сколько раз обновлений в websocket выдержал?
    Тест не выдерживает и минуты - переполнение RAM. Это же ESPHTTPD и не рассчитан на много открытий-закрытий сокетов. Вылезает хвост из TIME_WAIT и heap каюк. Написан так - открываете страницу броузером и набираете ATLW и узреваете, что 5 соединений уже открыто :) Вторая страница в броузере и псё. Далее давим CTRL+F5 и через время всё падает. :)
    Если аккуратно и медленно, не дыша, то работает стабильно, особенно в своих встроенных тестах.
    sharikov его ещё не оптимизировал, судя по установкам для LwIP и использования буферов в килобайты в стеке, через одну процедуру... В любой момент может переполнить выделенный стек задаче...
     
    Последнее редактирование: 10 апр 2017
  19. sharikov

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

    Сообщения:
    580
    Симпатии:
    52
    Чтобы завалить по TIME_WAIT надо применять инструмент: например ab заваливает после ~400 запросов в многопотоке. Вручную в браузере словить TIME_WAIT затруднительно. И при TIME_WAIT оно сначала ругается в консоли.
    Долбил рефреш WS на смартфоне:
    Код (Text):
    1. atlw
    2. UDP pcbs:
    3. flg:00  192.168.4.1:53  0.0.0.0:0       recv:0x1000dd85
    4. flg:00  0.0.0.0:137     0.0.0.0:0       recv:0x10016645
    5. flg:00  0.0.0.0:67      0.0.0.0:0       recv:0x10016249
    6. flg:00  0.0.0.0:55467   0.0.0.0:0       recv:0x10011b5d
    7. Active PCB states:
    8. none
    9. Listen PCB states:
    10. Port 80|0       flg:00  tmr:0xa5a5a5a5  LISTEN
    11. TIME-WAIT PCB states:
    12. Port 80|38012   flg:30  tmr:0x76        TIME_WAIT
    13. Port 80|38007   flg:30  tmr:0x73        TIME_WAIT
    14. Port 80|38005   flg:30  tmr:0x72        TIME_WAIT
    15. Port 80|38002   flg:30  tmr:0x71        TIME_WAIT
    16. Port 80|38000   flg:30  tmr:0x70        TIME_WAIT
    17. Port 80|37996   flg:30  tmr:0x6c        TIME_WAIT
    18. Port 80|37994   flg:30  tmr:0x57        TIME_WAIT
    19. Port 80|37991   flg:30  tmr:0x55        TIME_WAIT
    20. Port 80|37989   flg:30  tmr:0x54        TIME_WAIT
    21. Port 80|37987   flg:30  tmr:0x54        TIME_WAIT
    22. Port 80|37985   flg:30  tmr:0x53        TIME_WAIT
    23. Port 80|37983   flg:30  tmr:0x50        TIME_WAIT
    24. Port 80|37981   flg:30  tmr:0x37        TIME_WAIT
    25. Port 80|37977   flg:30  tmr:0x5 TIME_WAIT
    26. Port 80|37978   flg:30  tmr:0x5 TIME_WAIT
    27. Port 80|37974   flg:30  tmr:0x2 TIME_WAIT
    28.  
    29. ATST
    30.  
    31. CLK CPU         166666666 Hz
    32. RAM heap        116800 bytes
    33. TCM heap        9840 bytes
    34.  
    35. CPU total run time is 124924
    36. TaskName        DeltaRunTime    percentage
    37. loguart         836             <1%
    38. IDLE            115057          92%
    39. Tmr Svc         1               <1%
    40. wsbcast         11              <1%
    41. TCP_IP          88              <1%
    42. rtw_check       0               <1%
    43. captdns_t       1201            <1%
    44. esphttpd        7018            5%
    45. cmd_threa       5               <1%
    46. rtw_recv_       122             <1%
    47. rtw_littl       56              <1%
    48. rtw_inter       197             <1%
     
  20. pvvx

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

    Сообщения:
    8.757
    Симпатии:
    1.284
    Уметь надо в броузере вызывать TIME_WAIT у ESPHTTPD :) Это целая наука.
    Даже на RTL8711AM падет - в основном, RTOS пишет что беда со стеком, а где не говорит :) Странное сообщение вылазит - что стек переполнен, но не указывает у какой задачи...
     

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