ENC28J60 için uygun TCPIP stack'i

Başlatan Elektroemre, 24 Ekim 2012, 18:52:18

Elektroemre

Merhabalar,

ENC28J60'ı arm işlemcilerle (STM32 ya da LPC) kullanmak için uygun TCPIP stack tavsiyeleriniz nelerdir?
İstediğim minik bir web server uyglaması yapmak, şöyle 5KB-10KB ram kullansın beni tek pakete muhtaç etmesin yeter.


Microchip Stack
'i başka işlemcilere uyarlamak imkansız gibi birşey, arap saçı gibi.
uIP'in ENC28J60  için port edilmiş halini bulamadım.
lwIP 20-30 KB RAM kullanıyor,
Guido Socher meşhur libi çalıştırdım ancak, sorunu şu; bu libde yalnızca 1 paket gönderilebiliyor. Yani 1.5KB de sıkışıp kalıyoruz.
http://tuxgraphics.org/electronics/200611/article06111.shtml
Keil RL-TCPnet'in ENC28J60 için driver'ı yok.



EMG81

Stm için mikroc nin compiler ı tercih edilebilir. Tabii projenin boyutuda önemli sadece Eth. lazımsa mantıklı olur ama birçok şeyi mikroe ye taşımakta mantıksız olur.

iyildirim

#2
Alıntı yapılan: Elektroemre - 24 Ekim 2012, 18:52:18
Microchip Stack'i başka işlemcilere uyarlamak imkansız gibi birşey, arap saçı gibi.

Keil'in ENC28J60 sürücüsü varsa bunu kullanmak daha mantıklı olurdu tabii. Ama Microchip TCP-IP stackda o kadar karmaşık değil..  Microchip Stack uğraşmışlığım vardı ama bir iki hafta önce iyice haşır neşir oldum.  Neredeyse board ve işlemci ile ilgili herşey DEFINE olarak tanımlı.

Çevirmeyi denemek isterseniz, Stack'ın Explorer16 bordu için olan örneği alıp, TCP-IP stack config util ile istediğiniz konfigürasyonu ayarlayın, sonra derleyici ve board'a göre hardware tanımlarının yapıldığı dosyayı kendinize göre değiştirin ve include edilmesini sağlayın. LED, BUTTON gibi tanımları isterseniz direkt atabilirsiniz. Bir tek SPI-ENC tanımları yeterli olur. Birde random number üretmek sırasında ADC yi kullanır. Buraları elle düzeltirseniz gerisi find-replace gibi birşeye kalır.  18-24-33-32 serileri desteklendiğinden dolayı işlemciye özel pek birşey yok.. Proje ayarlarına girilmiş include seach path 'lere de dikkat edilmeli. 
Yaparsanız bir tek Microchip Lisans sözleşmesine karşı gelmiş olursunuz..  Ama ENC kullanacağınız için burda da sorun olmaz.
RAM konusunda da buffer vs leri ENC üzerinde tanımlarsanız 1-2 KB RAM ile çalışabiliyor.. Daha Performanslı olması için bufferları işlemci RAM de tutmak daha iyi oluyor.


frederic

Merhaba bu linkte tamda aradığınız şey var,STM32 için example code yayınlamışlar,bu kodu çalıştırırsanız eğer forumda da paylaşın ki,sizin yaşadığınız zorlukları başkaları yaşamasın,hayırlı çalışmalar.

http://www.elektrovadi.com/ENC28J60-ETHERNET-MODULU,PR-1274.html

Analyzer

Selam,

mp3dragon konuyla ilgili çalışma yapmıştı arm için.

https://www.picproje.org/index.php/topic,16856.msg111201.html#msg111201

ancak linkler sağlam değil. Kendi arşivime indirdiğime eminim ancak bulamadım. Pudn e upload edilmiş ancak uploader veya vip üyelik almak gerekiyor indirmek için.

http://en.pudn.com/downloads186/sourcecode/embed/detail875684_en.html

Analyzer
Üşeniyorum, öyleyse yarın!

OG

FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Elektroemre

#6
Teşekkürler arkadaşlar, mesajı yazdığım gün 4-5 saatin ardından port edebildim,
ENC driver'ı olarak şu projedekini kullandım;
http://code.google.com/p/avr-uip/
Daha sonra uIP'in 2007 de yayınlanmış olan son versiyonu port ettim.

Daha sonra modemime port açıp uzaktan eriştim. Bayram bayram gittiğim her yerden evdeki minik server'e bağlandım acayip keyifli  ;D
Şimdi httpd'yi SD karttan dosyaları çekecek şekilde yeniden yazacağım.
Bu arada uIP lokalde bile oldukçe yavaş maalesef. RAM kullanımı 2 KB civarı. En güzel yönü tek paket sorunu yok, 100 KB'lık metin dosyasını bile gönderbildim.
Daha iyi bir MCU ile lwIP'yi deneyecğim kısmetse.
Diğer bir sorun evdeki IP'im statik olmadığı için modem reset yiyince IP değişiyor ve server'ıma erişemiyorum, statik IP alma dışında alternatif yollar var mıdır?




Elektroemre

Teşekkürler arkadaşlar,

Analyzer hocamın linkini paylaşmış olduğu LwIP stak'inide az önce port ettim;
https://www.picproje.org/index.php/topic,39731.msg291563.html#msg291563

Gerekli konfigürayonları yapınca RAM kullanımı 6 KB kadar düştü. Otomatik IP alma vs bir sürü ek özelliği var. ROM kullanımı 25 KB civarı şuan (diğer fonklarda kullanıldıkça artacaktır.)
Şimdilik LPC1343'le ancak bu kadar  :)


Analyzer

Selam,

ElektroEmre hocam çalıştırabildiğine sevindim. STM32F4 için yazın çalışayım dedim ancak taşınınca kitlerin hepsi kutularda kaldı. Bende unuttum konuyu. Şimdi araştırırken bir kaç bir şey daha buldum. Thomas Jespersen isimli kullanıcı, konu üzerinde çalışmıştı.
http://blog.tkjelectronics.dk/2012/04/review-stm32f4-discovery/
http://www.tkjelectronics.dk/uploads/STM32F4_SPI_Ethernet.zip
Atollic ile derlemiş ancak realview'a çevirmek çok zor olmasa gerek.

Analyzer
Üşeniyorum, öyleyse yarın!