PIC32CK GC01 Curiosity Ultra
Overview
The PIC32CK GC01 Curiosity Ultra evaluation kit is a hardware platform to evaluate the Microchip PIC32CK GC microcontrollers, and the evaluation kit part number is EV44P93A. This kit provides a comprehensive set of features that allow users to explore the PIC32CK GC peripherals and gain insight into integrating the device into their own designs.
Hardware
144-pin TQFP PIC32CK2051GC01144 microcontroller
Arm® Cortex®-M33 Microcontroller
32.768 kHz crystal oscillator
12 MHz crystal oscillator
2048 KiB flash memory and 512 KiB of RAM
Two user LEDs (Red and Green)
One green board power LED
Two mechanical user push buttons
One reset button
On-Board Temperature Sensor
Two USB interfaces (Type-C and Micro-B)
Virtual COM port (VCOM)
Programming and debugging of on-board PIC32CK GC through Serial Wire Debug (SWD) and on-board PKoB4 debugger
Arduino Uno connector
MikroBUS™ socket
Xplained Pro extension header
Graphics interface
10/100 MB Ethernet interface
Two CAN FD interface
SD card slot
QSPI Flash and Serial EEPROM
One Motor control Position Decoder (PDEC) interface
Supported Features
The pic32ck_gc01_cult board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo -
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
pic32ck_gc01_cult/pic32ck2051gc01144 target
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M33 CPU1 |
|
ADC |
on-chip |
Microchip ADC G2 Driver1 |
|
ARM architecture |
on-chip |
Microchip SERCOM module5 |
|
CAN |
on-chip |
||
Clock control |
on-chip |
Microchip PIC32CK_SG_GC SOC family clock1 |
|
on-chip |
PIC32CK_SG_GC Crystal Oscillator (XOSC)1 |
||
on-chip |
PIC32CK_SG_GC Internal Oscillator (OSC48M)1 |
||
on-chip |
PIC32CK_SG_GC PLL clock1 |
||
on-chip |
|
||
on-board |
|
||
on-chip |
PIC32CK_SG_GC RTC clock1 |
||
on-chip |
PIC32CK_SG_GC External Crystal Oscillator (XOSC32K)1 |
||
on-chip |
PIC32CK_SG_GC Generic clock generator1 |
||
on-chip |
PIC32CK_SG_GC Generic clock peripheral1 |
||
on-chip |
PIC32CK_SG_GC Main clock domains1 |
||
on-chip |
PIC32CK_SG_GC MCLK peripheral1 |
||
Counter |
on-chip |
Microchip TCC G1 timer counter peripheral.5 |
|
on-chip |
Microchip TCC G1 counter peripheral.1 |
||
Ethernet |
on-chip |
Microchip GMAC Ethernet binding1 |
|
on-chip |
Microchip GMAC MDIO binding1 |
||
on-board |
Generic MII PHY1 |
||
Flash controller |
on-chip |
Microchip flash controller1 |
|
GPIO & Headers |
on-chip |
||
Hardware information |
on-chip |
Microchip G1 hwinfo driver1 |
|
I2C |
on-chip |
Microchip SERCOM G1 I2C driver1 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv8-M NVIC (Nested Vectored Interrupt Controller)1 |
|
on-chip |
Microchip External Interrupt Controller for g1 peripherals1 |
||
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
on-board |
Group of PWM-controlled LEDs1 |
||
MMU / MPU |
on-chip |
ARMv8-M MPU (Memory Protection Unit)1 |
|
MTD |
on-chip |
Microchip G3 series of Flash1 |
|
on-board |
I2C EEPROMs compatible with Atmel’s AT24 family1 |
||
NVMEM |
on-board |
Fixed layout for Non-Volatile memory1 |
|
Pin control |
on-chip |
Microchip PORT Pinctrl container node1 |
|
PWM |
on-chip |
Microchip G1 TCC pwm driver.2 |
|
RNG |
on-chip |
Microchip TRNG G1 entropy driver1 |
|
RTC |
on-chip |
Microchip G1 RTC driver1 |
|
SDHC |
on-chip |
||
Serial controller |
on-chip |
Microchip SERCOM UART controller1 |
|
SPI |
on-chip |
Microchip SERCOM SPI1 |
|
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv8-M System Tick1 |
|
USB |
on-chip |
Microchip USB G1 driver1 |
|
on-chip |
Microchip USB G2 driver1 |
||
Watchdog |
on-chip |
Microchip Watchdog g1 driver1 |
Connections and IOs
The PIC32CK GC01 Curiosity Ultra User Guide has detailed information about board connections.
Programming & Debugging
The pic32ck_gc01_cult board supports the runners and associated west commands listed below.
| flash | debug | attach | reset | debugserver | rtt | |
|---|---|---|---|---|---|---|
| jlink | ✅ | ✅ (default) | ✅ | ✅ | ✅ | ✅ |
| mplab_ipe | ✅ (default) |
Flash Using J-Link
To flash the board using the J-Link debugger, follow the steps below:
Install J-Link Software
Download and install the J-Link software tools from Segger.
Make sure the installed J-Link executables (e.g.,
JLink,JLinkGDBServer) are available in your system’s PATH.
Connect the Board
Connect the J32 Debug Probe to the board’s CORTEX DEBUG header.
Connect the other end of the J32 Debug Probe to your host machine (PC) via USB.
Connect the DEBUG USB port on the board to your host machine to power up the board.
Build the Application
You can build a sample Zephyr application, such as Blinky, using the
westtool. Run the following commands from your Zephyr workspace:west build -b pic32ck_gc01_cult -p -s samples/basic/blinkyThis will build the Blinky application for the
pic32ck_gc01_cultboard.Flash the Device
Once the build completes, flash the firmware using:
west flashThis uses the default
jlinkrunner to flash the application to the board.Observe the Result
After flashing, LED0 on the board should start blinking, indicating that the application is running successfully.
Debug Using J-Link: GDB Command-Line
To debug the board using the J-Link debugger, follow the steps below:
Build the Application
You can build a sample Zephyr application, such as Blinky, using the
westtool. Run the following commands from your Zephyr workspace:west build -b pic32ck_gc01_cult -p -s samples/basic/blinkyThis will build the Blinky application for the
pic32ck_gc01_cultboard.Debug the Application
To debug the application, run the following command from your Zephyr workspace:
west debugNote
Debugging with J-Link GDB Server: Halting at `main` and Setting Breakpoints(gdb) break main (gdb) break main.c:42 # Optional: set breakpoint at line 42 in main.c (gdb) continue # Start execution, halts at first breakpoint (gdb) info breakpoints # List all breakpoints (gdb) delete 1 # Delete breakpoint number 1 (gdb) delete # Delete all breakpoints (gdb) clear main.c:42 # Clear breakpoint at specific location (gdb) continue # Resume execution
Debug Using J-Link: VSCode
To debug using VSCode, create or edit the .vscode/launch.json file in your project directory with the following configuration:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug (J-Link, PIC32CK2051GC01144)",
"type": "cortex-debug",
"request": "launch",
"servertype": "jlink",
"device": "PIC32CK2051GC01144",
"interface": "swd",
"runToEntryPoint": "main",
"showDevDebugOutput": "none",
"cwd": "${workspaceFolder}",
"executable": "${workspaceFolder}/zephyr/build/zephyr/zephyr.elf",
//J-Link settings
"serverpath": "C:/Program Files/SEGGER/JLink_Vxxx/JLinkGDBServerCL.exe",
"serverArgs": [
"-singlerun",
"-if", "swd",
"-speed", "4000",
"-device", "PIC32CK2051GC",
"-port", "50000"
],
//Zephyr SDK toolchain paths
"gdbPath": "***/zephyr-sdk-x.xx.x/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb.exe",
"objdumpPath": "***/zephyr-sdk-x.xx.x/arm-zephyr-eabi/bin/arm-zephyr-eabi-objdump.exe",
}
]
}
Note
serverpath: Specify the full path to the J-Link GDB Server executable if it is not in your system’s PATH.
gdbPath: Specify the full path to the GDB executable if it is not in your system’s PATH.
objdumpPath: Specify the full path to the objdump executable if it is not in your system’s PATH.
Debugging Steps in VSCode
Start the J-Link GDB Server as shown above.
Open the samples/basic/blinky/src/main.c in VSCode.
Set breakpoints in your source files by clicking next to the line numbers.
Press F5 or click the green “Start Debugging” button in VSCode.
The debugger will connect, load your program, and halt at main.
Use the VSCode debug controls to continue, step, or inspect variables.
References
- PIC32CK GC Product Page:
- PIC32CK SG/GC Product Family Page:
https://www.microchip.com/en-us/products/microcontrollers/32-bit-mcus/pic32-sam/pic32ck-sg-gc