Getting Started with C-DAC Aries V3 THEJAS32 Microcontroller Development Board

Learn how to use the new Aries V3 microcontroller board from C-DAC based on the 32-bit VEGA THEJAS32 RISC-V SoC using Arduino & VS Code.
Getting Started with C-DAC VEGA Aries V3 THEJAS32 Microcontroller Development Board Featured Image by CIRCUITSTATE Electronics

We first reported about the VEGA processor series about a year ago. It was about the then newly launched Aries V2 IoT board powered by the THEJAS32 RISC-V microcontroller SoC. Today, a new version of the board called Aries V3 is starting to become available in the Indian market. So we got ourselves one. The Aries V3 and other VEGA series boards are now available from Robu and the C-DAC VEGA websites. If you are not aware, the VEGA series is a product of India’s Digital India RISC-V (DIR-V) program funded by the Ministry of Electronics and Information Technology (MeitY), Government of India. The research and development for the project is supervised by C-DAC (Centre for Development of Advanced Computing), a govt of India entity located in Trivandrum, Kerala. C-DAC was successful in creating and fabricating multiple CPUs, SoCs, and ASICs based on the RISC-V open-standard instruction set architecture or ISA. In this tutorial, we will take a closer look at the Aries V3 board based on the THEJAS32 SoC and get first-hand experience with the hardware using the official Arduino package.

C-DAC-ARIES-IoT-VEGA-THEJAS32-Development-Board-CIRCUITSTATE-Electronics-Featured-Image-01-4

Now Develop IoT Applications with ARIES IoT v1.0 Board Based on THEJAS32 RISC-V SoC from C-DAC

India’s C-DAC announces the new IoT targeted development board powered by indigenously developed RISC-V SoC THEJAS32. The board combines Wi-Fi and other embedded sensors.

THEJAS32

C-DAC VEGA THEJAS32 RISC-V SoC Microcontroller LQFP-128 IC Package by CIRCUITSTATE Electronics
THEJAS32 SoC in LQFP-128 package. Source: C-DAC.

THEJAS32 is a low-power SoC that integrates a single-core VEGA ET1031 compact and efficient 3-stage in-order 32-bit RISC-V processor with various communication and peripheral interfaces. It is available in an LQFP-128 package. This SoC has gained popularity after the Swadeshi Microprocessor Challenge conducted by the government and the Vegathon event took place in October 2022. Multiple companies and individuals participated in the challenges as early adopters to test the new processors. In addition to the 32-bit ones, C-DAC also has 64-bit equivalents like the VEGA AS1061 of their processors intended for the high-performance market.

Specifications

The key specs of the THEJAS32 SoC are,

  • 32-bit Single-core RISC-V
  • Clock Speed: 100 MHz
  • 256 KB SRAM
  • Upto 16 MBit Flash
  • 8x PWM pins
  • 4x Analog input pins
  • 3x SPI
  • 3x UART
  • 2x I2C
  • Upto 25 GPIOs
  • Input Voltage: 7-12V
  • DC Current per I/O Pin: 12 mA
  • IO Voltage: 3.3 V
  • Package: LQFP-128
C-DAC VEGA THEJAS32 RISC-V SoC Microcontroller Chip Die Layout by CIRCUITSTATE Electronics
THEJAS32 chip die layout

VEGA ET1031

Specifications

The key features of the VEGA ET1031 processor core are,

  • RISC-V (RV32IM) Instruction Set Architecture (ISA)
  • 3-stage in-order pipeline implementation
  • Harvard architecture (separate instruction and data buses)
  • High-performance multiply/divide unit
  • Configurable AXI4 or AHB external interface
  • Optional MPU (Memory Protection Unit)
  • Platform Level Interrupt Controller
    • Up to 127 IRQs
    • Low interrupt latency
  • Vectored interrupt support
  • Advanced Integrated Debug Controller
  • Debug extension allowing Eclipse debugging via a GDB–OpenOCD–JTAG connection
