We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
My target board have two MACs, one in MCU chip,the other is connect to MCU local bus. I like to use RL-TCPNET in my board. How to use?
To do what?
2 separate links?
A "bridge"?
Or what?
As far as I understand, TCPnet works as a singleton, thus you can instantiate only one stack.
If that is what you want, then you just chose one MAC in your system, use it and drop the other. The way to do it is by following some example projects which come with TCPnet.
If instead you really want to use two stacks, one for each MAC and use them to receive-send packets in an independent way up to application layer ... well that is complicate.
If you really want using TCPnet the best solution is to purchase a licence for its source code and then modify it. At this point you could duplicate data structure and callback functions (and maybe also high-level API).
Regards, Marco.
Given the ridiculously high cost involved to get access to the TCPnet source, I really can not recommend that route.
Any nonstandard use of the stack will be way outside the boundaries of Keil support, so it would be much better to go with another stack where you can discuss any problem on a web forum and get other interested people to share the work load.
"... and then modify it."
You really need to discuss that with Keil to ensure that it is both technically feasible and that the licence terms allow it.
There are, of course, plenty of other TCP/IP stacks available, both commercial and "free"; eg, see: http://www.keil.com/tcpip/
Per and Andy, you raised good points.
Here are my comments.
To Per:
I agree that if you need to modify it, then it is much better choosing another TCP/IP stack, possibly a free one.
I did not mention before because the question was about TCPnet. And I wrote: "If you really want using TCPnet ..."
To Andy:
I dont know the internals of TCPnet, but I have seen how it works on the outside and I have also seen the internals of RTX.
For this reason, I think it should be technically possible to separate data structures as I wrote ealier.
If that is allowed by the licence ... OK, that I dont know.
But I would expect that if you licence source code you can modify it, compile it and use in your products as long as you dont make the code or the library available.
A licence is a legal agreement; one really needs to check the specific legal terms - it is not sufficient to rely upon "expectations" (especially as a non-lawyer!)
"I would expect that if you licence source code you can modify it..."
Especially for such a significant modification, I wouldn't rely on such an assumption...
Dear Andy,
thank you for making clear that a licence is a legal agreement. I fully agree with you in that.
I dont know the software product TCPnet source code and I dont know its licensing details, so when I wrote "assume" I probably used a wrong word. I am sorry, i did not want to mislead.
What I meant is that it is typical to gain the legal right to make some modifications to a software product taken in licence in source code.
In general they cost a lot of money and if were not possible make changes, then there would be no reason to licence the sources.
At least, that is my experience with RTOSes, stacks, graphical libraries etc. of which I have managed the licensing.
However, should one have interest in licensing a specific software product, the best thing to to is contact the authorised dealer to clarify any detail.
neither do I!
And that is the point: we don't know the precise terms, so we must advise the OP the he needs to discuss this specifically with Keil themselves.