реклама на сайте
подробности

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> LWIP Как послать данные (tcp_write) по событию?
doom13
сообщение Jun 10 2014, 07:28
Сообщение #46


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(scifi @ Jun 10 2014, 12:04) *

Спасибо, то что надо.
Странно только, что техасовское условие выполняется:
Код
#if (__TI_COMPILER_VERSION__ >= 5000000)
    #define PACK_STRUCT_BEGIN
    #define PACK_STRUCT_STRUCT __attribute__ ((__packed__))
    #define PACK_STRUCT_END
    #define PACK_STRUCT_FIELD(x) x
#endif

__TI_COMPILER_VERSION__ = 5001001, а компилер выдаёт ошибку.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 11 2014, 03:11
Сообщение #47


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Возник вопрос, получится ли использовать LwIP и AM1808 (ARM926EJ-S) у которого 128 кБ On-Chip RAM? Сколько должна весить сама либа? Пока линкер выдаёт ошибки - program will not fit into available memory. В техасовских примерах для этого процессора используется внешняя DDR2-память, может ли это означать, что без неё не обойтись и 128 кБ памяти мало для использования LwIP?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jun 11 2014, 04:53
Сообщение #48


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



LwIP можно утоптать в работу на аж на 2 КБайтах РАМ, Она для того и сделана чтобы работать на супер маленьких AVR. Другое дело что она сможет на такой памяти потянуть... Больше вопрос в том сколько flash она сожрет
Go to the top of the page
 
+Quote Post
scifi
сообщение Jun 11 2014, 05:32
Сообщение #49


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(doom13 @ Jun 11 2014, 11:21) *
Возник вопрос, получится ли использовать LwIP и AM1808 (ARM926EJ-S) у которого 128 кБ On-Chip RAM? Сколько должна весить сама либа?

У мну lwip занимает 21К байт памяти программ (Cortex-M3). Это Raw API, no OS. Полное приложение занимает 85К байт памяти программ. Это не считая константы, а их много: все веб-страницы там же. Приложение содержит много функционала. По моему опыту, 32К байт оперативной памяти для буферов lwip - это оч. комфортный объём, с которым веб интерфейс летатает. Наверняка и с 16К тоже будет летать.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 11 2014, 05:54
Сообщение #50


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Golikov A. @ Jun 11 2014, 12:03) *
LwIP можно утоптать в работу на аж на 2 КБайтах РАМ, Она для того и сделана чтобы работать на супер маленьких AVR. Другое дело что она сможет на такой памяти потянуть... Больше вопрос в том сколько flash она сожрет

Flash-а на этом проце нету, т.е. надо всё в RAM утоптать, вот и вопрос, сколько же код всех функций и прочего LwIP скушает?


Цитата(scifi @ Jun 11 2014, 12:42) *
У мну lwip занимает 21К байт памяти программ (Cortex-M3). Это Raw API, no OS. Полное приложение занимает 85К байт памяти программ. Это не считая константы, а их много: все веб-страницы там же. Приложение содержит много функционала. По моему опыту, 32К байт оперативной памяти для буферов lwip - это оч. комфортный объём, с которым веб интерфейс летатает. Наверняка и с 16К тоже будет летать.

Вот и у меня на плате с Cortex-M3 вместе с проектом переработанным из примера Техаса под Cortex-M3 весь код прошивки уместился в 38 кБ. Попытка прикрутить LwIP к ARM9 (так же на основе примера Техаса, но для ARM9) не проходит, после комента кучи функций код занимает порядка 90 кБ, а если оставить как есть, то и в 128 кБ не помещается. Что-то, наверное, для либы можно оптимизировать?
Go to the top of the page
 
+Quote Post
scifi
сообщение Jun 11 2014, 05:57
Сообщение #51


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(doom13 @ Jun 11 2014, 14:04) *
Попытка прикрутить LwIP к ARM9 (так же на основе примера Техаса, но для ARM9) не проходит, после комента кучи функций код занимает порядка 90 кБ...

Для начала надо включить режим THUMB.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 11 2014, 05:59
Сообщение #52


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(scifi @ Jun 11 2014, 13:07) *
Для начала надо включить режим THUMB.

Тут расскажите пожалуйста по-подробней.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jun 11 2014, 06:17
Сообщение #53


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



по РАМ режут количество сокетов и их размеры для UDP и TCP
по размеру библиотеки думаю очень должно помочь срезать весь дебаг, он там обширный и через printf, а эта библиотечка много кушает...
Go to the top of the page
 
+Quote Post
scifi
сообщение Jun 11 2014, 06:26
Сообщение #54


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(scifi @ Jun 11 2014, 14:07) *
Для начала надо включить режим THUMB.

Википедия в помощь.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 11 2014, 06:42
Сообщение #55


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(scifi @ Jun 11 2014, 13:36) *

Это я уже посмотрел. Как мне его включить или посмотреть включён ли он в моём проекте?

Цитата(Golikov A. @ Jun 11 2014, 13:27) *
по РАМ режут количество сокетов и их размеры для UDP и TCP
по размеру библиотеки думаю очень должно помочь срезать весь дебаг, он там обширный и через printf, а эта библиотечка много кушает...

Дебаг, если правильно понимаю, выключен
Код
#define LWIP_DBG_MIN_LEVEL              LWIP_DBG_LEVEL_OFF

, сокеты так же
Код
#define LWIP_SOCKET                     0
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 11 2014, 09:25
Сообщение #56


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(scifi @ Jun 11 2014, 13:07) *
Для начала надо включить режим THUMB.

Прямо в точку, спасибо. Нашёл в опциях CCS как включить режим Thumb, размер прошивки реально уменьшился до 40 кБ, в проекте под Cortex-M3 эта опция и была установлена.
Нормально ли использовать ARM в этом режиме? На что это повлияет?
Go to the top of the page
 
+Quote Post
scifi
сообщение Jun 11 2014, 09:29
Сообщение #57


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(doom13 @ Jun 11 2014, 17:35) *
Нормально ли использовать ARM в этом режиме? На что это повлияет?

THUMB исполняется немного медленнее, чем эквивалентный код в режиме ARM. Это при условии, что память не тормозит, а в случае on-chip RAM обычно так и есть.
Go to the top of the page
 
+Quote Post

4 страниц V  « < 2 3 4
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 20:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01895 секунд с 7
ELECTRONIX ©2004-2016