mirror of
https://github.com/sipeed/Maixduino.git
synced 2026-02-19 19:51:16 +01:00
add board Maix Go support
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -30,3 +30,7 @@
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
|
||||
# vscode
|
||||
.vscode
|
||||
|
||||
|
||||
107
boards.txt
107
boards.txt
@@ -1,31 +1,106 @@
|
||||
menu.clksrc=CPU Clock Frequency
|
||||
menu.toolsloc=Tool Install Location
|
||||
menu.clksrc = CPU Clock Frequency
|
||||
menu.burn_tool_firmware = Burn Tool Firmware
|
||||
menu.burn_baudrate = Burn Baud Rate
|
||||
menu.toolsloc = Tool Install Location
|
||||
|
||||
#Sipeed M1 Dock Board
|
||||
##################################################
|
||||
############# Sipeed M1 Dock Board ###############
|
||||
|
||||
m1.name=Sipeed M1 Dock Board
|
||||
m1.name = Sipeed M1 Dock Board
|
||||
|
||||
## Toolchain
|
||||
m1.menu.toolsloc.default=Default
|
||||
m1.menu.toolsloc.manual=Manual
|
||||
m1.menu.toolsloc.default.compiler.path={runtime.tools.riscv64-unknown-elf-gcc.path}/bin/
|
||||
m1.menu.toolsloc.manual.compiler.path={runtime.tools.riscv64-unknown-elf-gcc.path}/bin/
|
||||
|
||||
#Point to the file for ./variants/<variant>/pins_arduino.h
|
||||
## CPU Clock
|
||||
m1.menu.clksrc.400 = 400MHz CPU Clock Frequency
|
||||
m1.menu.clksrc.500 = 500MHz CPU Clock Frequency
|
||||
m1.menu.clksrc.600 = 600MHz CPU Clock Frequency
|
||||
m1.menu.clksrc.400.build.f_cpu = 400000000L
|
||||
m1.menu.clksrc.500.build.f_cpu = 500000000L
|
||||
m1.menu.clksrc.600.build.f_cpu = 600000000L
|
||||
|
||||
## Burn baud rate
|
||||
m1.menu.burn_baudrate.2000000 = 2 Mbps
|
||||
m1.menu.burn_baudrate.1500000 = 1.5 Mbps
|
||||
m1.menu.burn_baudrate.1000000 = 1 Mbps
|
||||
m1.menu.burn_baudrate.2000000.build.burn_baudrate = 2000000
|
||||
m1.menu.burn_baudrate.1500000.build.burn_baudrate = 1500000
|
||||
m1.menu.burn_baudrate.1000000.build.burn_baudrate = 1000000
|
||||
|
||||
## Burn tool firmware
|
||||
m1.menu.burn_tool_firmware.dan = Default
|
||||
m1.menu.burn_tool_firmware.dan.build.burn_tool_firmware = dan
|
||||
|
||||
## Point to the file for ./variants/<variant>/pins_arduino.h
|
||||
m1.build.variant=standard
|
||||
|
||||
m1.menu.clksrc=400MHz FPGA Clock
|
||||
m1.menu.clksrc.m1.build.f_cpu=400000000L
|
||||
|
||||
m1.build.mcmodel=medany
|
||||
|
||||
#"The 'core' file directory for this board, in ./cores
|
||||
## "The 'core' file directory for this board, in ./cores
|
||||
m1.build.core=arduino
|
||||
# This sets a define for use in the compiled code.
|
||||
m1.build.board=SIPEED_M1_BOARD
|
||||
|
||||
## This sets a define for use in the compiled code.
|
||||
m1.build.board = BOARD_SIPEED_MAIX_ONE_DOCK
|
||||
m1.build.sdata.size=512
|
||||
#This selects the tool from "programmers.txt"
|
||||
|
||||
## This selects the tool from "programmers.txt"
|
||||
m1.program.tool=kflash
|
||||
m1.upload.tool=kflash
|
||||
# Limit is the 16MB Flash. Assume half is used for something else.
|
||||
|
||||
## Limit is the 16MB Flash. Assume half is used for something else.
|
||||
m1.upload.maximum_size=8388608
|
||||
m1.build.ldscript={runtime.platform.path}/cores/arduino/kendryte-standalone-sdk/lds/kendryte.ld
|
||||
m1.build.openocdcfg={runtime.tools.openocd.path}/ocd.txt
|
||||
m1.build.openocdcfg={runtime.tools.openocd.path}/ocd.txt
|
||||
|
||||
|
||||
####################################################
|
||||
############### Sipeed Maix Go Board ###############
|
||||
|
||||
go.name = Sipeed Maix Go Board
|
||||
|
||||
## Toolchain
|
||||
go.menu.toolsloc.default=Default
|
||||
go.menu.toolsloc.manual=Manual
|
||||
go.menu.toolsloc.default.compiler.path={runtime.tools.riscv64-unknown-elf-gcc.path}/bin/
|
||||
go.menu.toolsloc.manual.compiler.path={runtime.tools.riscv64-unknown-elf-gcc.path}/bin/
|
||||
|
||||
## CPU Clock
|
||||
go.menu.clksrc.400 = 400MHz CPU Clock Frequency
|
||||
go.menu.clksrc.500 = 500MHz CPU Clock Frequency
|
||||
go.menu.clksrc.600 = 600MHz CPU Clock Frequency
|
||||
go.menu.clksrc.400.build.f_cpu = 400000000L
|
||||
go.menu.clksrc.500.build.f_cpu = 500000000L
|
||||
go.menu.clksrc.600.build.f_cpu = 600000000L
|
||||
|
||||
## Burn baud rate
|
||||
go.menu.burn_baudrate.2000000 = 2 Mbps
|
||||
go.menu.burn_baudrate.1500000 = 1.5 Mbps
|
||||
go.menu.burn_baudrate.1000000 = 1 Mbps
|
||||
go.menu.burn_baudrate.2000000.build.burn_baudrate = 2000000
|
||||
go.menu.burn_baudrate.1500000.build.burn_baudrate = 1500000
|
||||
go.menu.burn_baudrate.1000000.build.burn_baudrate = 1000000
|
||||
|
||||
## Burn tool firmware
|
||||
go.menu.burn_tool_firmware.goE = open-ec
|
||||
go.menu.burn_tool_firmware.goD = CMSIS-DAP
|
||||
go.menu.burn_tool_firmware.goE.build.burn_tool_firmware = goE
|
||||
go.menu.burn_tool_firmware.goD.build.burn_tool_firmware = goD
|
||||
|
||||
## Core settings
|
||||
go.build.variant= standard
|
||||
go.build.core = arduino
|
||||
|
||||
## This sets a define for use in the compiled code.
|
||||
go.build.board = BOARD_SIPEED_MAIX_GO
|
||||
|
||||
## This selects the tool from "programmers.txt"
|
||||
go.program.tool = kflash
|
||||
go.upload.tool = kflash
|
||||
|
||||
## Limit is the 16MB Flash. Assume half is used for something else.
|
||||
go.upload.maximum_size=8388608
|
||||
go.build.ldscript={runtime.platform.path}/cores/arduino/kendryte-standalone-sdk/lds/kendryte.ld
|
||||
go.build.openocdcfg={runtime.tools.openocd.path}/ocd.txt
|
||||
|
||||
|
||||
|
||||
@@ -100,5 +100,7 @@ tools.manual_openocd.program.pattern="{path}{cmd}" -d0 -f {program.config} -c "f
|
||||
tools.kflash.path={runtime.tools.kflash.path}/
|
||||
tools.kflash.cmd=python3 {runtime.tools.kflash.path}/kflash.py
|
||||
tools.kflash.cmd.windows={runtime.tools.kflash.path}/k-flash
|
||||
tools.kflash.program.pattern={cmd} -p {serial.port} {build.path}/{build.project_name}.bin
|
||||
tools.kflash.program.pattern.windows="{cmd}" -d {serial.port} -b 2000000 {build.path}/{build.project_name}.bin
|
||||
tools.kflash.program.pattern={cmd} -n -p {serial.port} -b {build.burn_baudrate} -B {build.burn_tool_firmware} {build.path}/{build.project_name}.bin
|
||||
tools.kflash.program.pattern.windows="{cmd}" -d {serial.port} -b {build.burn_baudrate} {build.path}/{build.project_name}.bin
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
// API compatibility
|
||||
#ifdef SIPEED_M1_BOARD
|
||||
#ifdef BOARD_SIPEED_MAIX_ONE_DOCK
|
||||
|
||||
#include "sipeedm1.h"
|
||||
#else
|
||||
|
||||
#ifdef BOARD_SIPEED_MAIX_GO
|
||||
#include "sipeed_go.h"
|
||||
#endif //BOARD_SIPEED_MAIX_GO
|
||||
|
||||
#endif
|
||||
|
||||
88
variants/standard/sipeed_go.h
Normal file
88
variants/standard/sipeed_go.h
Normal file
@@ -0,0 +1,88 @@
|
||||
#ifndef _VARIANT_BOARD_SIPEED_MAIX_GO
|
||||
#define _VARIANT_BOARD_SIPEED_MAIX_GO
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define RISCV
|
||||
#include "platform.h"
|
||||
|
||||
#include "Arduino.h"
|
||||
#include "pwm.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
#include "UARTClass.h"
|
||||
extern class UARTHSClass Serial;
|
||||
extern class UARTClass Serial1;
|
||||
extern class UARTClass Serial2;
|
||||
extern class UARTClass Serial3;
|
||||
#endif
|
||||
|
||||
/* BOARD PIN DEFINE */
|
||||
/* LEDs */
|
||||
#define PIN_LED_GREEN 13
|
||||
#define PIN_LED_BLUE 12
|
||||
#define PIN_LED_RED 14
|
||||
#define PIN_LED 13
|
||||
#define LED_BUILTIN 13
|
||||
#define LED_GREEN 13
|
||||
#define LED_BLUE 12
|
||||
#define LED_RED 14
|
||||
/* KEY */
|
||||
#define KEY0 16
|
||||
/* MIC ARRAY */
|
||||
#define MIC_BCK 18
|
||||
#define MIC_WS 19
|
||||
#define MIC_DAT3 20
|
||||
#define MIC_DAT2 21
|
||||
#define MIC_DAT1 22
|
||||
#define MIC_DAT0 23
|
||||
#define MIC_LED_DAT 24
|
||||
/* SPI0 */
|
||||
#define SPI0_CS1 25
|
||||
#define SPI0_MISO 26
|
||||
#define SPI0_SCLK 27
|
||||
#define SPI0_MOSI 28
|
||||
#define SPI0_CS0 29
|
||||
/* I2S */
|
||||
#define MIC0_WS 30
|
||||
#define MIC0_DATA 31
|
||||
#define MIC0_BCK 32
|
||||
#define I2S_WS 33
|
||||
#define I2S_DA 34
|
||||
#define I2S_BCK 35
|
||||
/* LCD */
|
||||
#define LCD_CS 36
|
||||
#define LCD_RST 37
|
||||
#define LCD_DC 38
|
||||
#define LCD_WR 39
|
||||
|
||||
#define RX0 4
|
||||
#define TX0 5
|
||||
|
||||
#define RX1 6
|
||||
#define TX1 7
|
||||
|
||||
#define SDA 10
|
||||
#define SCL 9
|
||||
|
||||
static const uint8_t SS = SPI0_CS0 ;
|
||||
static const uint8_t MOSI = SPI0_MOSI;
|
||||
static const uint8_t MISO = SPI0_MISO;
|
||||
static const uint8_t SCK = SPI0_SCLK;
|
||||
|
||||
typedef struct _pwm_fpio_set_t{
|
||||
pwm_channel_number_t channel;
|
||||
pwm_device_number_t device;
|
||||
uint8_t inuse;
|
||||
}pwm_fpio_set_t;
|
||||
|
||||
|
||||
|
||||
#define VARIANT_NUM_GPIOHS (32)
|
||||
#define VARIANT_NUM_GPIO ( 8)
|
||||
#define VARIANT_NUM_PWM (12)
|
||||
#define VARIANT_NUM_I2C ( 3)
|
||||
#define VARIANT_NUM_SPI ( 3)
|
||||
#define VARIANT_NUM_UART ( 3)
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user