Harmony v3 Drivers on SAM D21 Using FreeRTOS: Step 3

Step 3.1: Configure LED Pin

In this step, the User LED on the SAM D21 Xplained Pro Evaluation Kit will be configured according to the PB30_GPIO_LED design schematic below.

user_led_connection.png
user_led_schematics_1.png
user_led_schematics_2.png

1

Select the Pin Settings tab and then scroll down to PORT pin PB30 (Pin Number 59) in the Pin ID column and configure PB30 as an output pin for LED functionality as shown below.

led_pin_configuration.png

The LED on the SAM D21 Xplained Pro board is active low. Configure the LED in the default OFF state by configuring the Latch value to High.

Step 3.2: Rename Default File

1

Under the Project Graph tab, click on System, and give a name of your choice to the default template main file generated by MHC.

main_file_name_setup.png

The name of the default main.c is changed to main_d21.c to indicate that the referred main.c is for the SAM D21 getting started training module.

Step 3.3: Configure Application Threads

1

Go to the Project Graph and select Harmony Core Service.

harmony_core.png

2

The Configuration Options tab shows that for a Harmony Project, MHC automatically enables generation of application files (app.c and app.h).
Change the Number of Applications to 3.

app_names.png

3

Expand Application 0 Configuration and change the Application Name to "app_sensor_thread". This will create RTOS thread _APP_SENSOR_THREAD_Tasks.

Expand RTOS Configuration to configure Stack Size, Task Priority, and Task Delay. For this thread, use the default values.

app_sensor_thread.png

4

Expand Application 1 Configuration and change the Application Name to "app_eeprom_thread". This will create RTOS thread _APP_EEPROM_THREAD_Tasks.

Expand Application 2 Configuration and change the Application Name to "app_user_input_thread". This will create RTOS thread _APP_USER_INPUT_THREAD_Tasks.

Accept the default RTOS Configuration for both threads.

app_eeprom_userinput_thread.png



Next Step >

© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.