C-DAC VEGA Series RISC-V Processor and SoC Highlights by CIRCUITSTATE Electronics
VEGA product lineup

Block Diagram

VEGA-ET1031 Block Diagram
VEGA ET1031 Block Diagram

Aries V3

ARIES V3.0 is a microcontroller development platform based on the THEJAS32 SoC which operates at a frequency of 100MHz. THEJAS32 SoC includes a single VEGA ET1031 RISC-V microprocessor, 256 KB internal SRAM, three UARTs, four SPIs, three TIMERs, eight PWMs, three I2C interfaces, and 32 GPIOs among other things. There is no internal flash memory. An SPI flash memory has to be added externally. This board contains everything needed to support a standalone operation, including a 2 MB SPI flash memory. The board can be powered from a USB-C connector or with a DC voltage source between 7 to 12V.

The form-factor and pinout are kept compatible with the Arduino Uno to maintain compatibility with the large number of Arduino shields and modules available in the market. Since the THEJAS32 has more pins than an ATmega328P, the remaining pins are broken out with extra header pins. There is one green LED for power indication, one orange LED for processor status, which blinks periodically, and an SMD RGB LED whose pins are connected to three GPIO pins.

Specifications

SpecificationValue
MicrocontrollerTHEJAS32 SoC
Microprocessor Core32-bit VEGA ET1031
Core Count1
SRAM256 KB
Flash2MB
Input Voltage7-12V
USBUSB-C
PWM Pins8
Analog Input Pins4
SPI3
UART3
I2C2
GPIOs32
DC Current per I/O Pin12 mA
IO Voltage3.3V
Clock Speed100 MHz
Length78 mm
Width66 mm
Aries V3 board specs

Board Topology

C-DAC Aries V3 THEJAS32 SoC VEGA Program Microcontroller Board Topology Layout by CIRCUITSTATE Electronics
Aries V3 board topology (top side). Source: C-DAC.
ReferenceDescription
J5UART
J7SPI1
J4SPI2
J8Power Jack
J6USB-C Connector
J12Boot Select Header
J14Power Header
RESETReset Button
LD1RGB LED
LD4Processor HeartBeat LED
U2THEJAS32 SoC
U13.3V Regulator
U4100 MHz Oscillator
U5SPI Boot Flash Memory
U6Op-amp
U71.2V Regulator
Aries V3 board components and descriptions

Schematic

Schematic of the board is currently not available. But our sources say C-DAC will release it soon.

Power Tree

C-DAC VEGA Aries V3 THEJAS32 Microcontroller Board Power Tree Diagram CIRCUITSTATE Electronics
Aries V3 board power tree

Mechanical Drawing

C-DAC VEGA Aries V3 THEJAS32 Microcontroller Board Mechanical Drawing CIRCUITSTATE Electronics
Aries V3 board mechanical drawing

Pinout

We have designed a vector pinout diagram and a complete pin reference for the Aries V3 board in a different post. Please check it out below.

C-DAC Aries V3 VEGA THEJAS32 Board Pinout Diagram r0.2 by CIRCUITSTATE Electronics
Aries V3 pinout diagram
C-DAC Aries V3 THEJAS32 SoC VEGA Program Microcontroller Board Pinout Diagram and Pin Reference Featured Image CIRCUITSTATE Electronics

C-DAC Aries V3 THEJAS32 Microcontroller Board – Pinout Diagram & Pin Reference

Complete pinout diagram and pin reference for the C-DAC Aries V3 THEJAS32 microcontroller SoC development board.

Programming

Software for the Aries V3 board can be developed with the help of the VEGA SDK and the RISC-V toolchain. C-DAC developers also have released a development package for the Arduino IDE. So you have two methods to build projects for your Aries V3. In this post, we will demonstrate both methods.

Arduino IDE

We are going to use the Arduino IDE V2 for this demo. First, you need to add the following URL to the Arduino package index. This can be opened from File → Preferences → Additional Boards Manager URLs.

https://gitlab.com/riscv-vega/vega-arduino/-/raw/main/package_vega_index.json
URL

