WebServer на STM32+ENC28J60+uIP+RTOS

Нужно было мне сделать девайс с веб-сервером. Сам сервер должен просто отдавать файлы и принимать/отправлять UDP, поэтому, использовать сложные стеки мне не хотелось(несмотря на большую производительность STM32). Остановился я однозначно на uIP.
Но в примерах есть только веб-сервер с отдачей файлов, сохраненных в памяти МК, а мне надо было отдавать с карты. Помучался 5 вечеров и вроде что то сделал. В стеке мне очень не понравилось то, что он оптимизирован под ОС, пришлось ставить FreeRTOS.
Теперь о том, что я переделал.

Читать дальше

STM32 + uIP + enc28j60

Долго облизывался на подключение МК к Ethernet, ходил вокруг цикла статей Lifelover'a, и решил попробовать. Но как в том анекдоте «не в лото, а в покер, не Волгу, а сто рублей и не выиграл, а проиграл» отличия от проекта Lifelover'a будут следующие:

  • камень stm32f103v, флеша у которого аж 512к. Меньше 64к у STM32 — редкость, что не может не радовать
  • tcp стек решил взять готовый, в частности uIP. Пробовал стек от Lifelover'a, но там много AVR-овских особенностей — раздельная адресация как минимум. В итоге запустил, погонял, но решил все-таки перейти на стандартный стек.
  • ОС, естественно, FreeRTOS,
  • Ну а Ethernet-контроллер все тот же enc28j60, подключенный через SPI

В этой статье мы соберем минимальное приложение, которое висит на порту 1000 и что-то там пишет.



Читать дальше