Getting Started with FRDM-RW612

Last Modified: 2024-08-28 12:55:00Supports FRDM-RW612 | MCUXpresso | Wi-Fi 6 | Tri-Radio

Contents of this document

  • 1

    Plug It In
  • 2

    Get Software
  • 3

    Build, Run
  • 4

    Create
  • 5

    MCUXpresso Developer Experience

1. Plug It In

Let's take your FRDM board for a test drive! You have the choice of watching the sequence in a short video or following the detailed actions listed below.

1.1 Get Familiar with the Board

The FRDM-RW612 board is pre-programmed with a Wi-Fi CLI blinking LED demo. This serves as a sanity check to verify that the device is working as expected out of the box.

1.2 Plug in the Board

Connect a type-C USB cable from connector J10 to a host computer or power supply to power up the board and run the demo program. At this point, you should see the RGB LED blinking at a steady rhythm.

2. Get Software

2.1 Install Toolchain

NXP offers a complimentary toolchain called MCUXpresso IDE. Please download MCUXpresso v11.9.0 or above.

Need help choosing?

Get MCUXpresso IDE

Get VS Code

Learn how to install VS Code for your host PC with the following tutorial. Want to use a different toolchain? No problem! The MCUXpresso SDK includes support for other tools such as IARKeil  and command-line GCC.

2.2 Jump Start Your Design with the MCUXpresso SDK

The MCUXpresso SDK is complimentary and includes full source code under a permissive open-source license for all hardware abstraction and peripheral driver software. You may install the MCUXpresso SDK directly form the MCUXpresso SDK website at mcuxpresso.nxp.com. Click on the button below to open this board's SDK builder.

GET MCUXpresso SDK

2.3 MCUXpresso Config Tools

The MCUXpresso Config Tool is an integrated suite of configuration tools that guides users in creating new MCUXpresso SDK projects, and also provides pin and clock tools to generate initialization C code for custom board support, it is fully integrated as a part of MCUXpresso IDE and also as a separate tool if using a different IDE.

Click the Get MCUXpresso Config Tools below to get the Config Tools installer.

Get MCUXPresso Config Tools

2.4 Programming and Provisioning Tools

The MCUXpresso Secure Provisioning (SEC) Tool is a GUI-based application provided to simplify the generation and provisioning of bootable executables on NXP MCU devices. We recommend all users to begin with the MCUXpresso Secure Provisioning (SEC) tool for trial run and mass production use. It supports secure programming and device provisioning on NXP's microcontrollers at the production stage.

After downloading the tool, you can find the user guide under the ‘Help’ tab. Follow the instructions for your board in the ‘Processor-specific workflow’ chapter.

SEC Installation

3. Build, Run

If one or more of the demo applications or driver examples sounds interesting, you're probably wanting to know how you can build and debug yourself. The Getting Started with MCUXpresso SDK guide provides easy, step-by-step instructions on how to configure, build, and debug demos for all toolchains supported by the SDK.

3.1 Build and Flash Application Using MCUXpresso IDE

The following steps will guide you through the hello_world demo application using MCUXpresso IDE for the Cortex-M33 application. The MCUXpresso IDE installation and the SDK for the RW-Series can be found at the section Get Software of this Getting Started guide.

  1. Find the Quickstart Panel in the lower left-hand corner
  2. FRDMRW612-IMG3

    FRDMRW612-IMG3
  3. Then click on Import SDK example(s)
  4. FRDMRW612-IMG4

    FRDMRW612-IMG4
  5. Click on the FRDM RW -Series board to select an example that can run on that board, and then click on Next
  6. FRDMRW612-IMG5

    FRDMRW612-IMG5
  7. Use the arrow button to expand the demo_apps category, and then click the checkbox next to hello_world to select that project. To use the UART for printing (instead of the default semihosting), select UART as the SDK Debug Console checkbox under the project options. Then, click on Finish
  8. FRDMRW612-IMG6

    FRDMRW612-IMG6
  9. Select the project and build it by either clicking on the “build icon” in the shortcuts provided above or by clicking “Build” in the Quickstart Panel
  10. FRDMRW612-IMG7

    FRDMRW612-IMG7
  11. The project should build without presenting any errors or warnings in the console
  12. FRDMRW612-IMG8

    FRDMRW612-IMG8
  13. Connect the board to your computer with the micro USB to J10 ‘MCU-LINK’ port
  14. FRDMRW612-IMG9

    FRDMRW612-IMG9
  15. Download the application to your board by either clicking on the “debug” icon above or clicking on “Debug” in the Quickstart Panel
  16. FRDMRW612-IMG10

    FRDMRW612-IMG10
  17. Select the MCU-Link J-Link debug probe
  18. FRDMRW612-IMG11

    FRDMRW612-IMG11
  19. Open up a serial terminal to be able to see the application’s output. Select the “Terminal” window and press the “new terminal” icon
  20. FRDMRW612-IMG12

    FRDMRW612-IMG12
  21. Choose a “Serial Terminal” and then set the UART settings to 115200 baudrate, 8 bit data size, no parity and 1 stop bit. Press OK
  22. FRDMRW612-IMG13

    FRDMRW612-IMG13
  23. Run the application by pressing the “run” icon. See the output printed on the terminal
  24. FRDMRW612-IMG14

    FRDMRW612-IMG14

