I have purchased RL-ARM but I cant find the source code for TCPNet. Does it not come with the source code?
Thanks
No,
The source code for the TCP is not included.
I spent a little while searching for it when I bought a copy.
Keil do state it somewhere, but I can't remember where.
Can't find the explicit at:
http://www.keil.com/arm/rl-arm/
Looks like it's now stated by 'non-statement':
o RTX Real-Time Kernel (flexible royalty-free RTOS with source code) o Flash File System o TCP/IP Networking Suite o CAN Interface o USB Device Interface
i.e., source code mentioned for the RTX but not for the other components.
Its strange that they provide the source code to RTX, FlashFS, CAN but not TCPNET.
It sort of reduces the value of having the other source code.
I just wanted to look at altering the TELNET code, looks like I am going to have to write a TELNET server myself.
I always thought it was the full ource code that was supplied.
Sounds like I have to look for other TCP solutions. I had been thinking about buying the Kiel kit, but the no-source part isn't really acceptable in a high-volume product with required fast turn-around responses on requests.
I was also disappointed when I found that it wasn't supplied.
As part of the development, we wanted to add a few extras.
It does have some quirks and limitations - You just need to see some posts on this forum to realise that.
However, the tests I've carried out so far suggest that (for our tasks) it is reliable and certainly a lot faster than previous TCP stacks/platforms I've been involved with. Though thats probably got a lot to do with the fact that this is ARM.
Not having the source code is a bit of a pain. We are using the web server in our project, and I would like to add my own enhancements to the simple CGI script interface that the web server has, such as a simple looping function.
Yes I must admit I also thought the full source was supplied. It gave me that impression before I bought it, but it didn't explicitly say it.
Its the quirks and limitations that I also wanted to change. Not having the source code is very restrictive on complex systems.
Does anyone from Keil know why the source is not provided, and if that is likely to change?
You need to address that question direct to Keil - they don't (necessarily) monitor forum threads.
See: http://www.keil.com/forum/
But it would be useful to know their answer...
Thanks Andy, I will contact them directly and post their response then.
This is crap. Really. I was sure they supplied the sources. After installation I browsed (too) quickly through the dirs and found some sources unter TCP, so all was OK by me. But looking closer it turned out to be only some minor applications and drivers.
Not having the src makes the IP stuff close to unusable. The very first thing I had to do with the Keil USB code was to fix the broken string descriptors. (thanks again as always Tsuneo ;)
So what to expect from IP?
I agree that not having the source can make the TCPNET useless.
The TELNET code only works in line mode - thus if you need an interactive shell that uses single characters (character mode) it doesn't work - which I am sure is a common embedded requirement where people have developed serial based interactive shells. And as you don't have access to the source code - you have to completely rewrite TELNET from the start - rather than add the mode.
I have contacted my supplier about this, and they stated that I am not the only person who has had issues with the lack of source code. So much so that the supplier now states on their purchase orders that the source for TCPNET is not included.
I think it needs to be clearly stated on the Keil site, as it appears quite a lot of people mistakenly believe the source is included.
I have started to look at alternate TCP stacks - NicheLite is available royalty free with source code for the STR9 - Anyone else have any suggestions?
"NicheLite is available royalty free with source code for the STR9"
Actually, I think NicheLite is available for use with any ST ARM-based microcontroller: http://www.stdownloads.com/
I think most chip vendors provide some sort of "free" IP stack; eg, Luminary seem to use uIP and LWIP.
Keil provides some more links here: http://www.keil.com/tcpip/
A previous client used CMX micronet - which seemed OK, and came with source, IIRC: www.cmx.com/micronet.htm
I have spent time looking at stacks and SSL / TLS HTTP servers from the likes of Micro Digital and Allegro, and you get source code when you buy those products.
I can understand Keil wanting to protect their IP but not revealing the source code creates grief for genuine customers who have bought the software.
For instance I mentioned above that I wish the CGI command interpreter in their HTTP server could provide a simple loop function. To get around this, I'm having to implement my own loop function within cgi_func, which is going to cost me 1 or 2K of RAM to buffer the data to be looped. No major issue really, but just frustrating because if I had access to the HTTP server source, I could just add the facility to make it loop over the HTML source that it has in ROM (within WEB.C). (I know I can implement a loop by just embedding the HTML straight into the cgi_func code, but I dislike doing that.)
Another related issue is when you use FCARM to compile your HTML into WEB.C. All of the comments you put into your source CGI files (that start with #) are still compiled into WEB.C, thus wasting ROM. Err, WTF...?
I was so convinced that the source was supplied, that I have already requested money to buy it. If I do get my money, I will either have to find another supplier or possibly save the money and look for something free.
You don't invest several hundred thousand euro in a project without having full control of the sources.
It would be very interesting to hear what a Keil official has to say about this justified row.
I have just found a another topic on the lack of source code for TCPNet.
http://www.keil.com/forum/docs/thread9030.asp
Seems to me the website has not been clear for a long time over the lack of the TCPNet source code.