Initial support for Microchip PIC32 platform // Issue #438

This commit is contained in:
Valeriy Koval
2016-04-26 17:47:23 +03:00
parent bfdc425e7c
commit 360024af38
5 changed files with 820 additions and 1 deletions

View File

@ -0,0 +1,577 @@
{
"cerebot32mx4": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_CEREBOT_32MX4_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX460F512.ld",
"mcu": "32MX460F512L",
"variant": "Cerebot_32MX4"
},
"frameworks": ["arduino"],
"name": "Digilent Cerebot 32MX4",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/cerebot-32mx4-limited-time-see-chipkit-pro-mx4/",
"vendor": "Digilent"
},
"cerebot32mx7": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_CEREBOT_32MX7_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX795F512.ld",
"mcu": "32MX795F512L",
"variant": "Cerebot_32MX7"
},
"frameworks": ["arduino"],
"name": "Digilent Cerebot 32MX7",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 131072,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=TDGL004",
"vendor": "Digilent"
},
"chipkit_mx3": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_CEREBOT_MX3CK_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX320F128.ld",
"mcu": "32MX320F128H",
"variant": "Cerebot_MX3cK"
},
"frameworks": ["arduino"],
"name": "Digilent chipKIT MX3",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 126976,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/chipkit-mx3-microcontroller-board-with-pmod-headers/",
"vendor": "Digilent"
},
"chipkit_pro_mx4": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_CEREBOT_MX4CK_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX460F512.ld",
"mcu": "32MX460F512L",
"variant": "Cerebot_MX4cK"
},
"frameworks": ["arduino"],
"name": "Digilent chipKIT Pro MX4",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/chipkit-pro-mx4-embedded-systems-trainer-board/",
"vendor": "Digilent"
},
"chipkit_pro_mx7": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_CEREBOT_MX7CK_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX795F512.ld",
"mcu": "32MX795F512L",
"variant": "Cerebot_MX7cK"
},
"frameworks": ["arduino"],
"name": "Digilent chipKIT Pro MX7",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 131072,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/chipkit-pro-mx7-advanced-peripherals-embedded-systems-trainer-board/",
"vendor": "Digilent"
},
"chipkit_pi": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_CHIPKIT_PI_",
"f_cpu": "40000000L",
"ldscript": "cchipKIT-application-32MX250F128.ld",
"mcu": "32MX250F128B",
"variant": "ChipKIT_Pi"
},
"frameworks": ["arduino"],
"name": "Element14 chipKIT Pi",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 122880,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/microchip-chipkit/chipkit_pi",
"vendor": "element14"
},
"chipkit_cmod": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_CMOD_",
"f_cpu": "40000000L",
"ldscript": "chipKIT-application-32MX150F128.ld",
"mcu": "32MX150F128D",
"variant": "Cmod"
},
"frameworks": ["arduino"],
"name": "Digilent chipKIT Cmod",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 126976,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/chipkit-cmod-breadboardable-mz-microcontroller-board/",
"vendor": "Digilent"
},
"cui32stem": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_CUI32_ -D_USE_USB_FOR_SERIAL_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX795F512.ld",
"mcu": "32MX795F512H",
"variant": "CUI32stem"
},
"frameworks": ["arduino"],
"name": "SeeedStudio CUI32stem",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 131072,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://www.seeedstudio.com/wiki/CUI32Stem",
"vendor": "SeeedStudio"
},
"ubw32_mx460": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_UBW32_MX460_ -D_USE_USB_FOR_SERIAL_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX460F512.ld",
"mcu": "32MX460F512L",
"variant": "Default_100"
},
"frameworks": ["arduino"],
"name": "UBW32 MX460",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://www.schmalzhaus.com/UBW32/",
"vendor": "UBW32"
},
"ubw32_mx795": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_UBW32_MX795_ -D_USE_USB_FOR_SERIAL_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX795F512.ld",
"mcu": "32MX795F512L",
"variant": "Default_100"
},
"frameworks": ["arduino"],
"name": "UBW32 MX795",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 131072,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://www.schmalzhaus.com/UBW32/",
"vendor": "UBW32"
},
"usbono_pic32": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_PONTECH_UAV100_ -D_USE_USB_FOR_SERIAL_ -Danything=1",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX440F512.ld",
"mcu": "32MX440F512H",
"variant": "Default_64"
},
"frameworks": ["arduino"],
"name": "PONTECH UAV100",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://www.pontech.com/productdisplay/uav100",
"vendor": "PONTECH"
},
"chipkit_dp32": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_DP32_ -D_USE_USB_FOR_SERIAL_",
"f_cpu": "40000000L",
"ldscript": "chipKIT-application-32MX250F128.ld",
"mcu": "32MX250F128B",
"variant": "DP32"
},
"frameworks": ["arduino"],
"name": "Digilent chipKIT DP32",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 122880,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/chipkit-dp32-dip-package-prototyping-microcontroller-board/",
"vendor": "Digilent"
},
"fubarino_mini": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_FUBARINO_MINI_ -D_USE_USB_FOR_SERIAL_",
"f_cpu": "48000000L",
"ldscript": "chipKIT-application-32MX250F128.ld",
"mcu": "32MX250F128D",
"variant": "Fubarino_Mini"
},
"frameworks": ["arduino"],
"name": "Fubarino Mini",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 122880,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://fubarino.org/mini/",
"vendor": "Fubarino"
},
"fubarino_sd": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_FUBARINO_SD_ -D_USE_USB_FOR_SERIAL_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX795F512.ld",
"mcu": "32MX795F512H",
"variant": "Fubarino_SD"
},
"frameworks": ["arduino"],
"name": "Fubarino SD (1.5)",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 131072,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://fubarino.org/sd/index.html",
"vendor": "Fubarino"
},
"mega_pic32": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_MEGA_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX795F512.ld",
"mcu": "32MX795F512L",
"variant": "Max32"
},
"frameworks": ["arduino"],
"name": "Digilent chipKIT MAX32",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 131072,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/chipkit-max32-microcontroller-board-with-mega-r3-headers/",
"vendor": "Digilent"
},
"pinguino32": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_OLIMEX_PIC32_PINGUINO_ -D_USE_USB_FOR_SERIAL_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX440F256.ld",
"mcu": "32MX440F256H",
"variant": "Olimex_PIC32_Pinguino"
},
"frameworks": ["arduino"],
"name": "Olimex PIC32-PINGUINO",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 258048,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "https://www.olimex.com/Products/Duino/PIC32/PIC32-PINGUINO/open-source-hardware",
"vendor": "Olimex"
},
"picadillo_35t": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_PICADILLO_35T_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX795F512.ld",
"mcu": "32MX795F512L",
"variant": "picadillo_35t"
},
"frameworks": ["arduino"],
"name": "4DSystems PICadillo 35T",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 131072,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://www.4dsystems.com.au/product/Picadillo_35T/",
"vendor": "4DSystems"
},
"quick240_usb": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_PONTECH_QUICK240_USB_ -D_USE_USB_FOR_SERIAL_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX795F512.ld",
"mcu": "32MX795F512L",
"variant": "quicK240"
},
"frameworks": ["arduino"],
"name": "PONTECH quicK240",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 131072,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://quick240.com/quicki/",
"vendor": "PONTECH"
},
"chipkit_uc32": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_UC32_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX340F512.ld",
"mcu": "32MX340F512H",
"variant": "uC32"
},
"frameworks": ["arduino"],
"name": "Digilent chipKIT uC32",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/chipkit-uc32-basic-microcontroller-board-with-uno-r3-headers/",
"vendor": "Digilent"
},
"uno_pic32": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_UNO_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX320F128.ld",
"mcu": "32MX320F128H",
"variant": "Uno32"
},
"frameworks": ["arduino"],
"name": "Digilent chipKIT UNO32",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 126976,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/chipkit-uno32-basic-microcontroller-board-retired-see-chipkit-uc32/",
"vendor": "Digilent"
},
"chipkit_wf32": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_WF32_",
"f_cpu": "80000000L",
"ldscript": "chipKIT-application-32MX695F512.ld",
"mcu": "32MX695F512L",
"variant": "WF32"
},
"frameworks": ["arduino"],
"name": "Digilent chipKIT WF32",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 131072,
"maximum_size": 520192,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/chipkit-wf32-wifi-enabled-microntroller-board-with-uno-r3-headers/",
"vendor": "Digilent"
},
"chipkit_wifire": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_WIFIRE_",
"f_cpu": "200000000UL",
"ldscript": "MZ-application-32MZ2048ECX.ld",
"mcu": "32MZ2048ECG100",
"variant": "WiFire"
},
"frameworks": ["arduino"],
"name": "Digilent chipKIT WiFire",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 524288,
"maximum_size": 2080768,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/chipkit-wi-fire-wifi-enabled-mz-microcontroller-board/",
"vendor": "Digilent"
},
"openscope": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_OPENSCOPE_",
"f_cpu": "200000000UL",
"ldscript": "MZ-application-32MZ2048ECX.ld",
"mcu": "32MZ2048EFG124",
"variant": "OpenScope"
},
"frameworks": ["arduino"],
"name": "Digilent OpenScope",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 524288,
"maximum_size": 2080768,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/",
"vendor": "Digilent"
},
"openbci": {
"build": {
"core": "pic32",
"extra_flags": "-D_BOARD_DP32_ -D_USE_USB_FOR_SERIAL_",
"f_cpu": "40000000L",
"ldscript": "chipKIT-application-32MX250F128.ld",
"mcu": "32MX250F128B",
"variant": "OpenBCI"
},
"frameworks": ["arduino"],
"name": "Digilent OpenScope",
"platform": "microchippic32",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 122880,
"protocol": "stk500v2",
"require_upload_port" : true,
"speed": 115200,
"wait_for_upload_port": true
},
"url": "http://store.digilentinc.com/",
"vendor": "Digilent"
}
}

