collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: STM32F + lwIP  (Lida 6580 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
STM32F + lwIP
« em: 11 de Junho de 2014, 17:48 »
Olá,

Alguem daqui já trabalhou com STM32 + lwIP?
Vou precisar de por um STM32F107 + LAN8710A a functionar com a lwIP.
Se houvesse aqui alguem que tenha passado pelo mesmo ou por experiencia identica era giro trocar umas ideias.

StarRider

  • Visitante
Re: STM32F + lwIP
« Responder #1 em: 12 de Junho de 2014, 01:10 »
Boas,

Alguns STM32F107 têm USB OTG FS com PHY interno, e existem STM32F2/F3/F4 com
USB HS/FS e PHY interno.

O recurso a um PHY USB externo (LAN8710A) não se justifica a não ser se for para USB HS
com o STM32F107, mas mesmo assim mais vale optar por um STM32F2/F3/F4.

As minhas implementações usam o stack da Keil (MDK-Pro) pelo que nunca usei o lwIP, de
qualquer forma o principio é o mesmo.

Abraços,
PA

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: STM32F + lwIP
« Responder #2 em: 12 de Junho de 2014, 01:41 »
StarRider, é para Ethernet e não USB. E nesse caso nenhum STM32F1/F2/F4 tem PHY incluida daí o chip externo.
A escolha do F107 é por ser o mais barato e por ser perfeitamente suficiente para o que pretendo fazer.

Entretando mandei vir uma placa destas: https://www.olimex.com/Products/ARM/ST/STM32-P107/
Existe alguma documentação na net sobre ports da lwIP para os STM32F, mas o que eu gostava era mesmo de uma board com isto a funcionar out-of-the-box (e com o LNA8710A), visto que estou com algumas limitações de tempo. Os exemplos da Olimex são para IAR e demasiado básicos (uIP).

Um outro requisito que tenho é o desenvolvimento ser feito com toolchain baseada do GCC ARM.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: STM32F + lwIP
« Responder #3 em: 12 de Junho de 2014, 10:55 »
Não usa o que pretendes mas se der para o que queres tens aí tudo pronto http://andybrown.me.uk/wk/2013/07/14/stm32plusnet/

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: STM32F + lwIP
« Responder #4 em: 12 de Junho de 2014, 14:39 »
Obrigado pela sugestão. Ja tinha dado uma vista de olhos mas agora dei-lhe mais atenção.
Está ali bastante trabalho/conhecimento e parece-me bastante bem estruturado e completo. No entanto fui ver uns exemplos e os "new" e "deletes" causaram-me alguns arrepios. Parece que o autor usa C++ num STM32 sem grandes limitações e não gostei muito disso (memória dinâmica num MCU com poucos recursos). Mas se tiver tempo vou experimentar.

Offline KammutierSpule

  • Mini Robot
  • *
  • Mensagens: 1.481
Re: STM32F + lwIP
« Responder #5 em: 12 de Junho de 2014, 15:29 »
Consideraste o uso de um IC da WIZnet ?

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: STM32F + lwIP
« Responder #6 em: 12 de Junho de 2014, 16:10 »
Sim, essa foi a primeira opção. Se a opção de ter a stack TCP/IP embebida no mesmo mcu que usar se complicar provavelmente volto a ela. Mas estou confiante que não seja necessário.

StarRider

  • Visitante
Re: STM32F + lwIP
« Responder #7 em: 12 de Junho de 2014, 23:36 »
StarRider, é para Ethernet e não USB. E nesse caso nenhum STM32F1/F2/F4 tem PHY incluida daí o chip externo.

Estás absolutamente correcto ... troquei o LNA8710A por um PHY de USB   :-[  ... deve ser da
hora em que escrevi o post ... e das Super Bock ;)

Tenho um STM32F4 com o LNA8710A ... mas como disse com o stack da Keil (MDK-Pro),
deixa-me ir procurar esse projecto e já digo qualquer coisa.

Abraços,
PA

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: STM32F + lwIP
« Responder #8 em: 04 de Julho de 2014, 22:12 »


Habemus TCP/IP + lwIP. E corre com o ChibiOS, que facilitou bastante a tarefa.
Quanto terminar a minha aplicação colocarei todo o código no github.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: STM32F + lwIP
« Responder #9 em: 05 de Julho de 2014, 22:52 »
boa :) ando a ver se arranjo tempo para o chibios, dizem ser melhor que o freertos

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: STM32F + lwIP
« Responder #10 em: 19 de Julho de 2014, 20:41 »
Ainda não está como gostaria...

