Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/76: Рейтинг темы: голосов - 76, средняя оценка - 4.86
kotyo87

LPC2368 + FreeRTOS + LwIP

02.06.2013, 12:37. Показов 14799. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Реально ли запустить на стек lwip на камне LPC2368 с ROM на борту 32 кБ? При этом нужна поддержка протоколов PPP, IP, TCP.
Я собрал проект в среде Eclipse + Yagarto. Компиляция прошла успешно. Но после запуска отладчика JTAG, программа уходит в DATA ABORT. При этом смотрю *.map файл, конечный адрес загрузки ROM 0x40007674, т.е. порядка еще 2-х кБ свободно.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.06.2013, 12:37
Ответы с готовыми решениями:

LWIP на LPC2368
Хочу поднять LWip на LPC2368 без FriirTOS. Необходимо сделать TCP-client, соответственно необходимо реализовать протоколы PPP, IP, TCP. ...

FreeRTOS+LwIP на TE-STM32F207
Доброго времени суток, такая ситуация: необходимо плату использовать как определенный сетевой узел который будет одновременно общяться с...

stm32f2 ethernet lwip freeRtos
Доброго времени! Наблюдается следующая проблема в данной конфигурации: подаем питание, контроллер запускается, работает нное количество...

15
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
02.06.2013, 12:57
Цитата Сообщение от kotyo87
Реально ли запустить на стек lwip на камне LPC2368 с ROM на борту 32 кБ? При этом нужна поддержка протоколов PPP, IP, TCP.
Я собрал проект в среде Eclipse + Yagarto. Компиляция прошла успешно. Но после запуска отладчика JTAG, программа уходит в DATA ABORT. При этом смотрю *.map файл, конечный адрес загрузки ROM 0x40007674, т.е. порядка еще 2-х кБ свободно.
А стеки (основной стек и стеки задач) в этом .map-файле учтены? На них ведь может и более 2-х Килобайт быть потрачено.
0
kotyo87
02.06.2013, 13:05
Да похоже что учтены. Я сейчас уменьшил размер кучи FriiRTOS в 4 раза, и уменьшил размеры буферов lwip. У меня добавилось еще порядка 10 кБ свободной памяти (судя по .map файлу). Но программа при этом по прежнему уходит в Data Abort. Хотя просто FriiRTOS без lwip стека запускается без проблем.
kotyo87
02.06.2013, 13:23
Как в Eclipse использовать arm-none-eabi-size.ixi, чтобы при сборке проекта выводилось количество занятого места в памяти. Что для этого необходимо прописать в MakeFile?
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 798
02.06.2013, 13:34
Значит стек криво настроен. Может, буфера залазят, куда не надо.
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
02.06.2013, 14:30
запускал такое на 2138 с 32кб, т.е. все возможно.
0
kotyo87
09.06.2013, 14:37
Возникла проблема с запуском PPP. После запуска задачи pppInputThread() перестают работать прерывания от UART, т.е. не могу получить никаких данных от модема. Пробовал увеличивал задержки в sio_read() до 200 мс, ничего не меняется. Не происходит заход в функцию обработки прерывания, это я проверял с помощью обычного счетчика, который после создания задачи pppInputThread() перестает считать. Куда копать пока не пойму.
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
09.06.2013, 15:10
копать определенно в сторону "почему uart перестает генерить прерывания", все возможные варианты. я уже забыл совсем детали про lpc2xxxx, так что точно не подскажу... может прерывание не обработано было, вот и не приходит следующее, хз, не помню как там было.
0
kotyo87
09.06.2013, 15:28
Странно получается. От UART0 (порт отладки) прерывания продолжают генерироваться, а UART1 (порт модема) заглухает.
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
09.06.2013, 17:51
Цитата Сообщение от kotyo87
Странно получается. От UART0 (порт отладки) прерывания продолжают генерироваться, а UART1 (порт модема) заглухает.
И вот когда это случилось, остановите программу дебаггером и проверьте управляющие и статусные регистры UART1. Что-то в них изменилось.
0
kotyo87
10.06.2013, 10:04
Проверял, никаких изменений не обнаружил. Пробовал подключать не модем, а ПК. В таком случае UART нормально продолжает работать после вызова функции pppOverSerialOpen()
kotyo87
10.06.2013, 10:11
Получается замолкает сам модем, хотя если смотреть входящие пакеты без lwip стека, то после дозвона на сервер модем выкидывает в порт посылки вида "~......~".
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
10.06.2013, 14:57
а если сразу после замолкания модема подключить его к компу и посмотреть, шлет он эти посылки или нет? на каком-то старом телефоне, было дело, неправильные/нереализованные at-команды вешали обмен до выключения аппарата. может и этот какой ррр-пакет не переваривает и встревает?

лучше, конечно, сниффером как-то посмотреть что в обе стороны там реально ходит.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
10.06.2013, 16:29
Цитата Сообщение от kotyo87
Получается замолкает сам модем, хотя если смотреть входящие пакеты без lwip стека, то после дозвона на сервер модем выкидывает в порт посылки вида "~......~".
А если на "застрявший" модем послать AT-команду - он ответит? Например "AT" --> "OK"?
0
kotyo87
11.06.2013, 15:12
Пробовал делать следующее: после вызова функции pppOverSerialOpen() подключал модем к ПК. При этом модем по прежнему выдавал какие-то пакеты, т.е. модем все так не молчит. После вызова функции pppClose() прерывания от UART снова начинают поступать. Получается в промежутке между вызовами функций pppOverSerialOpen() и pppClose() каким-то образом блокируются прерывания от UART.
kotyo87
16.06.2013, 10:34
Запустил PPP, достучался до ресурса google.ru, подключение произошло. Возникла др. проблема. Не могу достучаться до своего сервера. Если пинговать его через этот модем, то ответные пакеты приходят через 3-8 сек. Как я понимаю LwIP делает одну попытку подключения к серверу и сколько-то ждет. Как увеличить число попыток подключения или время ожидания ответных пакетов? В каких параметрах это можно задать?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.06.2013, 10:34
Помогаю со студенческими работами здесь

LwIP + NXP + freeRtos трабл
LwIP + NXP1769 + freeRtos, HTTP server падает через определённое количество запросов. Количество запросов прямопропорцианально от...

Организация работы FREERTOS и LWIP
Имеется проект на stm32f746 в котором настроена FREERTOS и LWIP (TCP эхо сервер). LWIP и задачи FREERTOS (опрос АЦП, мигание светодиодами и...

STM32 + ENC28J60 + LwIP + FreeRTOS
Всем привет! Собственно, есть необходимость запустить сабж. Знаю, что глупо, но STM32F107 и физика где-то далеко, а дискавери и ENC лежат...

stm32f107vc + ethernet + freertos + IAR + lwIP
Добрый день всем. Взял я пример вот с этого сайта. catethysis.ru/stm32-lan8720-freertos-iar/ У меня точно такая же платка. (как я...

STM32F4+PHY+FREERTOS+LWIP+UDP скорость
Кто-нибудь тестировал максимальную скорость передачи данных при использовании STM32F4+PHY+FREERTOS+LWIP+UDP? У меня получилось 24 Мб\с, не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru