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

 
 
> Портирую TCP/IP стек для STM8L в IAR'e, STM8L+ENC28j60
GRJ
сообщение Nov 3 2011, 05:33
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 30-07-08
Пользователь №: 39 306



Стала задача прикрутить ENC28J60 к этим новым МК.
Сначала попробовал стек описанный в сообществе (easyelectronics.ru): Удалось связаться с микросхемой, читать/писать регистры, и это все ОК работало. Но вот добиться пинга так и не удалось, поэтому решил забросить и попробовать что нить другое.
Начал портировать стек от такса (http://tuxgraphics.org/electronics/200905/embedded-tcp-ip-stack.shtml)и через 15 минут получил пинг, был очень рад.
Но грабли настигли позже. Решил, чтобы проверить работу сделать простой web - сервер (пример test_OKworks.c). Но проблема в том что там используется GCC компилятор и специфические функции с avr/pgmspace.h которые работаю со флешем.
От суда вопросы:
1. Если я объявлю как const uint8_t *client_urlbuf вместо static prog_char *client_urlbuf; то IAR положит ее во flash? И вместо c = pgm_read_byte(progmem_s++), где const prog_char *progmem_s буду использовать просто с=progmem_s++, где const сhar *progmem_s
2. Или как нужно правильно общаться к flash памяти в STM8L в IAR'e?
3. Может есть у кого заготовка которая передефайнит эти специфические элементы в родные для IAR?

Для замены PSTR и других функций для работы с flash использовал следующую конструкцию
Код:
#define PSTR(s) s
#define pgm_read_byte(ptr) ((char)*(ptr))
#define prog_char char
#define PROGMEM

Но почему то получаю только пинг, побывал запустить test_OKworks.c, но почему то страничку не отображает.
Вот проект в IAR, надеюсь кто нить кто работал с этим стеком и хорошо знает GCC сможет мне что-то подсказать, где может быть ошибка?

P.S. IAR использую недавно, до этого использовал MikroC, но последний, как то глюковатый порой.
Возможно мне лучше портировать какой-нибудь другой стек, подскажите какой ? Задача сделать web сервер, и web склиент (отправка данных на сайт)
Прикрепленные файлы
Прикрепленный файл  EthTest.rar ( 252.39 килобайт ) Кол-во скачиваний: 48
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GRJ
сообщение Nov 3 2011, 10:07
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 30-07-08
Пользователь №: 39 306



Оказалось проблема в опитимизаторе IAR'a.
Пока не знаю какой именно кусок кода ломается, но поставив Optimization на Low. Web-сервер заработал, теперь буду делать клиент.
Вопрос, можно ли IAR'у сказать что вот такой-то кусок кода не оптимизировать, ну или такую то функцию?

Цитата(scifi @ Nov 3 2011, 12:51) *
Почему именно к этим МК? Обычно для TCP/IP выбирают что-то покруче (больше памяти/скорости). Хотя если в вашем STM8 памяти хватит, то можно.


Семейство STM8 имеет большое преимущество по сравнению с AVR: в нём однородное адресное пространство. Поэтому никаких извращённых действий для доступа к данным в флэш там делать не нужно: указатели на ROM и RAM одинаковые.


Я бы портировал uIP, так как этот стек позиционируется как маленький. Но для этого нужен опыт. Учитывая то, что вы даже путаетесь в типах указателей, лучше доведите до рабочего состояния текущий вариант.


STM8 выбрал потому что потом хочу на STM32 все перенести, а они похоже, причем очень. К тому же для STM у меня есть отладчик, для AVR нету, только программатор, а так как задача не простая, безе отладчика было бы тяжело.

Да я смотрел uIP, но он мне показался намного сложнее, поэтому я оставил его. А на счет того что я путаюсь - Вы правы. Ранее работал в MikroC, там все проще, но и хуже, да не нужно было использовать указатели для моих задач. В общем мне есть куда расти.
Go to the top of the page
 
+Quote Post
KRS
сообщение Nov 3 2011, 14:34
Сообщение #3


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(GRJ @ Nov 3 2011, 14:07) *
STM8 выбрал потому что потом хочу на STM32 все перенести, а они похоже, причем очень.

Чем похожи??? Первыми 3мя буквами а названии?

Go to the top of the page
 
+Quote Post



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

 


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


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