Compiling firmware 1.3.0 WIZ550S2E

Hi. I’m having trouble getting firmware 1.3.0 to compile.

I’ve tried both LPXCpresso 7.5.0 and 8.2.2.

The chip and board projects compile fine.
The Boot and App projects both show “command not found” error messages in the console window:
/bin/sh: Heap:Default: command not found
/bin/sh: Post: command not found
/bin/sh: Default: command not found
/bin/sh: Stack:Default: command not found
c:/nxp/lpcxpresso_8.2.2_650/lpcxpresso/tools/bin/…/lib/gcc/arm-none-eabi/5.4.1/…/…/…/…/arm-none-eabi/bin/ld.exe: Linker CRP Enabled, but no CRP_WORD provided within application
c:/nxp/lpcxpresso_8.2.2_650/lpcxpresso/tools/bin/…/lib/gcc/arm-none-eabi/5.4.1/…/…/…/…/arm-none-eabi/bin/ld.exe: warning: cannot find entry symbol ResetISR; defaulting to 00006000
collect2.exe: error: ld returned 1 exit status
/bin/sh: End: command not found
/bin/sh: Default: command not found
make: *** [WIZ550S2E_App.axf] Error 127

I’m at a loss. We have custom firmware built on the original firmware 1.0.2, and need to rebuild on the latest platform because of user reported crashing issues. I really need to be able to compile 1.3.0 so I can then add in my changes.

Thanks in advance for the help!

Hi.

Did you check the link of more details?

HOW TO Compile source code for WIZ550S2E

Yes. I wrote that post.

Since I had my r1.02 based project compiling, I painstakingly added the changes by running diffs on each rev and adding them to my project. I made sure compile still worked after each change. Had to roll back a couple times. I also diff’d on ioLibrary_Driver r4.0.0 and added a couple fixes I found there. I also added a couple bugfixes from WIZ550S2E 1.3.0.

FYI ioLibrary doesn’t match the drivers for WIZ550S2E. The Ethernet folder in ioLibrary seems newer, but the Internet folder seems older than WIZ550S2E (missing some bugfixes). That’s worth investigating.

I have brought my project up to r1.1.5 because MQTT (1.2.0 and 1.3.0) still seems to be maturing. It is now compiling.

There are some differences in the “.cproject” file that I suspect are why the github version isn’t compiling. I compiled under LPCExpresso 8.2.2.

Turns out my custom code bricks the module, so back to square one.

Out of desperation I have downloaded firmware 1.3.0. It won’t compile, at least under LPCXpresso 8.2.2. I played with the project settings until I got it to compile. Didn’t change the source code at all. I get a lot of compile warnings, some of them troubling, such as “casts integer to pointer”. When I program this code into the module, it also results in a dead module. Something is obviously crashing.

Please, please, PLEASE! I need to be able to compile this code. I have no way to debug, and I have no idea what is wrong with the project.

It would be very helpful to know which compiler is being used, and the project settings used to make this thing actually compile.

Hi.

I’m sorry to hear that.

I understand that you can understand the development environment as much as I do when I see your article of HOW TO Compile source code for WIZ550S2E.

You should use LPCXpresso v7.5.0 [Build 254] as shown in the article you registered.

When I compiled the same source in the upper version, I discovered that it did not work. so i registered the version in the WIZ550S2E page of github.

Also, since v1.0.3, there is only library path changed in project setting.

So, I attach a working folder.

lpcxpresso-workspace-wiz550s2e.zip

Change the file extension to zip.

Please try and notify to me the result.

Thank you Ricky. I have gone back to 7.5.0 and will test.

I tried to download the file you attached, but it won’t download. It opens a blank window. I’ve tried it from the forum and from the email. I would like very much to be able to download your working project. Thanks!

Test results.
Using LPCXpresso 7.5.0.
Downloaded fresh copy of 1.3.0 from GitHub - Wiznet/WIZ550S2E: Serial to Ethernet Module based on W5500 & Cortex-M0
Imported project into new workspace using Quickstart Panel->Import project(s)->Archive->Browse->Selected WIZ550S2E-master.zip.

Right click lpc_chip_11exx->Build Project…
09:33:14 Build Finished (took 4s.625ms)

Right click wiznet_s2e_wiz550s2e_board->Build Project…
Build 1 ok.
Build 2: 09:34:25 Build Finished (took 796ms)

