W5500 тест работоспособности


Получил платку с W5500. Озаботился тестированием ее работоспособности с имеющимся STM32F100 дискавери.
Использую Кокос и там есть драйвер W5500, но было честно говоря лень в пятницу вечером чето упорно ковырять, поэтому пошел по пути наименьшего сопротивления и погуглив и потупив нашел на визнетовском сайте пример для STM32 и CooCox! Платка завелась с почти двух пинков wizwiki.net/wiki/doku.php?id=products:w5500:driver примерно где то в середине странички Loopback test: wizwiki.net/wiki/lib/exe/fetch.php?media=products:w5500:w5500_example_loopback_stm32f103x_coide_20131104.zip
Пример возвращает обратно посылку на UDP:3000 и TCP:5000 портах, подключение на SPI1.
И чуть чуть подрихтовав запустил его (поменял чип на STM32F100RB, частоту на 24 и включил семихостинг) не забыв огрести пару грабель не связанных с сетевым функционалом. Т.к. до этого ни разу семихостинг не использовал, а тут был вывод отладочной информации через printf то решил попробовать и долго не мог понять почему пример работает в отладке, но вообще не работает без нее. Оказалось просто — отключаем компоненты семихостинга (да и retarget printf тоже) в репозитарии и все работает!
А чтобы что-то выводилось в отладке, не забыть поставить галку в меню отладки Semihosting Enable и написать в теле PrintChar — SH_SendChar(C);

//printf.c
void PrintChar(char c)
{
	/* Send a char like: while(Transfer not completed); Transmit a char; */	
	SH_SendChar(C);
}


Модифицированный пример прилагаю (захочите семихостинг ставьте галку и не переписывайте содежимое — там все есть).
зы Не привожу ссылку на али т.к. ценник был конский 25USD там сейчас вроде и дешевле есть.
  • +1
  • 30 августа 2014, 16:50
  • GYUR22
  • 1
Файлы в топике: WIZNET.zip

Комментарии (10)

RSS свернуть / развернуть
Semihosting так же, как и обычный printf, надо буферизовать, чтобы можно было отлаживать приложения реального времени (USB, сеть). Сегодня как раз на эти грабли стукнулся больно.
0
Прикол был в том что отладка хоть и тормозила иногда, но работала, а вне отладки не работало совсем ничего.
ps принтфом стараюсь не пользоваться вообще — обычно это можно обойти.
0
Скомпилировал прект в Keil, запускаю, но почему то попадаю в обработчик HardFault_Handler или зависаю на этапе LDR R0, =SystemInit.
0
по шагам пройдите, поотключаейте все диодиком помигайте- короче стандартные техники обычно помогают
0
что планируется сделать на базе этой платки? я имею ввиду эзернет
0
Планируется замена enc28j60
0
я имел ввиду конечный проект
0
конкретно эта плата была приобретена чисто для ознакомления и особых планов на нее нет
0
блиииин, ну там не прикольно(( обычно дальше ознакомления дело не заходит…
0
так есть вторая статья про нее, я удивился что кто то в эту тему написал — я поднял на ней+дискавери+сд веб сервер
we.easyelectronics.ru/GYUR22/w5500stm32sd-web-server.html
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.