Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

SimplePublish for SAM C21 Xplained Pro

The QSL includes a SimplePublish example for the Atmel SAM C21 Xplained Pro evaluation kit. This is given as an Atmel Studio 7 project based on the Atmel Software Framework (ASF). The main.c code itself is similar to the one for RPithe Raspberry Pi, with the addition of a watchdog timer and initialization of a second serial port to enable debug prints (the watchdog is for demonstration purposes only, and can be removed as the user see fit).

Although the code is written specifically for the ATSAMC21J18A on the SAM C21 Xplained Pro evaluation kit, it should be pretty straightforward to port it to similar architectures since the ASF is used. Correctly configuring the available serial ports (SERCOM) in serial.c/.h should be the only thing that might require some adaptation.

Info

The example was developed on Atmel Studio Version 7.0.1006 with ASF version 3.32.0.

...

Note

Windows is the only supported OS for the latest Atmel Studio 7.

Tip

ASF is included in Atmel Studio 7 and does not require a specific download, but you can use the Extension Manager (Tools->Extension Manager) to update it.

Prepare the SAM C21 Xplained Pro

...

The Xplained Pro has three extension headers (EXT1, EXT2, EXT3) with pins as listed in Table 1: Connect the mote to one of the headers, as per the mapping in Table 2. In Figure 2 you can see the mote connected to EXT1, but it does not matter which one you use: The pins for UART RX/TX on all three headers are all connected to the same pins on the SAM C21.

...

Navigate to the SimplePublish example directory at examples/samc21_xplained_pro/SimplePublish and open the SimplePublish.atsln solution file in Atmel Studio 7. This should open the project with everything set up for you. Since the Xplained Pro has an embedded debugger, you do not have to select any tool. : Atmel Studio should detect that the board is connected via USB.

Now, simply press the  symbol (Ctrl+Alt+F5) to compile and run the program, and you should see prints appearing on the debug terminal you opened.

Port to Similar Platforms
Anchor
sec_samSimilarPlatforms
sec_samSimilarPlatforms

Although the provided code is written specifically for the ATSAMC21J18A on the SAM C21 Xplained Pro evaluation kit, it should be pretty straightforward to port it to similar architectures that support the same ASF modules. Correctly configuring the available serial ports (SERCOM) in serial.c/.h should be the only thing that might require some adaptation. We therefore give a quick guide on how to set up a new ASF project.

Create New Project

  1. File > New > Project... (Ctrl+Shift+N)
  2. Under C/C++, select GCC C ASF Board Project.
  3. Select project name and location of your choice
  4. Solution: Create new solution.
  5. (Optional) Check the Create directory for solution box if you want to place the project folder within a solution directory that you also have to provide a name for.
  6. Press Ok
  7. Select the correct device and board, and press Ok.

Add ASF Modules

  1. Open the ASF Wizard: ASF > ASF Wizard (Ctrl+W)
  2. Select the correct project in the drop down menu (if not already selected).
    You should now see two windows with Available vs Selected Modules.
  3. Select and Add >> all the modules listed in Table 3.

    Note

    Make sure to select the correct mode when adding certain modules (you can change the mode of already selected modules too).

  4.  Press Apply.

 

Name

Anchor
tab_ASFmodules
tab_ASFmodules

TypeModeComment
Generic board supportDriver Selected by default
Delay routinesServicecycleUsed to implement dn_sleep_ms
PORT - GPIO Pin ControlDriver Selected by default
RTC - Real Time Counter DriverDrivercount_polledUsed to implement dn_time_ms
SYSTEM - Core System DriverDriver Selected by default
WDT - Watchdog TimerDrivercallbackUsed to implement watchdog functionality (optional)

Table 3: ASF modules used in the SimplePublish example code.

Create folder

Add as link

Add to Directories in Toolchain

Restart Atmel Studio (Directory Bug...)

Add Platform Specific Files

Add as copy

Make necessary adaptations