Перейти к содержанию
    

Вот такая ошибка:

Error: L9937E: RL-ARM is not allowed with this license

 

Разобрался...

 

  free_mem ((OS_FRAME *)var);

 

Зачем в конце

void cgi_process_var (U8 *qs)

вышеупомянутое припеисано? Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что-то вы уже сами с собой беседуете%) причем такое чувство что часть беседы проходит мимо нас%)...

 

так в чем конкретно то загвоздка то?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прикрутил HTTP_CGI.c и закоментил там многое. Оставил только то, что касается веб-странички из примера в той части где речь идет об IP-адресе и его замене с веб странички. Пытаюсь научиться прикручивать кнопки и окошки. Пока загвоздка в том, что не добавляется network.cgi . Иными словами index.htm я вижу, а при попытке перехода на network.cgi пишет что его нет. тег такой:

<p><a href="/network.cgi">Посмотреть сетевые настройки</a></p>

 

 

Опять сам с собой... Если кому интересно, то опять пути. Я скопировал проект чтоб не собирать новый, просто повыкидывал старое и заново подключил новое. Мне и в голову не пришло, что кейл может где-то запомнить полный путь к старому файлу. В свойствах вообще относительный всегда был. Т.е. когда я заново с нуля переподключил Web.inp тогда дело и пошло. Понятно, что в файле inp старого проекта упоминания о новых web небыло.

Теперь о более насущном. На основе файлов примера я таки запустил просмотр сетевых настроек и их редактирование. Однако не все пока понятно. Мне бы хотелось попросить самый простой пример модификации переменной с веб-странички и отображения другой переменной. Интересуют коды как для контроллера так и для сайта. Просто два окошка. В одно вводим и по нажатию кнопки значение уходит в контроллер, а там присваивается. В другом окошке скажем восьмибитная переменная отображается и обновляется скажем 2-3 раза в секунду.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну это вам надо уже тему другую чую...

 

Потому что HTML вам это не даст, тут надо уже PHP подключать. А PHP в свою очередь это надо на арме городить интерпритатор и обработчик данных, и не уверен что это прям на 5 копеек делов.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По ссылке ниже дядька разобрался более-менее, но как-то скромно описал.

Мне бы по большому счету найти примеры как правильно задать на страничке кнопку/окошко и где потом это будет отрабатывать в программе (в какой функции что). Что-то уже понятно, но хочется простых примеров в стиле минимализма.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кнопка делает Submit на страничку CGI. CGI вызывает функцию из вашей программы. Некоторые веб-сервера для embedded применений имеют SSI (server-side includes) фичу для динамического обновления страницы.

Мне лично не нравится ни CGI, ни SSI, хотя это довольно простые штуки. Я бы сделал сайт на JQuery или просто java script, кнопочка бы делала POST, а веб-сервер обрабатывал бы POST/GET запросы как надо. Про AJAX почитайте например, но там нужен парсер XML. Ничто не мешает выкинуть XML и использовать чё-нить поприличнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

http://electronix.ru/forum/index.php?showtopic=117876

поглядите соседняя тема, в последнем сообщении человек привел видео.

Вроде бы как раз то что вам надо. У него там веб интерфейс, числа задает, получает обратно... Судя по уровню вопросов далеко не бог, скорее всего надергал каких то стандартов. Думаю имеет смысл связаться и поспрашать что да как.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день. У меня тоже STM32F107 + RTL8201 (плата от Тэрры ТЕ-STM32F107). Ковыряю их пример Webserver_Demo_uIP (stm32_eth + uip v0.9). Хотел сразу переделать на lwIP, но понял, что с наскока не получится. А проблем в следующем. Создаю UDP соединение, и проваливаясь в UIP_UDP_APP() отправляю каждую секунду UDP пакеты с порядковым номером на ноутбук. На ноутбуке вижу картину: 1, 2, 3, 7, 8, 9, 11... Попробовал уменьшить время до 150мс между пакетами и увеличивать до 5 секунд, но картина примерно одинаковая во всех случаях. Т.е. мое предположение о том, что где-то что-то не успевает не оправдалось. Поставил проверку возвращаемых результатов функцией ETH_HandleTxPkt, она выполняет загрузку сообщения на передачу. Но тут во всех случаях выполнение завершается успешно. Сейчас пока пытаюсь "вручную" создавать и отправлять UDP пакеты мимо стека, что бы убедиться, что стек не виновен и разобраться с железом.

Плата с ноутбуком подключены на прямую, сообщения смотрю WireSharkом.

Буду благодарен за любую подсказку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вы видели то ли в этой теме то ли в соседней про LwIP было сказано вот что. В стеке для STM самая самая нижня, железная функция отправки всегда возвращает что все получилось. Там стоит заглушка и приписка что в этом месте можно детектить и индицировать ошибки. Так что проверьте все ваши библиотечные функции, они для STMа не дописаны!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вы видели то ли в этой теме то ли в соседней про LwIP было сказано вот что. В стеке для STM самая самая нижня, железная функция отправки всегда возвращает что все получилось. Там стоит заглушка и приписка что в этом месте можно детектить и индицировать ошибки. Так что проверьте все ваши библиотечные функции, они для STMа не дописаны!
Спасибо за ответ, я как и писал выше, просмотрел содержимое UDP пакета, создал массив с точно таким же содержимым и подменяю последние 4 символа номером пакета в виде ASCII кода и передаю этот массив функции ETH_HandleTxPkt. То, "на глаз" ничего не пропадает. То есть, похоже проблема в самом стеке, но остался вопрос с библиотекой stm32_eth, потому как данные начинают приходить с номера пакета 3, а 0, 1 и 2 мне не приходят.

Будем копать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответ, я как и писал выше, просмотрел содержимое UDP пакета, создал массив с точно таким же содержимым и подменяю последние 4 символа номером пакета в виде ASCII кода и передаю этот массив функции ETH_HandleTxPkt. То, "на глаз" ничего не пропадает. То есть, похоже проблема в самом стеке, но остался вопрос с библиотекой stm32_eth, потому как данные начинают приходить с номера пакета 3, а 0, 1 и 2 мне не приходят.

Будем копать.

Удалось не "на глаз", а программными средствами определить, что при отправке пакетов через ETH_HandleTxPkt потерь нет при общем количестве пакетов 100000. Пока не выяснил причину, почему не приходят первые три пакета с номерами 0, 1, 2. Разбираюсь с модулем Ethernet и решил делать поддержку lwIP.

Изменено пользователем Neborak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Запустил AN3102 (stm32f107 + lwIP), правда, пришлось адаптировать под свою схему и обновить CMSIS. Освоил отправку UDP сообщений и попутно разбирался в железе, интересовал аппаратный расчет контрольных сумм для IP, UDP и TCP пакетов, действительно работает.

Пока не удалось наладить прием пакетов, хотя все и настроено как в части, которая отвечает за tftp.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Запустил AN3102 (stm32f107 + lwIP), правда, пришлось адаптировать под свою схему и обновить CMSIS...

 

Сравнительно недавно обнаружил индусский код в lwip.

Для хэйлохты мир - можно не париться. Если, что то серьёзно - то рекомендую пропахать весь код

стэка (при некоторых режимах возможна утечка памяти).

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня задача передавать по UDP данные из шины CAN и наоборот при чем с минимальной задержкой. Все ближе подхожу к тому, что бы писать свой UDP/IP стек, но пока настораживает поддержка ARP и IGMP, которые тоже нужно будет реализовать. Или перейти сразу на stm32f407, демоплата есть, но придется повозиться с освоением нового чипа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...