Add the URL to a new line. If you are wondering the Arduino package for VEGA Aries boards is located here in GitLab. After saving the URL, Arduino IDE will start to fetch new board information. Once the fetching is complete, you can search for “vega” in the BOARDS MANAGER section, and VEGA ARIES Boards by C-DAC will appear on the results. Install the latest version of it.

C-DAC VEGA Aries V3 THEJAS32 Microcontroller Board Arduino IDE Add New Board URL by CIRCUITSTATE Electronics
Add the new boards URL
C-DAC VEGA Aries V3 THEJAS32 Microcontroller Board Arduino IDE Serach for New Vega Board CIRCUITSTATE Electronics
Search for vega and install the latest board package

After installation, the new Aries boards and their examples will be added to the Arduino IDE. Now you can connect your Aries V3 board to your computer through a USB-C cable. If you are using Windows, a new COM port will be created for your board. This port is enumerated by the CP2102 USB-Serial chip on the Aries V3 board. In this case, the serial port is COM32.

C-DAC VEGA Aries V3 THEJAS32 Microcontroller Board Windows Device Manager COM Port by CIRCUITSTATE Electronics
Aries V3 board COM port on Windows Device Manager

The board will also show up on the Arduino boards list. You can select the ARIES v3 board from the list. You can also see the board information from Tools → Get Board Info. Aries V3 has a green LED for power indication and an orange LED for PROC BEAT which indicates the status of the processor. It will blink continuously when the CPU is active.

C-DAC VEGA Aries V3 THEJAS32 Microcontroller Board Arduino IDE Board List by CIRCUITSTATE Electronics
Boards list on Arduino IDE 2
C-DAC VEGA Aries V3 THEJAS32 Microcontroller Board Arduino IDE Board Info by CIRCUITSTATE Electronics
Aries V3 board info showing USB PID and VID

Immediately after selecting the board, we can find example sketches for the Aries V3 board from the File → Examples menu, and there are a lot of them listed including the Blink sketch. Let’s open the Blink sketch.

C-DAC VEGA Aries V3 THEJAS32 Microcontroller Board Arduino IDE Aries V3 Example Sketches by CIRCUITSTATE Electronics
VEGA Aries V3 board example sketches
/**
  @file Blink.ino
  @brief contains routines for GPIO interface
  @detail Includes software functions declarations to initialize,configure, write and read LED over GPIO interface

   Reference arduino code: https://create.arduino.cc/projecthub/arohansenroy/blinking-led-56ffc9
   Refrence aries board: https://vegaprocessors.in/files/PINOUT_ARIES%20V2.0_.pdf
   
   Connections:
   No external connections required to test this code. You can directly connect Aries board through USB and upload the program
   LED pins for Aries Board are: 
   pin no. 20,21 - Yellow LED (for Aries v2)
   Pin no. 22 - Green LED 
   Pin no. 23 - Blue LED
   Pin no. 24 - Red LED
   Note: BLUE,RED and GREEN LED will be in "ON" state for a digital "0" input and in "OFF" state for a digital "1" input.
         YELLOW LED will be in "ON" state for a digital "1" input and in "OFF" state for a digital "0" input.
 **/

int ledPin = 22; // Green LED

void setup() {
    pinMode (ledPin,OUTPUT);    //OUTPUT: Output mode
}

void loop() {
    digitalWrite (ledPin,HIGH); // LED ON
    delay (1000);               // Set the delay time, 1000 = 1S
    digitalWrite (ledPin,LOW);  // LED OFF
    delay (1000);               // Set the delay time, 1000 = 1S
} 
Blink.ino

If you have correctly selected the board and the COM port, you can now compile and upload the code to your Aries V3 board. But before that, you need to check the state of the jumper J12 on the board. J12 is the BOOT SEL jumper that tells the process of where to boot from. There are two ways to upload code to the Aries V3 board.

  1. If the BOOT SEL jumper is shorted, the CPU boots from external SPI flash memory. To program, select:
    • Select Flash Mode → Enabled
    • Select Tools → Programmer → VEGA FLASHER

  2. If BOOT SEL is not shorted, the CPU boots from the UART interface. To program, select:
    • Select Flash Mode → Disabled
    • Select Tools → Programmer → VEGA XMODEM