O exemplo que dei no meu post anterior (servidor HTTP) tem um problema:
Assim que o programa arranca no STM32 o Firefox demora muito tempo a carregar a página e acaba por dar "timeout". Se fizer refresh aparece a página. Faço uns quantos refresh seguidos e tudo OK. No entanto, se esperar algum tempo (~10 segundos) e voltar a fazer refresh o firefox volta a conseguir nao se ligar ao servidor. Espero algum tempo, volto a fazer novas tentativas de ligação (refresh) e volto a ter a página.
Resumindo: dificuldade em ligar-se ao servidor, quando consegue ligação fica estável por algum tempo até voltar ao mesmo.

Alguns detalhes:
- percebo pouco de "redes" (IPs, netmasks, dhcp, arp, etc)
- print do ipconfig: http://s27.postimg.org/w1qrbwo6b/ethernet.png
- exemplo anterior defini os seguintes IP:
IP Adress: 169.254.232.150
Netmask: 255.255.0.0
Gateway: 192.168.1.255

O google diz-me que IPs do tipo "169.254.x.x" significam que algo está mal. No entanto, se mudar para o os seguintes, deixo de todo de me conseguir ligar ao servidor:
IP Address: 192.168.1.82
Netmask: 255.255.255.0

Alguem tem alguma ideia do que poderá estar a correr mal?

   

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: STM32F + lwIP
« Responder #11 em: 19 de Julho de 2014, 21:36 »
O que te posso aconcelhar é a instalares o wireshark e ver os pacotes que andam de um lado para o outro mas claro que sem se saber o que é suposto ser enviado pode não ajudar muito :s

Tu estas a ligar o stm32 ao pc? a um router/switch?
O "adaptador ethernet ligação de area local" é o que mesmo? é que a interface anterior "placa de rede..." parece ser a placa ethernet pela qual o PC está ligado a um router switch.

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: STM32F + lwIP
« Responder #12 em: 19 de Julho de 2014, 22:37 »
Tenho a placa ligada por ethernet ao meu desktop e o "adaptador ethernet ligação de area local" será então a placa de rede de ethernet que o meu desktop tem. É o que deduso. Não tenho acesso à internet por Ethernet mas sim por Wifi (não sei se isto é importante), e a "placa de rede..." que aparece antes deve corresponder ao módulo da Sitecom que uso. Esse sim, tem IPs decentes a começar por 192.168  (está ligado - sem fios - ao router/switch da MEO) mas se uso um IP nessa gama no STM32 não consigo de todo aceder ao server.

Tenho o Wireshark instalado. Usei isto numa cadeira ha uns anos (que acabei por nao concluir) e já só me lembro dos SYN/ACK do TCP.
Mas pondo-o a capturar o "adaptador ethernet ligação de area local" obtenho isto: http://we.tl/Rof4JNDmtD (ficheiro .pcapng para abrir com o wireshark).
Resumindo:
A partir do momento que o browser consegue estabelecer a ligação, acontece tudo direitinho. O problema é que enquanto não se liga (podendo terminar em timeout, e após uns 10~20 segundos), não aparecem pacotes no wireshark. Fico sem saber o que se está a passar. Terá alguma coisa a ver com o IP ser do tipo 169.254.x.x?
« Última modificação: 19 de Julho de 2014, 22:38 por msr »

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: STM32F + lwIP
« Responder #13 em: 19 de Julho de 2014, 23:38 »
Finalmente!
O problema estava mesmo no IP 169.254.x.x
Bastou definir um endereço estático para o meu "adaptador ethernet" do tipo 192.168.1.x e segundo isto: http://portforward.com/networking/static-win7.htm
E na placa uso também um IP desse tipo e agora sim não há problemas de ligação.

Obrigado pela ajuda metRo_




Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: STM32F + lwIP
« Responder #14 em: 20 de Julho de 2014, 03:21 »
Eu perguntei onde tinhas ligados os dispositivos pois eles têm que estar na mesma gama de ips, isto é, se tens um dispositivo com o ip 192.168.1.1 e o netmask 255.255.255.0, o outro dispositivo pode ser algo entre 192.168.1.2 e 192.168.1.255.

Nem tinha reparado que uma das ligações era sem fios e outra etherenet, pensei que eram as duas ethernet. A partir do momento em que o ip do teu pc é 192.168.1.64 o stm32 tem que ter um ip na mesma gama: 192.168.1.xxx tendo atenção para não interferir com mais nenhum ip da rede.