I’m interested in trying to get started on the STR912 and I see you have an example that uses the FreeRTOS and the web server. Will I be able to write application code (serial port handler and some CGI stuff) using the IAR 32k eval, or will I already be out of space. I’m a hobbyist so purchasing the full up IAR workbench is out of my price range.
As downloaded the, with medium optimisation and THUMB mode, the code size is nearly 30K. This is quite near the limit but does include a lot of demo application tasks that could be replaced by your application code. I think it would be marginal. Regards.
Hi Richard, Thanks for the quick response. I downloaded the latest IAR Workbench from IAR, and the latest FreeRTOS. When I compile I get several fatal errors from files that can not be located: FreeRTOS.h, heap_2.c, list.c, port.c, portasm.s79, queue.c, tasks.c. Maybe you have a suggestion, don’t have those files, possibly they were renamed when revisions changed. Thanks,
I just tried compiling a clean install of the V4.1.1 zip file and it built with no errors or warnings. Did you make any changes to the project file? A little while ago somebody reported a similar problem at it was traced to incompatible IAR workbench versions. At some point the format in which project files is stored was changed. Using the ‘wrong’ version enabled you to open a project file but you lost all the compiler settings. In your case the lack of FreeRTOS.h would seem to indicate that the include path had been lost, but I don’t know why the .c file would not be located. Do you have both the FreeRTOS/Demo and the FreeRTOS/Source directories installed? It is the files from the FreeRTOS/Souce directory that appear to be missing. Which version of the IAR Workbench are you using? I just tired it in V4.40A. Regards.
Reinstalled the IAR workbench 32k limited (v4.40A) and the FreeRTOS V4.1.1 and no more error messages from the compiler. Now I get a link error: Too much object code produced (more than 0x8000) for this package, are there any defines that should be removed to make the code smaller? thanks again.
When I build the project I get 30K so it should build with the 32K limited kickstart version. I also get 6K of const data, so maybe this is why? Where does this const data come from? You could try removing some of the standard demo files. For example, to remove flop.c, remove the file from the project, then you should get two link errors from main() where the flop tasks are checked (vStartMathTasks()) and tested (xAreMathsTaskStillRunning()). Removing these two functions calls also will allow it to build and function again.
The const data will be the html pages which are built into the binary image. Regards.
can the html pages be loaded apart from the executable this would free up space for program development? are there any other demo files that could be removed? thx
P.S. removed flop.c from the project and I still get the message too much object code…
You can also remove blockq, comtest, dynamic, integer, pollq, semtest (all .c). These are all standard demo tasks. You will have to remove the functions calls to create the tasks and the function calls that check the tasks from main.c also. In addition you could remove the flash tasks (they just flash leds’), partest.c (just LED IO) and LCD.c and the creation of the check task in main. This would leave you with just the TCP/IP task.
Let’s go back to the orignal question. I was under the impression the code should compile as is using thumb mode to 30K, what’s the story?
Looks like my original reply was a bit off the mark. I just looked at the code size as the executable size of 29K – forgetting to add in the const data (html pages). Sorry for that. As pointed out in this thread a lot of the code are just standard demo tasks, not relating to the WEB server, so can be removed. This might not free up enough for your app though. Regards.
Thanks for the update. Is there a port to Rowley crossworks, it’s going to be a bit pricey to get buy the full up IAR tools set. thanks everyone for the comments…
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.