Skip to content

Commit 11527f2

Browse files
mchp-asifnashif
authored andcommitted
boards: microchip: add PIC32CX SG41 Curiosity Ultra Evaluation Kit support
Add initial support for the Microchip PIC32CX SG41 Curiosity Ultra board Product page: https://www.microchip.com/en-us/development-tool/EV06X38A Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
1 parent ea6a99a commit 11527f2

File tree

8 files changed

+239
-0
lines changed

8 files changed

+239
-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_SG41_CULT
5+
select SOC_PIC32CX1025SG41128
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=PIC32CX1025SG41128" "--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_sg41_cult
6+
full_name: PIC32CX SG41 Curiosity Ultra
7+
vendor: microchip
8+
socs:
9+
- name: pic32cx1025sg41128
48.1 KB
Loading
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
.. zephyr:board:: pic32cx_sg41_cult
2+
3+
Overview
4+
********
5+
6+
The PIC32CX SG41 Curiosity Ultra evaluation kit is a hardware platform
7+
to evaluate the Microchip PIC32CX SG41 microcontrollers, and the
8+
evaluation kit part number is EV06X38A. The evaluation kit offers a
9+
set of features that enables the PIC32CX SG41 users to get started with
10+
the PIC32CX SG41 peripherals, and to obtain an understanding of how to
11+
integrate the device in their own design.
12+
13+
Hardware
14+
********
15+
16+
- PIC32CX1025SG41128 microcontroller
17+
- One mechanical reset button
18+
- Two mechanical programmable buttons
19+
- Two user LEDs
20+
- 32.768 kHz crystal
21+
- 12 MHz oscillator
22+
- USB interface, Host or Device
23+
- 64 Mbit Quad SPI Flash
24+
- AT24MAC402 Serial EEPROM with EUI-48™ MAC address
25+
- Ethernet 10/100 Mbps
26+
- RMII Interface with modular PHY Header
27+
- SD/SDIO card connector
28+
- Two CAN interfaces with on-board transceivers
29+
- I²C-based temperature sensor
30+
- DAC Output Header
31+
- mikroBUS header connector
32+
- Arduino Uno header connectors
33+
- CoreSight 10 connector
34+
- 10-pin Cortex® Debug header (SWD)
35+
- CoreSight 20 connector
36+
- 20-pin Cortex Debug + ETM Connector (SWD and 4-bit Trace)
37+
- Virtual COM port (CDC)
38+
- USB powered
39+
- Power Header and Barrel Jack connector for external power sources
40+
41+
Supported Features
42+
==================
43+
44+
.. zephyr:board-supported-hw::
45+
46+
Connections and IOs
47+
===================
48+
49+
The `PIC32CX SG41 Curiosity Ultra User Guide`_ has detailed information about board connections.
50+
51+
Programming & Debugging
52+
***********************
53+
54+
.. zephyr:board-supported-runners::
55+
56+
Flash Using J-Link
57+
==================
58+
59+
To flash the board using the J-Link debugger, follow the steps below:
60+
61+
1. Install J-Link Software
62+
63+
- Download and install the `J-Link software`_ tools from Segger.
64+
- Make sure the installed J-Link executables (e.g., ``JLink``, ``JLinkGDBServer``)
65+
are available in your system's PATH.
66+
67+
2. Connect the Board
68+
69+
- Connect the `J32 Debug Probe`_ to the board's **CORTEX DEBUG** (J400) header.
70+
- Connect the other end of the J32 Debug Probe to your **host machine (PC)** via USB.
71+
- Connect the DEBUG USB port on the board to your host machine to **power up the board**.
72+
73+
3. Build the Application
74+
75+
You can build a sample Zephyr application, such as **Blinky**, using the ``west`` tool.
76+
Run the following commands from your Zephyr workspace:
77+
78+
.. code-block:: console
79+
80+
west build -b pic32cx_sg41_cult -p -s samples/basic/blinky
81+
82+
This will build the Blinky application for the ``pic32cx_sg41_cult`` board.
83+
84+
4. Flash the Device
85+
86+
Once the build completes, flash the firmware using:
87+
88+
.. code-block:: console
89+
90+
west flash
91+
92+
This uses the default ``jlink`` runner to flash the application to the board.
93+
94+
5. Observe the Result
95+
96+
After flashing, **LED1** on the board should start **blinking**, indicating that the
97+
application is running successfully.
98+
99+
References
100+
**********
101+
102+
PIC32CX SG41 Product Page:
103+
https://www.microchip.com/en-us/product/PIC32CX1025SG41128
104+
105+
PIC32CX SG41 Curiosity Ultra evaluation kit Page:
106+
https://www.microchip.com/en-us/development-tool/EV06X38A
107+
108+
.. _PIC32CX SG41 Curiosity Ultra User Guide:
109+
https://ww1.microchip.com/downloads/aemDocuments/documents/MCU32/ProductDocuments/UserGuides/PIC32CX-SG41-SG61-Curiosity-Ultra-User-Guide-DS70005520.pdf
110+
111+
.. _J-Link software:
112+
https://www.segger.com/downloads/jlink
113+
114+
.. _J32 Debug Probe:
115+
https://www.microchip.com/en-us/development-tool/dv164232
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
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_sg41/pic32cx1025sg41128.dtsi>
9+
#include <zephyr/dt-bindings/input/input-event-codes.h>
10+
11+
/ {
12+
model = "PIC32CX SG41 Curiosity Ultra";
13+
compatible = "microchip,pic32cx_sg41_cult";
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_LOW>;
30+
label = "LED1";
31+
};
32+
33+
led2: led_2 {
34+
gpios = <&porta 16 GPIO_ACTIVE_LOW>;
35+
label = "LED2";
36+
};
37+
};
38+
39+
buttons {
40+
compatible = "gpio-keys";
41+
42+
button0: button_0 {
43+
gpios = <&portd 00 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
44+
label = "SW 1";
45+
zephyr,code = <INPUT_KEY_0>;
46+
};
47+
48+
button1: button_1 {
49+
gpios = <&portd 01 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
50+
label = "SW 2";
51+
zephyr,code = <INPUT_KEY_1>;
52+
};
53+
};
54+
};
55+
56+
&flash0 {
57+
partitions {
58+
compatible = "fixed-partitions";
59+
60+
#address-cells = <1>;
61+
#size-cells = <1>;
62+
63+
storage_partition: partition@7c000 {
64+
label = "storage";
65+
reg = <0x0007c000 0x4000>;
66+
};
67+
};
68+
};
69+
70+
&cpu0 {
71+
clock-frequency = <48000000>;
72+
};
73+
74+
&porta {
75+
status = "okay";
76+
};
77+
78+
&portc {
79+
status = "okay";
80+
};
81+
82+
&portd {
83+
status = "okay";
84+
};
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Copyright (c) 2025 Microchip Technology Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
identifier: pic32cx_sg41_cult
5+
name: PIC32CX SG41 Curiosity Ultra
6+
type: mcu
7+
arch: arm
8+
toolchain:
9+
- zephyr
10+
flash: 1024
11+
ram: 256
12+
supported:
13+
- gpio
14+
- pinctrl
15+
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)