Since we are using a custom programmer mode here, we have to use the Sketch → Upload Using Programmer option to upload the code. If you use the regular Upload button, uploading will fail with a message saying "A programmer is required to upload". After the code is uploaded, the green LED of the RGB LED LD1 will be blinking.

If your Arduino package installation path has white spaces in it, the uploading process can fail. For example, we get the following output at the end when we try to upload code to the Aries V3 board.

"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-size" -B "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Temp\\arduino\\sketches\\7A34F089C44A19BAE13B653E68C71BAD/Blink.ino.elf"
Sketch uses 2960 bytes (0%) of program storage space. Maximum is 2097152 bytes.
"C:\Users\Vishnu Mohanan\AppData\Local\Arduino15\packages\vega\tools\vegaxmodem\002/xmodem.bat" COM33 "C:\Users\Vishnu Mohanan\AppData\Local\Temp\arduino\sketches\7A34F089C44A19BAE13B653E68C71BAD/Blink.ino.bin"
'C:\Users\Vishnu' is not recognized as an internal or external command,
operable program or batch file.
Failed programming: uploading error: exit status 1
Console

This is a limitation of the Arduino IDE V2 at the moment, due to how command-line applications are invoked in the IDE. Fortunately, this problem doesn’t occur when using VS Code and the Arduino extension. You can learn about it in the next section.

VS Code + Arduino

Visual Studio Code is a modern and feature-rich code editor from Microsoft. When combined with the countless number of extensions and tools, it becomes a powerful IDE. We will use VS Code and the official Arduino Extension for building and uploading Arduino sketches to the Aries V3 board. If you are new to VS Code, we have a getting-started tutorial for you.

How-To-Use-VS-Code-To-Create-and-Upload-Arduino-Sketches-Featured-Image-01-1-1

How to Use VS Code for Creating and Uploading Arduino Sketches

Learn how to use the popular VS Code IDE to develop Arduino projects and upload your sketches to Arduino boards directly, without using Arduino IDE.

You can open the same Blink sketch from the Arduino examples folder, or create a new sketch called Blink. We will create a new project and open the folder in VS Code. As soon as the Arduino extension detects a .ino file in the workspace, it gets activated.

Arduino Blink Sketch Opned in Visual Studio Code with Arduino Extension for C-DAC VEGA Aries V3 Board by CIRCUITSTATE Electronics
Blink sketch opened in VS Code

From the bottom panel, you can select the board type, programmer, and the COM port. Once the board is selected, the Arduino extension will try to compile your code. This is required to parse the dependencies to build the IntelliSense index. You can also see the list or example sketches in the ARDUINO EXAMPLES section on the left side.

C-DAC VEGA Aries V3 THEJAS32 Microcontroller Board Arduino Board Configuration in VS-Code by CIRCUITSTATE Electronics
Aries V3 board configuration

To compile the sketch, we can use the Arduino: Verify command from the command palette which can be opened with the shortcut Ctrl + Shift + P or by clicking on the search bar on the top of the VS Code window, in which case you need to prefix the command with >.

> Aruino: Verify
Command Palatte

You can also find a Verify button in the top-right corner. Click on it and the code will be compiled successfully if there are no errors. A new output window will open from the bottom that will show the build log.

If compilation is successful, we can upload the code (binary) to the board. Since we have specified a custom programmer for the board, we need to use the method using a programmer to upload the code. The default upload method for the Arduino extension is the regular upload. In order to use a custom programmer, we can use the command palette of VS Code. Simply search for “Arduino:” and find the Arduino: Upload Using Programmer command.

C-DAC VEGA Aries-V3 THEJAS32 Microcontroller Board Arduino Upload Using Programmer Command in VS-Code by CIRCUITSTATE Electronics
Upload Using Programmer command for Arduino extension in VS Code

