[ARM]DiscoverF4 CycloneTCP Stack Webserver/Client Demo mit CoIDE

OP #3347282
Lesenswert?

Auf der Suche nach einer Alternative für lwip bin ich hier fündig 
geworden[1].

Anbei ist ein Projekt für CoIDE 1.7.5 mit dem Netzwerk-Stack CycloneTCP. 
Es basiert auf die im Quelltext vorliegenden Demos für Keil.

Hardware ist das DiscoveryF4 mit dem DP83848 Modul von Waveshare. Auf 
USART6 laufen verschieden Statusmeldungen.

Nach dem Einschalten wird versucht via DHCP eine IP zu erhalten. Gelingt 
das, leuchet die grüne LED und auf der USART wird die IP ausgegeben. 
Eine rote LED blinkt solange das Programm läuft.

Den Webserver kann man ausprobieren indem man die erhaltene IP im 
Browser eingibt.

Wenn man den blauen Taster betätigt, wird die Startseite von diesem 
Forum geholt und auf der USART ausgegeben. Während dessen leuchtet die 
orange LED.

Als Terminalprogramm für die USART hat sich Putty sehr bewährt.

Die Demo läuft deutlich stabiler als die von ST. Die Codequalität des 
Stacks spricht auch für sich.


Viel Spaß!


[1]www.oryx-embedded.com
Angehängte Dateien:
Gast #4105206
Lesenswert?

Hallo,

I have following problem while building with Coocox 1.7.0 or 1.7.8 
(unfortunately I dont have the Coocox 1.7.5 to test it):

[cc] Starting link
       [cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 
-mfloat-abi=softfp -mthumb -Wall -g -nostartfiles -Wl,-Map=Websrv.map 
-Os -Wl,--gc-sections -LC:\CooCox\CoIDE\configuration\ProgramData\Websrv 
-Wl,-TC:\CooCox\CoIDE\configuration\ProgramData\Websrv/arm-gcc-link.ld 
-g -o Websrv.elf ..\obj\socket.o ..\obj\pkcs5.o ..\obj\whirlpool.o 
..\obj\raw_socket.o ..\obj\stm32f4xx_syscfg.o ..\obj\idea.o 
..\obj\cipher_mode_cbc.o ..\obj\stm32f4xx_sdio.o ..\obj\tcp.o 
..\obj\tcp_timer.o ..\obj\icecast_client.o ..\obj\stm32f4xx_cryp_aes.o 
..\obj\stm32f4xx_hash.o ..\obj\arp.o ..\obj\icmpv6.o 
..\obj\stm32f4xx_hash_sha1.o ..\obj\seed.o ..\obj\chargen.o 
..\obj\camellia.o ..\obj\mld.o ..\obj\os.o ..\obj\dhcp_client.o 
..\obj\stm32f4xx_usart.o ..\obj\tcp_ip_stack.o ..\obj\stm32f4xx_pwr.o 
..\obj\daytime.o ..\obj\yarrow.o ..\obj\mpi.o ..\obj\dsa.o 
..\obj\cipher_mode_ecb.o ..\obj\stm32f4xx_can.o ..\obj\slaac.o 
..\obj\stm32f4_discovery_sdio_sd.o ..\obj\ripemd128.o 
..\obj\stm32f4xx_wwdg.o ..\obj\ipv4_frag.o ..\obj\stm32f4xx_hash_md5.o 
..\obj\str.o ..\obj\stm32f4xx_dac.o ..\obj\tiger.o ..\obj\discard.o 
..\obj\startup_stm32f4xx.o ..\obj\stm32f4x7_eth.o 
..\obj\stm32f4_discovery.o ..\obj\sha512_256.o ..\obj\base64.o 
..\obj\stm32f4xx_crc.o ..\obj\stm32f4xx_iwdg.o ..\obj\echo.o 
..\obj\main.o ..\obj\dhcpv6_client.o ..\obj\stm32f4xx_rcc.o 
..\obj\dhcpv6_debug.o ..\obj\tcp_misc.o ..\obj\sha256.o 
..\obj\dhcpv6_relay.o ..\obj\dns_client.o ..\obj\timers.o 
..\obj\smtp_client.o ..\obj\sha384.o ..\obj\cipher_mode_ctr.o 
..\obj\des3.o ..\obj\dh.o ..\obj\endian.o ..\obj\ndp.o 
..\obj\stm32f4xx_adc.o ..\obj\asn1.o ..\obj\stm32f4xx_dcmi.o 
..\obj\pem.o ..\obj\ping.o ..\obj\tasks.o ..\obj\aes.o ..\obj\md2.o 
..\obj\stm32f4xx_cryp_des.o ..\obj\stm32f4xx_cryp.o 
..\obj\cipher_mode_gcm.o ..\obj\stm32f4xx_fsmc.o ..\obj\ipv4.o 
..\obj\sha512_224.o ..\obj\md4.o ..\obj\cipher_mode_ofb.o 
..\obj\dhcp_common.o ..\obj\ethernet.o ..\obj\stm32f4xx_gpio.o 
..\obj\x509.o ..\obj\stm32f4xx_flash.o ..\obj\md5.o ..\obj\list.o 
..\obj\cipher_mode_ccm.o ..\obj\system_stm32f4xx.o ..\obj\syscalls.o 
..\obj\res.o ..\obj\mime.o ..\obj\stm32f4xx_dma.o ..\obj\sha224.o 
..\obj\ipv6.o ..\obj\ssi.o ..\obj\tcp_ip_stack_mem.o ..\obj\port.o 
..\obj\queue.o ..\obj\dp83848.o ..\obj\ripemd160.o ..\obj\debug.o 
..\obj\igmp.o ..\obj\sha1.o ..\obj\hmac.o ..\obj\croutine.o ..\obj\udp.o 
..\obj\ip.o ..\obj\rc4.o ..\obj\stm32f4xx_spi.o ..\obj\aria.o 
..\obj\stm32f4xx_i2c.o ..\obj\dhcpv6_common.o ..\obj\stm32f4xx_rng.o 
..\obj\resource_manager.o ..\obj\sha512.o ..\obj\stm32f4xx_exti.o 
..\obj\icmp.o ..\obj\ipv6_frag.o ..\obj\misc.o ..\obj\cipher_mode_cfb.o 
..\obj\rc6.o ..\obj\dhcp_debug.o ..\obj\rsa.o ..\obj\stm32f4xx_rtc.o 
..\obj\http_server.o ..\obj\stm32f4xx_cryp_tdes.o ..\obj\des.o 
..\obj\nic.o ..\obj\date_time.o ..\obj\stm32f4xx_tim.o ..\obj\tcp_fsm.o 
..\obj\stm32f4xx_dbgmcu.o ..\obj\ftp_client.o -L..\..\.. -lm -lgcc -lc
       [cc] c:/program files (x86)/gnu tools arm embedded/4.9 
2014q4/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/ 
armv7e-m/softfp\libc.a(lib_a-fclose.o):  In function `fclose':
       [cc] fclose.c:(.text.fclose+0x0): multiple definition of `fclose'
       [cc] 
..\obj\resource_manager.o:D:\Work\References\Ethernet\OryxWebsrv\Cyclone 
TCP_CycloneSSL_CycloneCrypto_Open_1_3_5\common/resource_manager.c:286: 
first defined here
       [cc] collect2.exe: error: ld returned 1 exit status


Do you have an idea?
Khang.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren