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

 
 
> Портирую 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
Ответов
scifi
сообщение Nov 3 2011, 08:51
Сообщение #2


Гуру
******

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



Цитата(GRJ @ Nov 3 2011, 09:33) *
Стала задача прикрутить ENC28J60 к этим новым МК.

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

Цитата(GRJ @ Nov 3 2011, 09:33) *
Но проблема в том что там используется GCC компилятор и специфические функции с avr/pgmspace.h которые работаю со флешем.

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

Цитата(GRJ @ Nov 3 2011, 09:33) *
Возможно мне лучше портировать какой-нибудь другой стек, подскажите какой ? Задача сделать web сервер, и web склиент (отправка данных на сайт).

Я бы портировал uIP, так как этот стек позиционируется как маленький. Но для этого нужен опыт. Учитывая то, что вы даже путаетесь в типах указателей, лучше доведите до рабочего состояния текущий вариант.
Go to the top of the page
 
+Quote Post



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

 


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


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