3.2 Build and Flash Application with Alternative Toolchains

MCUXpresso for Visual Studio Code (VS Code) provides an optimized embedded developer experience for code editing and development. Learn how to build and flash an application with VS Code.

Using a different toolchain?

This demo is also available for IAR and KEIL.

4. Create

4.1 Clone an Example Project from MCUXpresso IDE

The following steps will guide you through the manipulation of the general-purpose outputs. The example sets up a CTimer to generate a PWM signal and change between two LEDs.

  1. Find the Quickstart Panel in the lower left-hand corner and click on Import SDK example(s)
  2. FRDMRW612-IMG15

    FRDMRW612-IMG15
  3. Click on the FRDM-RW612 board to select that you want to import an example that can run on that board, and then click on Next
  4. FRDMRW612-IMG16

    FRDMRW612-IMG16
  5. Use the arrow button to expand the driver_examples category, then expand the ctimer examples, click on the check box next to ctimer_match_interrupt_example to select it. To use the UART for printing (instead of the default semihosting), Select UART as the SDK Debug Console checkbox under the project options. Then, click on Finish
  6. FRDMRW612-IMG17

    FRDMRW612-IMG17
  7. Click on the “frdmrw612_ctimer_match_interrupt_example” project in the Project Explorer View and build, compile, and run the demo as described in the previous section
  8. FRDMRW612-IMG18

    FRDMRW612-IMG18
  9. You should see the GREEN and RED LED changing back and forth
  10. Terminate the debug session

4.2 Clone an Example Project Using MCUXpresso Config Tool for 3rd Party IDE

The following steps will guide you through the manipulation of the general-purpose outputs. The example sets up a SCTimer to generate a PWM signal and change a LED brightness.

  1. Open the MCUXpresso Config Tool
  2. In the wizard that comes up, select the “Create a new configuration based on an SDK example or hello word project” radio button and click on Next
  3. FRDMRW612-IMG19

    FRDMRW612-IMG19
  4. On the next screen, select the location of the MCUXpresso SDK . The SDK package must be unzipped beforehand. Then select the IDE that is being used. Note that only IDEs that were selected in the online SDK builder when the SDK was built will be available and click on clone select example. Then select the project to clone. For this example, we want to use the gpio led output project. You can filter for this by typing “ctimer” in the filter box and then selecting the “ctimer_match_interrupt_example” example project. You can then also specify where to clone the project and the name. Then click on Finish
  5. FRDMRW612-IMG20

    FRDMRW612-IMG20
  6. After cloning go to the directory you selected and open the project for your IDE. Import, compile, and run the project as done in previous sections
  7. You should see the RED and GREEN LED changing back and forth
  8. Terminate the debug session

4.3 Use MCUXpresso IDE Pins Tools

  1. Open the pins tool by selecting “ConfigTools” on the top right hand of the file explorer window and then select “ Open Pins”
  2. FRDMRW612-IMG21

    FRDMRW612-IMG21
  3. The pins tool should now display the pin configuration for the ctimer project
  4. FRDMRW612-IMG22

    FRDMRW612-IMG22