Right click WIZ550S2E_Boot->Build Project…Failed
09:35:09 **** Build of configuration Debug for project WIZ550S2E_Boot ****
make -r all
make: *** No rule to make target `all’. Stop.
09:35:09 Build Finished (took 85ms)

Right click WIZ550S2E_App->Build Project…Failed
Build 1 ok
Build 2 ok
Build 3 failed
09:37:02 **** Build of configuration Debug for project WIZ550S2E_App ****
make -r all
Building file: …/src/netutil/netutil.c
Invoking: MCU C Compiler
arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -DCORE_M0 -D__USE_ROMDIVIDE -D__USE_LPCOPEN -D__LPC11EXX__ -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\lpc_chip_11exx\inc" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\Internet\MQTT\MQTTPacket\src" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\wiznet_s2e_wiz550s2e_board\inc" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\ATcmd" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\callback" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\Configuration" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\Ethernet" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\Internet" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\netutil" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\PlatformHandler" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\S2E" -Og -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -mcpu=cortex-m0 -mthumb -specs=redlib.specs -MMD -MP -MF"src/netutil/netutil.d" -MT"src/netutil/netutil.o" -MT"src/netutil/netutil.d" -o “src/netutil/netutil.o” “…/src/netutil/netutil.c”
Finished building: …/src/netutil/netutil.c

Building file: …/src/callback/dhcp_cb.c
Invoking: MCU C Compiler
arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -DCORE_M0 -D__USE_ROMDIVIDE -D__USE_LPCOPEN -D__LPC11EXX__ -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\lpc_chip_11exx\inc" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\Internet\MQTT\MQTTPacket\src" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\wiznet_s2e_wiz550s2e_board\inc" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\ATcmd" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\callback" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\Configuration" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\Ethernet" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\Internet" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\netutil" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\PlatformHandler" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\S2E" -Og -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -mcpu=cortex-m0 -mthumb -specs=redlib.specs -MMD -MP -MF"src/callback/dhcp_cb.d" -MT"src/callback/dhcp_cb.o" -MT"src/callback/dhcp_cb.d" -o “src/callback/dhcp_cb.o” “…/src/callback/dhcp_cb.c”
Finished building: …/src/callback/dhcp_cb.c

Building file: …/src/S2E/S2E.c
Invoking: MCU C Compiler
arm-none-eabi-gcc -D__REDLIB__ -DDEBUG -D__CODE_RED -DCORE_M0 -D__USE_ROMDIVIDE -D__USE_LPCOPEN -D__LPC11EXX__ -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\lpc_chip_11exx\inc" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\Internet\MQTT\MQTTPacket\src" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\wiznet_s2e_wiz550s2e_board\inc" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\ATcmd" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\callback" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\Configuration" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\Ethernet" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\Internet" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\netutil" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\PlatformHandler" -I"C:\Users\David\Documents\LPCXpresso_7.5.0_254\workspace1_3_0\WIZ550S2E_App\src\S2E" -Og -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -mcpu=cortex-m0 -mthumb -specs=redlib.specs -MMD -MP -MF"src/S2E/S2E.d" -MT"src/S2E/S2E.o" -MT"src/S2E/S2E.d" -o “src/S2E/S2E.o” “…/src/S2E/S2E.c”
…/src/S2E/S2E.c:12:28: fatal error: mqtt_interface.h: No such file or directory
#include “mqtt_interface.h”
^
compilation terminated.
make: *** [src/S2E/S2E.o] Error 1

09:37:03 Build Finished (took 697ms)

////////////////////////////////////////////////////////

Right click WIZ550S2E_App->Properties->C/C++ Build->Settings->Tool Settings->MCU C Compiler->Includes->Added include path “${workspace_loc:/WIZ550S2E_App/src/Internet/MQTT}”

Now compiles but fails at link stage with same error message as I started this thread.

Building target: WIZ550S2E_App.axf
Invoking: MCU Linker
arm-none-eabi-gcc -nostdlib -Xlinker -Map=“WIZ550S2E_App.map” -Xlinker --gc-sections -Xlinker --allow-multiple-definition -mcpu=cortex-m0 -mthumb -T “WIZ550S2E.ld” -L …/linkscripts &Heap:Default;Post Data;Default&Stack:Default;End;Default -o “WIZ550S2E_App.axf” ./src/netutil/netutil.o ./src/callback/dhcp_cb.o ./src/S2E/S2E.o ./src/PlatformHandler/eepromHandler.o ./src/PlatformHandler/sspHandler.o ./src/PlatformHandler/timerHandler.o ./src/PlatformHandler/uartHandler.o ./src/Internet/httpServer/httpParser.o ./src/Internet/httpServer/httpServer.o ./src/Internet/httpServer/httpUtil.o ./src/Internet/TFTP/netutil.o ./src/Internet/TFTP/tftp.o ./src/Internet/SNTP/sntp.o ./src/Internet/SNMP/snmp.o ./src/Internet/SNMP/snmp_custom.o ./src/Internet/MQTT/MQTTPacket/src/MQTTConnectClient.o ./src/Internet/MQTT/MQTTPacket/src/MQTTConnectServer.o ./src/Internet/MQTT/MQTTPacket/src/MQTTDeserializePublish.o ./src/Internet/MQTT/MQTTPacket/src/MQTTFormat.o ./src/Internet/MQTT/MQTTPacket/src/MQTTPacket.o ./src/Internet/MQTT/MQTTPacket/src/MQTTSerializePublish.o ./src/Internet/MQTT/MQTTPacket/src/MQTTSubscribeClient.o ./src/Internet/MQTT/MQTTPacket/src/MQTTSubscribeServer.o ./src/Internet/MQTT/MQTTPacket/src/MQTTUnsubscribeClient.o ./src/Internet/MQTT/MQTTPacket/src/MQTTUnsubscribeServer.o ./src/Internet/MQTT/MQTTClient.o ./src/Internet/MQTT/mqtt_interface.o ./src/Internet/FTPServer/ftpd.o ./src/Internet/FTPClient/ftpc.o ./src/Internet/DNS/dns.o ./src/Internet/DHCP/dhcp.o ./src/Ethernet/W5500/w5500.o ./src/Ethernet/socket.o ./src/Ethernet/wizchip_conf.o ./src/Configuration/ConfigData.o ./src/Configuration/ConfigMessage.o ./src/ATcmd/library/sockutil.o ./src/ATcmd/library/util.o ./src/ATcmd/atcmd.o ./src/ATcmd/cmdrun.o ./src/aeabi_romdiv_patch.o ./src/cr_startup_lpc11exx.o ./src/crp.o ./src/main.o ./src/sysinit.o -lwiznet_s2e_wiz550s2e_board -llpc_chip_11exx
/bin/sh: Heap:Default: command not found
/bin/sh: Post: command not found
/bin/sh: Default: command not found
/bin/sh: Stack:Default: command not found
c:/nxp/lpcxpresso_7.5.0_254/lpcxpresso/tools/bin/…/lib/gcc/arm-none-eabi/4.8.4/…/…/…/…/arm-none-eabi/bin/ld.exe: Linker CRP Enabled, but no CRP_WORD provided within application
c:/nxp/lpcxpresso_7.5.0_254/lpcxpresso/tools/bin/…/lib/gcc/arm-none-eabi/4.8.4/…/…/…/…/arm-none-eabi/bin/ld.exe: warning: cannot find entry symbol ResetISR; defaulting to 00006000
collect2.exe: error: ld returned 1 exit status
/bin/sh: End: command not found
/bin/sh: Default: command not found
make: *** [WIZ550S2E_App.axf] Error 127

09:39:46 Build Finished (took 12s.63ms)

/////////////////////////////////////

I can see the Heap, Post, etc options come from WIZ550S2E_App->Properties->C/C++ Build->Settings->Tool Settings->MCU Linker->All options (readonly textbox):
-nostdlib -Xlinker -Map=“WIZ550S2E_App.map” -Xlinker --gc-sections -Xlinker --allow-multiple-definition -mcpu=cortex-m0 -mthumb -T “WIZ550S2E.ld” -L …/linkscripts &Heap:Default;Post Data;Default&Stack:Default;End;Default

However, I cannot find the sub linker options to turn those off.

Yesterday I was able to remove them by clicking “Restore Defaults”, but it also wiped out all the other include options, etc. Despite painstakingly adding everything back, I couldn’t ever get the project working again. Lesson: don’t click “Restore Defaults”! It will break your project.

oh. sorry

link was wrong. i attach the file again.

lpcxpresso-workspace-wiz550s2e.zip

Downloaded your project file. It compiles under LPCXpresso 7.5.0! Will keep testing and update you.

In comparing rev 1.3.0 to your project, I see the following differences:

  1. In each project folder there is a “.settings” folder with a file “language.settings.xml”. I suspect this file is key to getting a successful compile. I see it was included in the 1.0.2 project, but not the 1.3.0 project.

  2. I see some significant settings differences in the .cproject files for the “WIZ550S2E_App” and “WIZ550S2E_Boot” projects. Mainly the omission of [useByScannerDiscovery=“false”], which I suspect was added by a newer compiler.

My recommendations for the Github project https://github.com/Wiznet/WIZnet_Configuration_Tool:

  • Include the .settings/language.settings.xml files
  • Update the .cproject files with your copies. Since there are no absolute paths in this file I believe this will be safe.

Edit: one small thing you may want to take out. I see in the .cproj there is a reference to modbus, which I believe is a feature you haven’t released yet. The full line is:
listOptionValue builtIn=“false” value=“& quot;${workspace_loc:/WIZ550S2E_App/src/modbus}& quot;”
Note: I had to drop the surrounding </>. Take out the space after & symbol.

I have submitted a pull request on the WIZ550S2E to fix the compile issues. Makes your job easy.

I consider this issue closed. Thanks!