The uploading was successful for us and we got the following log in the output.

[Starting] Uploading (programmer) sketch 'Blink.ino'
Please see the build logs in output path: d:\Code\Arduino\VEGA\Aries-V3\Blink\build
Using board 'aries_v3' from platform in folder: C:\Users\Vishnu Mohanan\AppData\Local\Arduino15\packages\vega\hardware\riscv\1.0.6
Using core 'arduino' from platform in folder: C:\Users\Vishnu Mohanan\AppData\Local\Arduino15\packages\vega\hardware\riscv\1.0.6
Detecting libraries used...
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -w -x c++ -E -CC -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\sketch\\Blink.ino.cpp" -o nul
Generating function prototypes...
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -w -x c++ -E -CC -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\sketch\\Blink.ino.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\sketch\\Blink.ino.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\sketch\\Blink.ino.cpp.o"
Compiling libraries...
Compiling core...
Couldn't deeply cache core build: Rel: can't make D:\Code\Arduino\VEGA\Aries-V3\Blink\build relative to C:\Users\Vishnu Mohanan\AppData\Local\Temp\arduino\core-cache
Running normal build of the core...
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\Common.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\Common.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\api\\PluggableUSB.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\api\\PluggableUSB.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\WInterrupts.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\WInterrupts.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\WMath.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\WMath.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\Print.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\Print.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\WString.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\WString.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\api\\Stream.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\api\\Stream.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\Tone.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\Tone.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\String.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\String.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\Wire8.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\Wire8.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\IPAddress.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\IPAddress.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\abi.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\abi.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -march=rv32im -mabi=ilp32 -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\entry.S" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\entry.S.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\UARTClass.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\UARTClass.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -march=rv32im -mabi=ilp32 -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\init.S" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\init.S.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -Wall -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\hooks.c" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\hooks.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -Wall -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\itoa.c" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\itoa.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\main.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\main.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -Wall -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\malloc.c" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\malloc.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\new.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\new.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\pwm.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\pwm.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -Wall -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\rawfloat.c" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\rawfloat.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -march=rv32im -mabi=ilp32 -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\start.S" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\start.S.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -Wall -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\sprintf.c" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\sprintf.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -Wall -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\sbrk.c" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\sbrk.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -Wall -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\utility\\twi.c" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\utility\\twi.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -Wall -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\wiring.c" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\wiring.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\wiring_analog.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\wiring_analog.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -Wall -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\wiring_digital.c" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\wiring_digital.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -fpermissive -Wall -fno-rtti -fno-exceptions -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\wiring_pulse.cpp" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\wiring_pulse.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-gcc" -c -O2 -march=rv32im -mabi=ilp32 -fpeel-loops -ffreestanding -ffunction-sections -fdata-sections -Wall -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\system/include" -I "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/include" -include sys/cdefs.h -g -DARDUINO=10607 -DF_CPU=100000000LL -DVEGA_ARIES_V3 "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino" "-IC:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\variants\\standard" "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6\\cores\\arduino\\wiring_shift.c" -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\wiring_shift.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\Common.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\IPAddress.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\Print.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\String.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\Tone.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\UARTClass.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\WInterrupts.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\WMath.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\WString.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\Wire8.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\abi.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\api\\PluggableUSB.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\api\\Stream.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\entry.S.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\hooks.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\init.S.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\itoa.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\main.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\malloc.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\new.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\pwm.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\rawfloat.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\sbrk.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\sprintf.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\start.S.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\utility\\twi.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\wiring.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\wiring_analog.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\wiring_digital.c.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\wiring_pulse.cpp.o"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-ar" rcs "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\wiring_shift.c.o"
Linking everything together...
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-g++" -march=rv32im -mabi=ilp32 -T "C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\hardware\\riscv\\1.0.6/thejas32/link.lds" -nostartfiles -Wl,-N -Wl,--gc-sections -Wl,--wrap=malloc -Wl,--wrap=free -Wl,--wrap=sbrk "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\sketch\\Blink.ino.cpp.o" -nostdlib -Wl,--start-group "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build\\core\\core.a" -lm -lstdc++ -lc -lgloss -Wl,--end-group -lgcc -o "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build/Blink.ino.elf"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-objcopy" -R .rel.dyn -O binary "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build/Blink.ino.elf" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build/Blink.ino.bin"
"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-objcopy" -R .rel.dyn -O srec "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build/Blink.ino.elf" "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build/Blink.ino.hex"
open C:\Users\Vishnu Mohanan\AppData\Local\Arduino15\packages\vega\hardware\riscv\1.0.6\bootloaders\arduflasher\flasher_arduino.hex: The system cannot find the file specified.

