I cannot find the SOCKADDR or SOCKADDR_IN structure used in many functions such as bind http://www.keil.com/support/man/docs/rlarm/rlarm_bind.htm or recvfrom http://www.keil.com/support/man/docs/rlarm/rlarm_recvfrom.htm
I have included <RTL.h> header file in which there is no trace of SOCKADDR at all. Please Help!!!
"can I use the same program in keil to download it to my ARM7 ..."
Almost certainly not.
It's time to read the help files and look at the example programs.
Now I have got MDK 4.23 from here http://www.keil.com/arm/mdk.asp ; I still couldn't find SOCKADDR nor HOSTNET structures in RV31>INC>RTL.h . Is this because when I open the RTL.h it says in comments that the RL_ARM version is 4.12; does this also require an updated rl_arm library ? I have searched fathoms and fathoms in the Keil directory and the internet for examples that use such functions; although I have read the functions and their descriptions from the keil website. Can you provide some examples (from somewhere) :D ? I hope I am not being too greedy :|
"Now I have got MDK 4.23 ..."
You may have got it, but have you actually installed it?
Suggest you do a fresh install. RTL.h should be installed along with the rest and in should say it is version 4.23.
Ok, I'll do a fresh install. Am I correct in this : RTL has intentions to build functions similar to the functions in Linux, so that same algorithms can be implemented on ARM7 (this will really help me in my programming)
The basic TCP functions of RL and the method you communicate through them are somewhat different to the way you'd do it on something like linux.
As I mentioned before, you might want to check out the BSD socket functions. This relatively new collection of functions have far greater similarity to Linux.
The problem was that I was installing MDK 4.23 and then the rl-arm library v 4.12 , so the RTL.h was being replaced with an older version; I didn't know that in the MDK 4.23 the library came integrated, now I know. Thanks to you. After seeing the BSD example projects, I have a question : does BSD implementation compulsorily require a RTOS (as in the example they have included rtx.h and used functions prototyped in it)? As far as I know implementation of BSD on linux distributions,say Ubuntu requires an OS but otherwise for using BSD on embedded platforms, we wont require an OS (hope I'm correct.)
Err... Linux is an OS - surely?!
For RL-ARM, look at the feature list: http://www.keil.com/rl-arm/rl-tcpnet.asp
@Andrew : sorry didn't get you. Probably you are saying that linux is not an OS but a "kernel".
My question really is that can I use BSD functions without system call functions like os_tsk_create_user () (which is used in the BSD examples for task switching) or os_tsk_create() (which is used in the BSD example to create a timer_task); can't I just use the BSD functions in my main() function without any sort of task switching ?
"can't I just use the BSD functions in my main() function without any sort of task switching ?"
Not seen anything to say that the RTX is required with the BSD functions. A look at the header files suggests that TCP and/or UDP support must also be included (which would make sense).
Yes, BSD functions can be used without RTX in non-blocking mode.