Skip to content

Commit 8ce400e

Browse files
committed
boards: microchip: add PIC32CX SG61 Curiosity Ultra Evaluation Kit support
Add initial support for the Microchip PIC32CX SG61 Curiosity Pro board Product page: https://www.microchip.com/en-us/development-tool/ev09h35a Signed-off-by: Muhammed Asif <[email protected]>
1 parent adc3120 commit 8ce400e

File tree

8 files changed

+221
-0
lines changed

8 files changed

+221
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_PIC32CX_SG61_CULT
5+
select SOC_PIC32CX1025SG61128
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
board_runner_args(jlink "--device=PIC32CX1025SG61128" "--speed=4000")
5+
6+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
board:
5+
name: pic32cx_sg61_cult
6+
full_name: PIC32CX SG61 Curiosity Ultra
7+
vendor: microchip
8+
socs:
9+
- name: pic32cx1025sg61128
57.3 KB
Loading
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
.. zephyr:board:: pic32cx_sg61_cult
2+
3+
Overview
4+
********
5+
6+
The PIC32CX SG61 Curiosity Ultra evaluation kit is a hardware platform
7+
to evaluate the Microchip PIC32CX SG60/SG61 microcontrollers, and the
8+
evaluation kit part number is EV09H35A. The evaluation kit offers a
9+
set of features that enables the PIC32CX SG60/SG61 users to get started with
10+
the PIC32CX SG60/SG61 peripherals, and to obtain an understanding of how to
11+
integrate the device in their own design.
12+
13+
Hardware
14+
********
15+
16+
- 128-pin TQFP PIC32CX SG61 microcontroller
17+
- 32.768 kHz crystal oscillator
18+
- 12 MHz crystal oscillator
19+
- 1024 KiB flash memory and 256 KiB of RAM
20+
- Two yellow user LED
21+
- One green board power LED
22+
- One mechanical user push button
23+
- One reset button
24+
- USB interface, Host or Device
25+
- One driven shield Touch button
26+
- Virtual COM port (CDC)
27+
- Programming and debugging of on-board PIC32CX SG60/SG61 through Serial Wire Debug (SWD)
28+
- Arduino uno connector
29+
30+
Supported Features
31+
==================
32+
33+
.. zephyr:board-supported-hw::
34+
35+
Connections and IOs
36+
===================
37+
38+
The `PIC32CX SG61 Curiosity Ultra User Guide`_ has detailed information about board connections.
39+
40+
Programming & Debugging
41+
***********************
42+
43+
.. zephyr:board-supported-runners::
44+
45+
Flash Using J-Link
46+
==================
47+
48+
To flash the board using the J-Link debugger, follow the steps below:
49+
50+
1. Install J-Link Software
51+
52+
- Download and install the `J-Link software`_ tools from Segger.
53+
- Make sure the installed J-Link executables (e.g., ``JLink``, ``JLinkGDBServer``)
54+
are available in your system's PATH.
55+
56+
2. Connect the Board
57+
58+
- Connect the `J32 Debug Probe`_ to the board's **CORTEX DEBUG** header.
59+
- Connect the other end of the J32 Debug Probe to your **host machine (PC)** via USB.
60+
- Connect the DEBUG USB port on the board to your host machine to **power up the board**.
61+
62+
3. Build the Application
63+
64+
You can build a sample Zephyr application, such as **Blinky**, using the ``west`` tool.
65+
Run the following commands from your Zephyr workspace:
66+
67+
.. code-block:: console
68+
69+
west build -b pic32cx_sg61_cult -p -s samples/basic/blinky
70+
71+
This will build the Blinky application for the ``pic32cx_sg61_cult`` board.
72+
73+
4. Flash the Device
74+
75+
Once the build completes, flash the firmware using:
76+
77+
.. code-block:: console
78+
79+
west flash
80+
81+
This uses the default ``jlink`` runner to flash the application to the board.
82+
83+
5. Observe the Result
84+
85+
After flashing, **LED1** on the board should start **blinking**, indicating that the
86+
application is running successfully.
87+
88+
References
89+
**********
90+
91+
PIC32CX SG61 Product Page:
92+
https://www.microchip.com/en-us/product/PIC32CX1025SG61128
93+
94+
PIC32CX SG61 Curiosity Ultra evaluation kit Page:
95+
https://www.microchip.com/en-us/development-tool/ev09h35a
96+
97+
.. _PIC32CX SG61 Curiosity Ultra User Guide:
98+
https://ww1.microchip.com/downloads/aemDocuments/documents/MCU32/ProductDocuments/UserGuides/PIC32CX-SG41-SG61-Curiosity-Ultra-User-Guide-DS70005520.pdf
99+
100+
.. _J-Link software:
101+
https://www.segger.com/downloads/jlink
102+
103+
.. _J32 Debug Probe:
104+
https://www.microchip.com/en-us/development-tool/dv164232
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
/*
2+
* Copyright (c) 2025 Microchip Technology Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/dts-v1/;
8+
#include <microchip/pic32c/pic32cx_sg/pic32cx_sg61/pic32cx1025sg61128.dtsi>
9+
#include <zephyr/dt-bindings/input/input-event-codes.h>
10+
11+
/ {
12+
model = "PIC32CX SG61 Curiosity Ultra";
13+
compatible = "pic32cxsg61,cultra", "microchip,pic32cx1025sg61128", "microchip,pic32cx";
14+
15+
chosen {
16+
zephyr,sram = &sram0;
17+
zephyr,flash = &flash0;
18+
};
19+
20+
aliases {
21+
led0 = &led1;
22+
sw0 = &button0;
23+
};
24+
25+
leds {
26+
compatible = "gpio-leds";
27+
28+
led1: led_1 {
29+
gpios = <&portc 21 GPIO_ACTIVE_HIGH>;
30+
label = "Yellow LED";
31+
};
32+
33+
led2: led_2 {
34+
gpios = <&porta 16 GPIO_ACTIVE_HIGH>;
35+
label = "Yellow LED";
36+
};
37+
};
38+
39+
buttons {
40+
compatible = "gpio-keys";
41+
42+
button0: button_0 {
43+
gpios = <&portb 19 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
44+
label = "SW1";
45+
zephyr,code = <INPUT_KEY_0>;
46+
};
47+
};
48+
};
49+
50+
&flash0 {
51+
partitions {
52+
compatible = "fixed-partitions";
53+
54+
#address-cells = <1>;
55+
#size-cells = <1>;
56+
57+
storage_partition: partition@7c000 {
58+
label = "storage";
59+
reg = <0x0007c000 0x4000>;
60+
};
61+
};
62+
};
63+
64+
&cpu0 {
65+
clock-frequency = <48000000>;
66+
};
67+
68+
&porta{
69+
status="okay";
70+
};
71+
72+
&portb{
73+
status="okay";
74+
};
75+
76+
&portc{
77+
status="okay";
78+
};
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
identifier: pic32cx_sg61_cult
5+
name: PIC32CX SG61 Curiosity Ultra
6+
type: mcu
7+
arch: arm
8+
toolchain:
9+
- zephyr
10+
flash: 1024
11+
ram: 256
12+
supported:
13+
- gpio
14+
vendor: microchip
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
CONFIG_BUILD_OUTPUT_HEX=y
5+
CONFIG_ARM_MPU=y

0 commit comments

Comments
 (0)