"C:\\Users\\Vishnu Mohanan\\AppData\\Local\\Arduino15\\packages\\vega\\tools\\riscv64-vega-elf-gcc\\001/bin/riscv64-vega-elf-size" -B "D:\\Code\\Arduino\\VEGA\\Aries-V3\\Blink\\build/Blink.ino.elf"
Sketch uses 2960 bytes (0%) of program storage space. Maximum is 2097152 bytes.
"C:\Users\Vishnu Mohanan\AppData\Local\Arduino15\packages\vega\tools\vegaxmodem\002/xmodem.bat" COM33 "d:\Code\Arduino\VEGA\Aries-V3\Blink\build/Blink.ino.bin"
Done
Uploading Completed!

Used platform Version Path                                                                              
vega:riscv    1.0.6   C:\Users\Vishnu Mohanan\AppData\Local\Arduino15\packages\vega\hardware\riscv\1.0.6
IntelliSense configuration already up to date. To manually rebuild your IntelliSense configuration run "Ctrl+Alt+I"
[Done] Uploading (programmer) sketch 'Blink.ino'
PowerShell

There are a few more things you can do with VS Code for Arduino development. You can specify a custom configuration for the Arduino extension in the arduino.json file found inside the .vscode folder. For example, we have the following configuration in our file.

{
    "configuration": "clksrc=aries100,FlashMode=default",
    "board": "vega:riscv:aries_v3",
    "programmer": "vegaxmodem",
    "port": "COM33",
    "sketch": "Blink.ino",
    "output": "build"
}
arduino.json

Some of the configurations are added by the Arduino extension when we change the settings from the front-end. Additionally, we have specified the output directory for storing all the build files. This will make consecutive compilations faster. The directory we are using is called build and it will be created inside the sketch folder.

Another thing you can do is to set up a custom keyboard shortcut for uploading code using the programmer. You can open the Settings → Keyboard Shortcuts menu to search for “Arduino: Upload Using Programmer” and set a new shortcut. We use the Ctrl + Alt + U for this.

VEGA SDK

Using the Arduino Framework abstracts away a lot of things for you so that you can focus on the application development rather than worrying about what’s happening in the background. But if you want to learn how things work under the hood, you have to use the official SDK and toolchain for compiling and uploading your projects. The VEGA SDK and the RISC-V GNU toolchain are available from C-DAC’s GitLab. Unfortunately, you need to gain access to the project to download the tools. Fortunately, a user called rnayabed (Debayan Sutradhar) created a fork of the SDK and it is available on GitHub as project Taurus. Please check out the following tutorial to learn how to use the VEGA SDK to develop applications for your Aries V3 board.

How to Use VEGA SDK to Create C CPP Projects froC DAC Aries V3 THEJAS32 Board Featured Image by CIRCUITSTATE Electronics Featured Image

Creating C/C++ Projects for C-DAC Aries V3 THEJAS32 Microcontroller Board Using VEGA SDK

Learn how to use the VEGA SDK for creating and building C/C++ projects for C-DAC Aries V3 & other THEJAS32 RISC-V microcontroller boards.

Serial Bootlog

