Skip to content

Commit 9c443ad

Browse files
committed
boards: microchip: add PIC32CZ CA80 Curiosity Ultra Dev Board support
Add initial support for the PIC32CZ CA80 Curiosity Ultra Development Board Product page: https://www.microchip.com/en-us/development-tool/ev51s73a Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
1 parent 4f9b026 commit 9c443ad

File tree

8 files changed

+217
-0
lines changed

8 files changed

+217
-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_PIC32CZ_CA80_CULT
5+
select SOC_PIC32CZ8110CA80208
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=PIC32CZ8110CA80" "--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: pic32cz_ca80_cult
6+
full_name: PIC32CZ CA80 Curiosity Ultra
7+
vendor: microchip
8+
socs:
9+
- name: pic32cz8110ca80208
46.6 KB
Loading
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
.. zephyr:board:: pic32cz_ca80_cult
2+
3+
Overview
4+
********
5+
6+
The PIC32CZ CA80 Curiosity Ultra development board is a hardware platform
7+
to evaluate the Microchip PIC32CZ CA80 microcontroller, and the
8+
development board part number is EV51S73A. The development board offers a
9+
set of features that enables the PIC32CZ CA80 users to get started with
10+
the PIC32CZ CA80 peripherals, and to obtain an understanding of how to
11+
integrate the device in their own design.
12+
13+
Hardware
14+
********
15+
16+
- 208-Pin TFBGA PIC32CZ8110 CA80 microcontroller
17+
- 32.768 kHz crystal oscillator
18+
- 8M flash memory and 1M of RAM
19+
- Xplained pro extension compatible interface
20+
- Two yellow user LEDs
21+
- Two mechanical user push button
22+
- One reset button
23+
- Virtual COM port (VCOM)
24+
- Programming and debugging of on-board PIC32CZ CA80 through Serial Wire Debug (SWD)
25+
- Arduino uno R3 compatible interface
26+
- MikroBus Socket
27+
- On-board temperature sensor
28+
- Graphics interface
29+
- G-bit Ethernet
30+
- 2 high-speed USB (Type-C and Micro A/B)
31+
32+
Supported Features
33+
==================
34+
35+
.. zephyr:board-supported-hw::
36+
37+
Connections and IOs
38+
===================
39+
40+
The `PIC32CZ CA80 Curiosity Ultra User Guide`_ has detailed information about board connections.
41+
42+
Programming & Debugging
43+
***********************
44+
45+
.. zephyr:board-supported-runners::
46+
47+
Flash Using J-Link
48+
==================
49+
50+
To flash the board using the J-Link debugger, follow the steps below:
51+
52+
1. Install J-Link Software
53+
54+
- Download and install the `J-Link software <https://www.segger.com/downloads/jlink>`_ tools from Segger.
55+
- Make sure the installed J-Link executables (e.g., ``JLink``, ``JLinkGDBServer``) are available in your system's PATH.
56+
57+
2. Connect the Board
58+
59+
- Connect the `J32 Debug Probe <https://www.microchip.com/en-us/development-tool/dv164232>`_ to the board's **CORTEX DEBUG** header.
60+
- Connect the other end of the J32 Debug Probe to your **host machine (PC)** via USB.
61+
- Connect the DEBUG USB port on the board to your host machine to **power up the board**.
62+
63+
3. Build the Application
64+
65+
You can build a sample Zephyr application, such as **Blinky**, using the ``west`` tool. Run the following commands from your Zephyr workspace:
66+
67+
.. code-block:: console
68+
69+
west build -b pic32cz_ca80_cult -p -s samples/basic/blinky
70+
71+
This will build the Blinky application for the ``pic32cz_ca80_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, **LED0** on the board should start **blinking**, indicating that the application is running successfully.
86+
87+
References
88+
**********
89+
90+
PIC32CZ CA80 Product Page:
91+
https://www.microchip.com/en-us/product/PIC32CZ8110CA80208
92+
93+
PIC32CZ CA80 Curiosity Ultra Development Board Page:
94+
https://www.microchip.com/en-us/development-tool/ev51s73a
95+
96+
.. _PIC32CZ CA80 Curiosity Ultra User Guide:
97+
https://ww1.microchip.com/downloads/aemDocuments/documents/MCU32/ProductDocuments/UserGuides/PIC32CZ-CA80-CA90-Curiosity-Ultra-User-Guide-DS70005522.pdf
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
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/pic32cz_ca/pic32cz_ca80/pic32cz8110ca80208.dtsi>
9+
#include <zephyr/dt-bindings/input/input-event-codes.h>
10+
11+
/ {
12+
model = "PIC32CZ CA80 Curiosity Ultra";
13+
compatible = "pic32cz_ca80,cult", "microchip,pic32cz8110ca80208", "microchip,pic32cz";
14+
15+
chosen {
16+
zephyr,sram = &sram0;
17+
zephyr,flash = &flash0;
18+
};
19+
20+
aliases {
21+
led0 = &led0;
22+
led1 = &led1;
23+
sw0 = &button0;
24+
sw1 = &button1;
25+
};
26+
27+
leds {
28+
compatible = "gpio-leds";
29+
30+
led0: led_0 {
31+
gpios = <&portb 21 GPIO_ACTIVE_LOW>;
32+
label = "User LED 0";
33+
};
34+
35+
led1: led_1 {
36+
gpios = <&portb 22 GPIO_ACTIVE_LOW>;
37+
label = "User LED 1";
38+
};
39+
};
40+
41+
buttons {
42+
compatible = "gpio-keys";
43+
44+
button0: button_0 {
45+
gpios = <&portb 24 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
46+
label = "SW0";
47+
zephyr,code = <INPUT_KEY_0>;
48+
};
49+
50+
button1: button_1 {
51+
gpios = <&portc 23 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
52+
label = "SW1";
53+
zephyr,code = <INPUT_KEY_1>;
54+
};
55+
};
56+
};
57+
58+
&flash0 {
59+
partitions {
60+
compatible = "fixed-partitions";
61+
#address-cells = <1>;
62+
#size-cells = <1>;
63+
64+
storage_partition: partition@7fc000 {
65+
label = "storage";
66+
reg = <0x0007fc000 0x4000>;
67+
};
68+
};
69+
};
70+
71+
&cpu0 {
72+
clock-frequency = <48000000>;
73+
};
74+
75+
&portb {
76+
status = "okay";
77+
};
78+
79+
&portc {
80+
status = "okay";
81+
};
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: pic32cz_ca80_cult
5+
name: PIC32CZ CA80 Curiosity Ultra
6+
type: mcu
7+
arch: arm
8+
toolchain:
9+
- zephyr
10+
flash: 8192
11+
ram: 1024
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)