4.4 Use the Pins Tools to Modify the LED Routed Pin

  1. We’ll use MCUXpresso IDE for the rest of the instructions, but the same steps can be done in MCUXpresso Config tools for third party IDEs. In the Pins view deselect “Show dedicated pins” and “Show no routed pins” checkboxes to see only the routed pins. Routed pins have a check in a green box next to the pin name. The functions selected for each routed pin are highlighted in green
  2. FRDMRW612-IMG23

    FRDMRW612-IMG23
  3. In the current configuration, GPIO_12_LED_GREEN are routed as the outputs of the CTimer. Let’s add the pin configuration to enable the GREEN LED
  4. Select “Show no routed pins” to see the other options. To enable the green LED, search for GPIO_12 and select GPIO_12, 0 under the GPIO column
  5. FRDMRW612-IMG24

    FRDMRW612-IMG24
  6. Next configure the GPIO pin as an output in the “Routing Details” window
  7. Now it’s time to implement these changes into the project by exporting the new updated pin_mux.c and pin_mux.h files that are generated by the Pins tool. Click on Update Project in the menu bar
  8. FRDMRW612-IMG25

    FRDMRW612-IMG25
  9. The screen that pops up will show the files that are changing and you can click on “diff” to see the difference between the current file and the new file generated by the Pins tool. Click on “OK” to overwrite the new files into your project
  10. FRDMRW612-IMG26

    FRDMRW612-IMG26
  11. The screen that pops up will show the files that are changing and you can click on “diff” to see the difference between the current file and the new file generated by the Pins tool. Click on “OK” to overwrite the new files into your project
  12. FRDMRW612-IMG27

    FRDMRW612-IMG27
  13. Let’s add some additional code to the example. Open simple_match_interrupt.c file and add the following macros for the third ctimer output
  14. FRDMRW612-IMG28

    FRDMRW612-IMG28
  15. Some additional code to be implemented will be the third ctimer’s callback, this can be copied from ctimer_match1_callback and modify the content to match2. To be able to visually identify the new ctimer, we will remove one of the previous ctimers as shown
  16. FRDMRW612-IMG29

    FRDMRW612-IMG29

    FRDMRW612-IMG30

    FRDMRW612-IMG30
  17. The main function will need to include the initialization and set up of the Ctimer
  18. GS-FRDMRW612-IMG32

    GS-FRDMRW612-IMG32
  19. Build and download the project as done in the previous section
  20. Run the application. You should now see the Green, Blue and RED LED blinking back and forth
  21. Terminate the debug session
  22. 5. MCUXpresso Developer Experience

    Check out each of the following sections, to learn about the ecosystem provided for flexible protyping and development. In the video below, we will introduce you to the FRDM platform, the full-featured EVK and the compatible shields for extended capabilities. In addition we will walk you through our Application Code Hub portal where we provide numerous application examples through NXP's Github.

    5.1 FRDM Platform, Full feature EVK and Shields

    For quick prototyping platforms, we offer both the low-cost FRDM platform and the full-featured EVK.

    FRDM Development Boards come with standard form factor and headers, easy access to MCU I/Os, on-board MCU-Link debugger and a USB-C cable. Our full features evaluation kits include extended I/O and interface access, extendable with WiFi and additional MCU-Link features.There are also many compatible Click Board and/or Arduino shields. For those that are supported with an Open CMSIS Pack examples may be available on ACH, but if not many of them are easy to use via serial interface like I2C, SPI and UART, for which we provide drivers with examples in the MCUXpresso SDK.

    5.2 Application Code Hub

    The Application Code Hub further enhances our MCUXpresso Developer Experience by giving developers an interactive dashboard to quickly locate software. Visit the ACH  today to start exploring or discover additional details and benefits of the new interactive Application Code Hub.

    Software accessible from Application Code Hub is located in NXP’s GitHub repository  so it can be easily accessed and cloned from that location directly.

    5.3 Demo Walkthrough

    The following demo walks us through importing a project from ACH using a system based on the FRDM platform with a motor control shield and a low cost LCD. Although your evaluation board may differ from this system, the following steps can be replicated and used for all supported platforms.

    System Design Guides

    Terminal Application

    Toolchains

    Debugger Firmware

    Documents and Videos

    Documents and Videos

    A series of indepth videos that will take you through all of the essential steps to develop using VS Code for MCUXpresso.

    Tools and References

    Tools and References

    Step-by-step reference guides to help you get started from the installation process all the way through working with Zephyr, Cmake Projects, OpenCMSIS Packs and debug analysis tools.

    Support

    Forums

    Connect with other engineers and get expert advice on designing with the FRDM-RW612 evaluation board using our community sites.