The Aries V3 board outputs a bootlog through the UART0 port connected to the USB-C connector. The default baudrate is 115200. You don’t need to initialize the serial port to get this output. If you open the serial monitor after connecting your board, and press the reset button, the following log will be printed to the serial monitor. The J12 jumper is not shorted in this case and the microcontroller is in the UART boot modem (XMODEM). It expects you to send a binary file and print the character C periodically until you send one.

 +-----------------------------------------------------------------------------+
 |           VEGA Series of Microprocessors Developed By C-DAC, INDIA          |
 |     Microprocessor Development Programme, Funded by MeitY, Govt. of India   |
 +-----------------------------------------------------------------------------+
 | Bootloader, ver 1.0.0 [  (hdg@cdac_tvm) Tue Dec  15 16:50:32 IST 2020 #135] |
 |                                                                             |
 |  ___    _________________________          ISA  : RISC-V [RV32IM]           |
 |  __ |  / /__  ____/_  ____/__    |                                          |
 |  __ | / /__  __/  _  / __ __  /| |         CPU  : VEGA ET1031               |
 |  __ |/ / _  /___  / /_/ / _  ___ |                                          |
 |  _____/  /_____/  \____/  /_/  |_|         SoC  : THEJAS32                  |
 +---------------------------------------+-------------------------------------+
 |         www.vegaprocessors.in         |             vega@cdac.in            |
 +---------------------------------------+-------------------------------------+

 Transfer mode  : UART XMODEM
 
 IRAM           : [0x200000 - 0x23E7FF] [250 KB]
 
 Please send file using XMODEM and then press ENTER key.
 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
Serial Monitor

If the J12 was shorted, on the other hand, the board prints the following message. The board is in Flash mode in this case, and it will load instructions from the external 2 MB SPI flash to the SRAM and execute them. It takes around 8 seconds for this process to complete. It prints the character < until the boot process is complete.

 +-----------------------------------------------------------------------------+
 |           VEGA Series of Microprocessors Developed By C-DAC, INDIA          |
 |     Microprocessor Development Programme, Funded by MeitY, Govt. of India   |
 +-----------------------------------------------------------------------------+
 | Bootloader, ver 1.0.0 [  (hdg@cdac_tvm) Tue Dec  15 16:50:32 IST 2020 #135] |
 |                                                                             |
 |  ___    _________________________          ISA  : RISC-V [RV32IM]           |
 |  __ |  / /__  ____/_  ____/__    |                                          |
 |  __ | / /__  __/  _  / __ __  /| |         CPU  : VEGA ET1031               |
 |  __ |/ / _  /___  / /_/ / _  ___ |                                          |
 |  _____/  /_____/  \____/  /_/  |_|         SoC  : THEJAS32                  |
 +---------------------------------------+-------------------------------------+
 |         www.vegaprocessors.in         |             vega@cdac.in            |
 +---------------------------------------+-------------------------------------+

 Copying from FLASH to IRAM 

 [INFO] Flash ID: 1f:86:01 Flash initialized 
 [INFO] Copying  250KB from address: 0x000000.

 Starting program ...




<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
FLASHER
Serial Monitor

Debugging

Debugging instructions for THEJAS32 are currently not available from C-DAC. But once it is available, we will update this section.

Example Projects

C-DAC has published numerous tutorials on using the Aries boards to interface different kinds of sensors, displays, and other modules. You can find these projects on the VEGA Processor development blog.

  1. C-DAC Aries V3 – Official Product Page
  2. Aries V3 – Board Reference Manual [PDF]
  3. Aries V3 – Board Brochure [PDF]
  4. VEGA Processor Documentation
  5. Aries V3 Board Buy – Robu
  6. VEGA ET1031: 32-bit High-Performance Microcontroller
  7. VEGA Processor – Official Website
  8. C-DAC VEGA Software Repository – GitLab
  9. VEGA THEJAS32 Arduino Package Index – GitLab
  10. C-DAC VEGA Processor – GitLab
  11. THEJAS32 Programmers Manual – C-DAC
  12. VEGA Processors Official Community
Share to your friends
Vishnu Mohanan

Vishnu Mohanan

Founder and CEO at CIRCUITSTATE Electronics

Articles: 88

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.