Are you ready for IPv6?
The worldwide transition to IPv6 networking is in progress. Many governments and organizations have already mandated IPv6. Are your connected products going to be ready?
If you need a full-featured traditional host stack with Ipv6 support, Freescale MQX software has a solution for you. You can even run Ipv4 and Ipv6 at the same time to ease the transition.
Check out www.freescale.com/mqx/ipv6 for details and documentation.
How to get IPv6?
Purchase the add-on at the link above (evaluation available – see below). The MQX TCP/IP stack (RTCS) supports IPv6 with this optional add-on patch. Purchasing the add-on gets you all the source code and a year of basic support.
How to Evaluate MQX IPv6?
Freescale offers a 90-day evaluation of a pre-compiled library for a single low-cost Freescale development platform and toolchain. In the future, evaluation versions are planned for a broader list of development platforms and toolchains.
To evaluate MQX IPv6 today, you will need:
- MQX RTOS v4.1.1
- FRDM-K64F, Freescale Freedom Development Platform for Kinetis K64
- IAR Embedded Workbench® for ARM® v7.10.3
Note: Although the evaluation only covers a single board and toolchain, MQX RTCS with IPv6 source code can be purchased for ALL Freescale MCUs and tool-chains supported by MQX RTCS.
If you need an evaluation library to support a different board or tool-chain, let me know!
1. Obtain a FRDM-K64F Freedom development module from Freescale or a Freescale-authorized distributor (Details at www.freescale.com/frdm-k64f).
2. Plug in the USB cable for the debug connection and the Ethernet cable for the network connection between the board and your computer.
3. Download IAR for ARM® v7.10.3 or later (30-day evaluation available at www.iar.com).
4. Install MQX RTOS 4.1.1 (Available at www.freescale.com/mqxrtos).
5. Now get the evaluation package. Go to www.freescale.com/mqx/ipv6.
6. Click the Download button, or download tab
7. Click IPv6 for MQX RTOS TCP/IP Stack (90-Day Binary Evaluation)
8. Read the software license agreement. If it works for you, click I Accept.
9. After you accept, the zip file (e.g. Freescale_MQX_4_1_1_IP6_EVAL.zip) will download.
After it downloads, extract the files to the root directory of the MQX 4.1.1 installation (a.k.a. <Freescale_MQX_4_1> directory). The default for Windows is C:\Freescale\Freescale_MQX_4_1\.
Note: The package does not overwrite or corrupt any MQX files. It just adds new ones.
10. Open the readme file readme_ip6_eval.txt. The steps in this guide are listed there also.
11. Build the BSP, PSP, RTCS, MFS, and SHELL libraries for FRDM-K64F
a. Open IAR Embedded Workbench
b. Go to File…Open…Workspace. Browse to <Freescale_MQX_4_1>\build\frdmk64f\iar
c. Open build_libs.eww
12. Got to Project…Batch Build… (or press F8)
Note, if you are trying to achieve the smallest code size, choose Release instead.
Note: Even though this evaluation provides separate pre-compiled RTCS and SHELL libraries enabled with IPv6. Building RTCS and SHELL is needed to copy over RTCS header files into the appropriate \lib\ folder, which is referenced by application projects.
Wait for the libraries to finish building.
13. Now, open an example project that has already been configured to use the special Ipv6-enabled rtcs and shell libraries that come with the evaluation.
Available example projects:
HTTP Server example
RTCS Shell example
For this tutorial, I will show the HTTP Server example.
Select Project...Add Existing Project... and browse to
14. Double click on the project name httpsrv_frdmk64f
Note: If you chose the Release option in the library builds:
Right click on the dropdown box above the project explorer and select the Int Flash Release. Otherwise chose Int Flash Debug, which is the default.
15. Choose Project… Make (or press F7) to build the project
16. Open the terminal program of your choice.
Choose the COM port for the virtual serial connection provided by the board. Choose 115200 baud.
17. Now, back in IAR. Choose Project…Download and Debug.
Wait for it to download to the target and bring up the debug session. Then click Go.
You should see this in the terminal:
Starting http server No.0 on IP 192.168.1.202 and fe80::200:5eff:fea8:1ca...[OK]
Shell (build: Oct 13 2014)
Copyright (c) 2013 Freescale Semiconductor;
18. Type help to see a list of other commands like ipconfig and ping.
Windows includes IPv6 support already. No configuration necessary. Your computer will already have an auto-configured link-local Ipv6 address.
19. Now open a web browser
20. Type in the Ipv6 address of the board surrounded by brackets [fe80::200:5eff:fea8:1ca]. The webpage served by the board should appear.
21. You’re done. You can now try out the shell example or use the Ipv6 evaluation library to evaluate it in your own application. See below.
Want to evaluate IPv6 in other applications?
1. In linker options of a user application project, replace the rtcs.a library by rtcs_ip6.a, and the shell.a library by shell_ip6.a
2. In C/C++ compiler preprocessor of a user application project, add defined symbol "RTCSCFG_ENABLE_IP6=1".
3. After that, the application is able to communicate over RTCS IPv6 communication.
Best of Luck!
Post any comments or feedback you have.