How to set K60's IP address during using the ETHERNET function?
Hello Ding Zhang,
Are you using MQX or any Stack??
If you are using MQX, please chech the below threads
Retrieving dynamic IP using DHCP
How do you make a web server reachable through DNS (by name, not IP)
Have a great day, Sol -----------------------------------------------------------------------------------------------------------------------Note: If this post answers your question, please click the Correct Answer button. Thank you!-----------------------------------------------------------------------------------------------------------------------
But I'm not using any OS or stack. I'm just using K60+Mac-PHY Chip+RJ45 Net Interface.
How can I change the IP address of the K60 device in this situation?
thx a lot.
The device doesn't have an IP address - the IP address is a software networking concept and can be IPv4 and/or IPv6.
Do you have any network stack at all?
Kinetis: µTasker Kinetis support
K60: µTasker Kinetis TWR-K60N512 support / µTasker Kinetis TWR-K60D100M support / µTasker Kinetis TWR-K60F120M support
For the complete "out-of-the-box" Kinetis experience and faster time to market
When I want to send some IP Protocol Data from computer to K60, but in the IP Protocol Frame data, I need a aim IP address to send the data to.
How can I do so without an aim IP address ( which is the IP address of K60 device)?
I'm not using any network stack. just the PC linked to the K60 device via a PHY to MAC chip.
thanks a lot.
Ding, if you are not using any network stack, how are you expecting to be able to make a connection to your K60? There are several examples in the KSDK folder that you can use as a starting point. For example, if you are using KDS 3.0 with KSDK 1.2, you can load the demo found at C:\Freescale\KSDK_1.2.0\middleware\tcpip\rtcs\examples\eth_to_serial\build\kds\eth_to_serial_twrk60d100m. I don't know if your chip is the same as the one in the tower board, but this might still get you started. Then you'd go to the project properties dialog, and change the CPU preprocessor definition to exactly match the one you are using on your board. Are you using a custom PCB or a development / tower system?
THANKS a lot for replying me.
U can see the big DP83848c Chip in the middle, it is a chip for changing bit stream into a RMII data, which can fit K60's RMII interface. Is this something u call as the network stack?
2. Can I set K60's IP address in this PCB or situation?
3. By the way, I'm using IAR as developing environment.
DING, The network stack is software that is run on the K60. It contains all the software to communicate over Ethernet. You cannot just set an IP address and talk over Ethernet. It's way more complicated than that. You need a network protocol software stack to do it.
It is called a stack since it is designed in layers, each layer doing a specific function. This protocol stack can either be written by you, purchased or found online in open source software. There's a network stack included in MQX and the Kinetis SDK.
My best way to set the IP address is to use the Kinetis SDK to develop the software on K60, and run the MQX system on K60, which can have the TCP/IP protocol controller to set IP address and do the data receiving and transmitting, right?
But if I'm not running any OS on K60. After setting some register, the K60 can work with the function of RMII data receiving and transmitting. All I need is an OS to deal with the data from MAC layer, like IP datagram, right?
Zhang Ding, The Network stack provides the mechanisms to communicate with all the layers involved in TCP/IP over Ethernet including the MAC layers and the correct formation of the IP datagram. Your application will need to correctly call the functions in the network stack.
The network Stack requires functions normally provided by an operating system. The stack will need operating system support functions like allocating memory buffers, allocating Timers and registering interrupt functions. These don't need to be an actual OS. You just need to provide the functions to support this functionality.
MQX is an OS. Specifically a Real Time Operating System(RTOS). It provides both the network stack as well as the operating system support functionality. It is just one way to create your application. There are several free and commercial RTOS available. You could also write your own OS.
You will also need to use or create a protocol that is recognized by the device you are trying to talk to. Just setting an IP address and stuffing data into a datagram is not enough to get communications up between 2 devices.
Hi Ding, first of all, I think you should unmark my answer as correct. I haven't solved your problem, nor do I think I'm capable of offering a correct answer. Mark Butcher or someone from FSL will be able to give you more detailed suggestions.
Some side comments:
Really thank you for your answering.
I've searched and read the datasheet and K60 Sub-Family Reference Manual for the whole day. I still can't find any clue for setting IP address.
So i believe i need an OS(like MQX) to run on K60 to set the IP address.
BTW, can you give me a link of the IAR Ethernet demo?
Thank you again for your help !
This is where it is on my system: C:\ProgramData\IARSystems\EmbeddedWorkbench\DownloadedExamples\arm\7.30.3\Freescale\Kinetis\TWR-K64F120M\rtcs\examples\httpsrv
To use the Ethernet module, you need to have a some background knowledge of Open software interconnection Model (short OSI model) which composes of 7 layers - Physical, Data Link, Network, transport, session, Presentation and Application Layer. The users above had mentioned about software stack or OS such as MQX had the OSI model implemented. The snapshot of schematic you provided is the Physical and data link combined, all they do is ensuring transmit and receive 1's and 0's. The IP addr, data etc are all embedded in the 1's and 0's, that's why you will need a software stack to encode and decode them. Information about IPv4 can be found here: IPv4 - Wikipedia, the free encyclopedia
Here is the link to obtain the Kinetis SDK: Software Development Kit for Kinetis MCUs|Freescale There is a Ethernet software example for TWR-K61 or TWR-K60 platform.
As for the snapshot of the schematic, you need to refer to our TWR MCU (K60D or K61) and TWR-SER2 for proper signals connection.
This is one of the wierdest threads I have seen.
First of all I think that it will be worth reading at least the first three or four chapters of the classic book "TCP IP Illiustrated" TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series): W. Richard Stevens: 9780201633… so that at the basic terms and concepts are understood.
A few pointers :
1. Ethernet works with MAC addresses and not IP adresses. There is no such thing as an IP address for Ethernet (and Ethernet protocol)2. Networking doesn't need IP, although nowadays most traffic is based on IP and so IP addreses are required. In fact it is possible to communicate between HW and PCs without IP addresses - one example is just using an Ethernet protocol as is done by uNetwork: http://www.utasker.com/docs/uTasker/uNetwork.PDF which is incorporated in the uTasker stack and allows distributed processing in local networks (that is, a software runs on multiple processors/nodes as a single OS without the tasks involved needing to know on which physical nodes other OS tasks in the networked software are actually running on. It is possible to also communicate with PCs like this, although not using the typical IP ports which the vast majority of applications make use of.
3. Ethernet may also use multiple MAC addresses (some EMACs include multiple unicast MAC address support, which helps in such situations). Multicast MAC addresses are also often used in addition (typically together with IP though).
4. A network node based on IP will need an IP address. In the simpest case an IPv4 address. However often there wil be multiple IP addresses - a node can have multiple IP unicast IPv4 and/or IPv6 addresses if it wants (not to mention multicast group addresses). IPv6 will tend to have multiple IPv6 addresses - at least a link-local address and usually a global address too.
Since WANs still often don't support native IPv6 some sort of tunneling is often in operation which may be carrying IPv6 inside IPv4: http://www.utasker.com/docs/uTasker/uTaskerIPV6.PDF
So essentially no IP is needed for communication but for standard practial networking it makes sense to have also an IP network stack that will just allow everything to work for you when needed. Stacks vary in the number of protocols, features, versions of protocols etc. they support (there are thousands which are possible and some which are essential). Before making decisions on embedded networking on does need to know what one wants to be able to do....
Multi-homed networking: http://www.utasker.com/docs/uTasker/uTaskerNetworking.pdf
Distributed System Networking: http://www.utasker.com/docs/uTasker/uNetwork.PDF
Really thanks all the bros to apply me~!
Here is my solution:
Finally, I use the RT-OS call RT-Thread which is a Chinese MIT Lisence RTOS, carrying LWIP1.4.1 (this is an IP stack).
Using this RTOS and the IP stack it includes, i managed to use the IPv4 protocol including TCP and UDP
I have similar issue/problem I don't know much about Stack. Can you please tell me how you sorted out your problem. I only done Ethernet initialization part,Putting data into the buffer and enabling transmission & reception. How can I include TCP/IP stack in my project?
an ip stack is necessary. i suggest you finding an OS with Lwip which is a kind of ip stack. An OS with an ip stack can help you
Retrieving data ...