This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

RLARM Source code

I have purchased RL-ARM but I cant find the source code for TCPNet.
Does it not come with the source code?

Thanks

Parents
  • 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?

Reply
  • 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?

Children
  • "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.

  • RL-TCPnet source code is available as a separate package.

    RL-TCPnet source code is not needed to adopt the system to other targets. Therefore it is not included as a standard option.

  • I'm not good enough to read your web pages. I can't find any note that there is a separate package containing the TCP-IP source code.

    Does this hidden software package that I don't seem to be able to find have similiar costs as the Real-Time Library? And yet one more package that needs to be multiplied with number of developers, even if all developers but one just links with a modified object file or library?

    So about €4000 + €4000 + €4000 for compiler + real-time library + source in case a project needs to be moved to and/or extended with another developer, in the same way that building a project with a modified RTX kernel requires every developer in the project to have a license of the real-time library, or migrating a project from one developer to another?

  • The Telnet server has been successfully used with the third party Basic interpreter as a Telnet console. There is an interface which allows you to print unsolicited messages on the Telnet client's screen.

    I think that you can still use the Telnet client with your application. Maybe you will have to stop thinking that you have a clean streaming device like the UART, because the Telnet server is not that.

  • I am very interested in seeing more details on this.

    Can you please provide a link to where we can see further information - Costs etc.

  • Franc,

    In regards to the TELNET server. I believe TELNET was originally character based. I believe The addition of line based mode was actually a later option to improve the protocols efficiency when the character mode was not needed.

    See
    RFC318 - Telnet Protocols
    RFC1184 - Telnet Linemode Option

    So i think it should be able to work more like a UART?

  • Hi,

    Currently the TCPnet Source code option is not shown on the website. In fact we have only just decided to introduce the option due to customer requests.

    We are now changing a number of the RL-ARM web pages to provide more detail, both technical and commercial for the RL-ARM components. I do agree with you that the current pages do not give you enough information so please bare with us as we update them.

    The source for TCPnet will be made available as a separate 'add-on' to the standard RL-ARM package. The reason for this approach is that from customer feedback few users need the TCPnet source code, therefore by offering it as a separate item we are able to maintain the low price of RL-ARM.

    Per - on your other question about how to handle this within your development team, it would probably make sense to discuss that off line via email or phone.

  • Hello Reinhard,

    Something else that annoyed me a great deal lately is FlashFS's RAM "drive". Now, I'm working on a system that exports its FAT12 to the outside world and should not allow direct access to the SD card, so I use RAM as an intermittent file system. it took me a while to figure that the RAM "drive" is not a FAT compatible device; hence, it is formatted to 0 (no boot, root, FAT...) and basically it has its own administration decoupled from an actual file system which of course affects all system calls. it is nothing more than a piece of RAM that can be addressed as a file system. you introduce this "drive" alongside the facilities to control the contents of an SD card, external Flash ext., which is a little misleading. I now need to implement my own FAT12 file system - have I read the little letters in the documentation, it is likely that I would have chosen another solution.

  • The RL-ARM Telnet server supports both, character and line mode input. It has it's own buffer for each telnet connection, a simple command line editor and a command history buffer, which allows you to retrieve the most recently typed commands with UP/DOWN cursor keys. It also handles the Telnet Control character sequences, negotiates the Telnet options etc. You see this is much more than a simple UART-like streaming device.

    If you need a simple UART-like streaming, you can still implement it using TCPnet socket. (cca. 20 lines of additional code). In this case you don't need a Telnet server.

  • Re. Tamir

    The RL-ARM ram drive is a drive, which is able to store/retrieve files. It is designed as simple as possible. The user needs it's functionality, not it's implementation. As far as the functionality is concerned, the user needs to write/read files to/from the ram drive. And the RAM drive does just this. It is really fast, small code-sized and very efficient.

    Your concept to use the RAM drive as a shadow image of an SD card is wrong. Insisting in this solution, you will have a lot of troubles. Do you have in mind that the PC has it's own file/FAT caching, and might simply miss the change written to SD from embedded system. If this change is in the FAT, an SD card file system corruption is highly likely to happen. On the other hand, the RL-ARM FlashFS also implements it's own FAT/data caching...

  • Franc,

    Ah I see, I thought the TELNET server was much simpler, more like the versions I have seen the source code for on the Internet.

    I do want my TELNET server to negotiate a few of the options but only the bare minimum echo etc, and I didn't want a command buffer as I wanted the individual programs to handle this.

    I had started down the route you suggested but thanks anyway!

    Stuart.