View File

@ -97,6 +97,23 @@ elif env.get("PLATFORM") == "nordicnrf51":
LIBS=["RFduino", "RFduinoBLE", "RFduinoGZLL", "RFduinoSystem"]
)
elif env.get("PLATFORM") == "microchippic32":
PLATFORMFW_DIR = join(
"$PIOPACKAGES_DIR",
"framework-arduinomicrochippic32"
)
env.Prepend(
LIBPATH=[
join(
"$PLATFORMFW_DIR", "cores",
"${BOARD_OPTIONS['build']['core']}"
),
join(
"$PLATFORMFW_DIR", "variants",
"${BOARD_OPTIONS['build']['variant']}"
)
]
)
env.Replace(PLATFORMFW_DIR=PLATFORMFW_DIR)

View File

@ -0,0 +1,169 @@
# Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""
Builder for Microchip PIC32 microcontrollers
"""
from os.path import join
from SCons.Script import (
COMMAND_LINE_TARGETS, AlwaysBuild, Builder, Default, DefaultEnvironment)
env = DefaultEnvironment()
env.Replace(
AR="pic32-ar",
AS="pic32-as",
CC="pic32-gcc",
CXX="pic32-g++",
OBJCOPY="pic32-objcopy",
RANLIB="pic32-ranlib",
SIZETOOL="pic32-size",
ARFLAGS=["rcs"],
ASFLAGS=[
"-g1",
"-O2",
"-Wa,--gdwarf-2",
"-mprocessor=$BOARD_MCU"
],
CCFLAGS=[
"-w",
"-g",
"-O2",
"-MMD",
"-mdebugger",
"-mno-smart-io",
"-mprocessor=$BOARD_MCU",
"-ffunction-sections",
"-fdata-sections",
"-Wcast-align",
"-fno-short-double",
"-ftoplevel-reorder"
],
CXXFLAGS=["-fno-exceptions"],
CPPDEFINES=[
"F_CPU=$BOARD_F_CPU",
"MPIDEVER=16777998",
"MPIDE=150",
"IDE=Arduino"
],
LINKFLAGS=[
"-w",
"-Os",
"-mdebugger",
"-mprocessor=$BOARD_MCU",
"-mno-peripheral-libs",
"-nostartfiles",
"-Wl,--gc-sections",
"-Wl,--script=chipKIT-application-COMMON%s.ld" % (
"-MZ" if "MZ" in env.get("BOARD_OPTIONS", {}).get(
"build", {}).get("mcu") else "")
],
LIBS=["m"],
SIZEPRINTCMD='"$SIZETOOL" -B -d $SOURCES',
UPLOADER=join("$PIOPACKAGES_DIR", "tool-pic32prog", "pic32prog"),
UPLOADERFLAGS=[
"-d", '"$UPLOAD_PORT"'
"-b", "$UPLOAD_SPEED",
],
UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS $SOURCES',
PROGNAME="firmware",
PROGSUFFIX=".elf"
)
if int(env.get("BOARD_OPTIONS", {}).get(
"upload", {}).get("maximum_ram_size", 0)) < 65535:
env.Append(
CCFLAGS=["-G1024"]
)
env.Append(
BUILDERS=dict(
ElfToEep=Builder(
action=" ".join([
"$OBJCOPY",
"-O",
"ihex",
"-j",
".eeprom",
'--set-section-flags=.eeprom="alloc,load"',
"--no-change-warnings",
"--change-section-lma",
".eeprom=0",
"$SOURCES",
"$TARGET"]),
suffix=".eep"
),
ElfToHex=Builder(
action=" ".join([
"$OBJCOPY",
"-O",
"ihex",
"-R",
".eeprom",
"$SOURCES",
"$TARGET"]),
suffix=".hex"
)
)
)
#
# Target: Build executable and linkable firmware
#
target_elf = env.BuildProgram()
#
# Target: Build the .hex
#
if "uploadlazy" in COMMAND_LINE_TARGETS:
target_firm = join("$BUILD_DIR", "firmware.hex")
else:
target_firm = env.ElfToHex(join("$BUILD_DIR", "firmware"), target_elf)
#
# Target: Print binary size
#
target_size = env.Alias("size", target_elf, "$SIZEPRINTCMD")
AlwaysBuild(target_size)
#
# Target: Upload firmware
#
upload = env.Alias(["upload", "uploadlazy"], target_firm, "$UPLOADCMD")
AlwaysBuild(upload)
#
# Target: Define targets
#
Default([target_firm, target_size])

View File

@ -47,6 +47,10 @@ PLATFORM_PACKAGES = {
("Arduino Wiring-based Framework (ESP8266 Core)",
"https://github.com/esp8266/Arduino")
],
"framework-arduinomicrochippic32": [
("Arduino Wiring-based Framework (PIC32 Core)",
"https://github.com/chipKIT32/chipKIT-core")
],
"framework-arduinonordicnrf51": [
("Arduino Wiring-based Framework (RFduino Core)",
"https://github.com/RFduino/RFduino")
@ -120,6 +124,9 @@ PLATFORM_PACKAGES = {
"toolchain-icestorm": [
("GCC for FPGA IceStorm", "http://www.clifford.at/icestorm/")
],
"toolchain-microchippic32": [
("GCC for Microchip PIC32", "https://github.com/chipKIT32/chipKIT-cxx")
],
"tool-scons": [
("SCons software construction tool", "http://www.scons.org")
],
@ -156,7 +163,10 @@ PLATFORM_PACKAGES = {
"tool-mkspiffs": [
("Tool to build and unpack SPIFFS images",
"https://github.com/igrr/mkspiffs")
]
],
"tool-pic32prog": [
("pic32prog", "https://github.com/sergev/pic32prog")
],
}

View File

@ -0,0 +1,46 @@
# Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from platformio.platforms.base import BasePlatform
class Microchippic32Platform(BasePlatform):
"""
Microchip's 32-bit portfolio with the MIPS microAptiv or M4K core offer
high performance microcontrollers, and all the tools needed to develop
your embedded projects. PIC32 MCUs gives your application the processing
power, memory and peripherals your design needs!
http://www.microchip.com/design-centers/32-bit
"""
PACKAGES = {
"toolchain-gccmicrochippic32": {
"alias": "toolchain",
"default": True
},
"framework-arduinomicrochippic32": {
"alias": "framework"
},
"tool-pic32prog": {
"alias": "uploader"
}
}
def get_name(self):
return "Microchip PIC32"