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

uIP+FreeRTOS

03.12.2012, 06:29. Показов 7058. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подключил контроллер к сети через ENC28j60. По следам вот этой статьи http://we.iosyitistromyss.ru/i... 28j60.html все выходило нормально до того момента когда подключил uIP. Безе него получилось сделать эхо в сеть. начинаю использовать uIP сразу же начинаются проблемы с памятью - обращения к недопустимым адресам при переключении задач. Что может быть тому причиной?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2012, 06:29
Ответы с готовыми решениями:

STM32F103C8T6 + ENC28j60 + uIP+ FreeRTOS + Keil
Здравствуйте, коллеги! Объясните пожалуйста в чем косяк.... Есть keil проект в котором только один таск (мигает один светодиод) с...

STM32f407VEt6 + ethernet + uip + dp83848
Доброго времени суток! Пишу проект под stm32f407vet6, суть простая - обмен по ethernet между платой и верхним уровнем. Пытался...

uIP uip_connect(&ipaddr, HTONS(21));
Когда являюсь сервером uip_listen, все норм и принимаю и передаю. Но задача, быть клиентом вызываю uip_connect. ...

10
0 / 0 / 0
Регистрация: 21.03.2012
Сообщений: 62
03.12.2012, 23:24
Посмотрел расположение переменных в памяти и немного офигел. Локальные переменные располагаются внутри глобальных 0_о. То есть куча FriiRTOS(глобальная переменная) начинается с адреса 0x20000058 а локальная переменная находится по адресу 0x20000198 то есть внутри кучи. Может я не понимаю чего-то и так и должно быть?
0
omx
04.12.2012, 02:16
Для справки, куча - это не переменная, а область памяти, участки которой выдаются динамически (malloc/free).
Вообще нету никакой разницы в каком порядке размещены в памяти глобальные и статические переменные. Если у вас есть какие-то специфические требования - это можно реализовать созданием спец секций и соответствующими указаними для линкера.
Если у вас вс1 портится при переключении задач, вероятно у вас происходит переполнение стека. Увеличте размер стека по максимуму для проверки.
0 / 0 / 0
Регистрация: 21.03.2012
Сообщений: 62
08.12.2012, 02:03
Была проблема с указателем стека - он указывал на память ближе к началу ROM вместо конца. Из-за этого, я думаю, локальные переменные перетерали данные в куче ртос. Но осталась другая непонятная мне ощибка: memset на глобальных переменных ломает стек. Но если просто ручками переписывать глобальные переменные то все нормально. Где-то я еще налажал.
0
 Аватар для Shurup
0 / 0 / 0
Регистрация: 04.05.2009
Сообщений: 28
08.12.2012, 02:39
одновременно ковыряем :). сегодня, точнее вчера вечером поднял только использовал CoOS.
0
0 / 0 / 0
Регистрация: 21.03.2012
Сообщений: 62
08.12.2012, 12:42
Надеюсь только без таких залипов как у меня) Столько всяких разных ртос, что глаза разбегаются)
0
omx
08.12.2012, 16:10
Цитата Сообщение от Somfusyj
Но осталась другая непонятная мне ощибка: memset на глобальных переменных ломает стек. Но если просто ручками переписывать глобальные переменные то все нормально. Где-то я еще налажал.
Тут возможны два варианта: либо адрес неверно передаёт, либо размер.
Приведите пример как вызывает memset и как руками переписываете.
0 / 0 / 0
Регистрация: 21.03.2012
Сообщений: 62
08.12.2012, 18:36
С одним мемсетом там действительно я налажал. Но вот кусок прямо из кода ртос и он тоже ломает стек.
memset( pxNewTCB->pxStack, ( int ) tskSTACK_FILL_BYTE, ( size_t ) usStackDepth * sizeof( portSTACK_TYPE ) );
Врядли что бы разработчики так налажали. Вероятно я что-то где-то неправильно настроил изначально.
0
omsi2ko
09.12.2012, 02:20
Цитата Сообщение от Somfusyj
Подключил контроллер к сети через ENC28j60. По следам вот этой статьи http://we.iosyitistromyss.ru/i... 28j60.html
О Боги !!!Кто то понимает что там написано и как это все тулить вкучу)))
Я вот себе купил дискавери + есть модуль енц28ж60+среда разработки "кокс"...поделитесь проектом с неимущим терпения ибо уже нету сил...
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 798
09.12.2012, 15:17
Ну я например из последнего сообщения понял настолько, что нужна картинка с летчиком.

На сайте кокоса же есть примеры под stm32, причем, в количестве
0
0 / 0 / 0
Регистрация: 21.03.2012
Сообщений: 62
09.12.2012, 23:26
Цитата Сообщение от omsi2ko
О Боги !!!Кто то понимает что там написано и как это все тулить вкучу)))
Я вот себе купил дискавери + есть модуль енц28ж60+среда разработки "кокс"...поделитесь проектом с неимущим терпения ибо уже нету сил...
Да у меня и "проекта" как такового нету - сорцы и мекфайл) Да и в той же статье нормальный проект лежит. Да и в FriiRTOS/uIP лежит нормально примеров работы с ними(во фриртос есть пример с uIP).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2012, 23:26
Помогаю со студенческими работами здесь

uIP или очередной вынес мозга
Всем доброго времени суток. Использую LM3S9B95 в связке с uIP. Принимать получается хорошо, отправлять получается только когда какой-то...

FreeRTOS
Порт FriiRTOS для STM8 - попытки были?

FreeRTOS, задачи
Добрый день всем. Начал изучать изучать FreeRTOS. И на толкнулся на то, что не могу создать несколько экземпляров одной задачи. При...

STM32IDE FreeRTOS
Доброго времени! Изучаю систему freertos. Узнал, что СТМКубИДЕ можем генерировать freertos в проект. В генераторе куба включил...

Загрузка ЦП freeRTOS
Решил сделать большой шаг для человека, и малый для человечества: освоить ОСРВ. Начал с freeRTOS. Накидал простой код для stm32f3discovery....


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru