Create kconfig configurations for Duinomite boards.
This commit is contained in:
37
Makefile
37
Makefile
@@ -8,34 +8,6 @@
|
||||
# The `make' will compile everything, including a kernel, utilities
|
||||
# and a root filesystem image.
|
||||
|
||||
#
|
||||
# Supported boards
|
||||
#
|
||||
MAX32 = sys/pic32/max32/MAX32
|
||||
FUBARINO = sys/pic32/fubarino/FUBARINO
|
||||
FUBARINOBIG = sys/pic32/fubarino/FUBARINO-UART2CONS-UART1-SRAMC
|
||||
SDXL = sys/pic32/sdxl/SDXL
|
||||
MAXIMITE = sys/pic32/maximite/MAXIMITE
|
||||
MAXCOLOR = sys/pic32/maximite-color/MAXCOLOR
|
||||
DUINOMITE = sys/pic32/duinomite/DUINOMITE
|
||||
DUINOMITEUART = sys/pic32/duinomite-uart/DUINOMITE-UART
|
||||
DUINOMITEE = sys/pic32/duinomite-e/DUINOMITE-E
|
||||
DUINOMITEEUART = sys/pic32/duinomite-e-uart/DUINOMITE-E-UART
|
||||
PINGUINO = sys/pic32/pinguino-micro/PINGUINO-MICRO
|
||||
MMBMX7 = sys/pic32/mmb-mx7/MMB-MX7
|
||||
WF32 = sys/pic32/wf32/WF32
|
||||
UBW32 = sys/pic32/ubw32/UBW32
|
||||
UBW32UART = sys/pic32/ubw32-uart/UBW32-UART
|
||||
UBW32UARTSDRAM = sys/pic32/ubw32-uart-sdram/UBW32-UART-SDRAM
|
||||
EXPLORER16 = sys/pic32/explorer16/EXPLORER16
|
||||
STARTERKIT = sys/pic32/starter-kit/STARTER-KIT
|
||||
BAREMETAL = sys/pic32/baremetal/BAREMETAL
|
||||
RETROONE = sys/pic32/retroone/RETROONE
|
||||
PINGUINO-MICRO = sys/pic32/pinguino-micro/PINGUINO-MICRO
|
||||
|
||||
# Select target board
|
||||
TARGET ?= $(MAX32)
|
||||
|
||||
# Filesystem and swap sizes.
|
||||
FS_MBYTES = 100
|
||||
U_MBYTES = 100
|
||||
@@ -57,8 +29,6 @@ FSUTIL = tools/fsutil/fsutil
|
||||
|
||||
-include Makefile.user
|
||||
|
||||
TARGETDIR = $(shell dirname $(TARGET))
|
||||
TARGETNAME = $(shell basename $(TARGET))
|
||||
TOPSRC = $(shell pwd)
|
||||
CONFIG = $(TOPSRC)/tools/configsys/config
|
||||
|
||||
@@ -69,11 +39,8 @@ all: .profile
|
||||
$(MAKE) kernel
|
||||
$(MAKE) fs
|
||||
|
||||
kernel: $(TARGETDIR)/Makefile
|
||||
$(MAKE) -C $(TARGETDIR)
|
||||
|
||||
$(TARGETDIR)/Makefile: $(CONFIG) $(TARGETDIR)/$(TARGETNAME)
|
||||
cd $(TARGETDIR) && ../../../tools/configsys/config $(TARGETNAME)
|
||||
kernel: $(CONFIG)
|
||||
$(MAKE) -C sys/pic32 all
|
||||
|
||||
fs: sdcard.img
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
|
||||
# Programs that live in subdirectories, and have makefiles of their own.
|
||||
#
|
||||
SUBDIR = baremetal duinomite duinomite-uart duinomite-e \
|
||||
duinomite-e-uart explorer16 max32 maximite \
|
||||
SUBDIR = baremetal duinomite duinomite-emega \
|
||||
explorer16 max32 maximite \
|
||||
meb starter-kit sdxl ubw32 ubw32-uart \
|
||||
ubw32-uart-sdram baremetal fubarino mmb-mx7 maximite-color \
|
||||
32mxsdram-uart picadillo wf32 pinguino-micro
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
BUILDPATH = ../../../tools/configsys/../../sys/pic32
|
||||
H = ../../../tools/configsys/../../sys/include
|
||||
M = ../../../tools/configsys/../../sys/pic32
|
||||
S = ../../../tools/configsys/../../sys/kernel
|
||||
|
||||
vpath %.c $(M):$(S)
|
||||
vpath %.S $(M):$(S)
|
||||
|
||||
KERNOBJ += clock.o cons.o devsw.o exception.o exec_aout.o exec_conf.o exec_elf.o exec_script.o exec_subr.o gpio.o init_main.o init_sysent.o kern_clock.o kern_descrip.o kern_exec.o kern_exit.o kern_fork.o kern_mman.o kern_proc.o kern_prot.o kern_prot2.o kern_resource.o kern_sig.o kern_sig2.o kern_subr.o kern_synch.o kern_sysctl.o kern_time.o machdep.o mem.o rd_sd.o rdisk.o signal.o spi_bus.o startup.o subr_prf.o subr_rmap.o swap.o sys_generic.o sys_inode.o sys_pipe.o sys_process.o syscalls.o sysctl.o tty.o tty_subr.o tty_tty.o uart.o ufs_alloc.o ufs_bio.o ufs_bmap.o ufs_dsort.o ufs_fio.o ufs_inode.o ufs_mount.o ufs_namei.o ufs_subr.o ufs_syscalls.o ufs_syscalls2.o vers.o vfs_vnops.o vm_sched.o vm_swap.o vm_swp.o
|
||||
EXTRA_TARGETS =
|
||||
|
||||
DEFS += -DBUS_DIV=1
|
||||
DEFS += -DBUS_KHZ=40000
|
||||
DEFS += -DCONSOLE_DEVICE=tty5
|
||||
DEFS += -DCPU_IDIV=2
|
||||
DEFS += -DCPU_KHZ=80000
|
||||
DEFS += -DCPU_MUL=20
|
||||
DEFS += -DCPU_ODIV=1
|
||||
DEFS += -DCRYSTAL=8
|
||||
DEFS += -DEXEC_AOUT
|
||||
DEFS += -DEXEC_ELF
|
||||
DEFS += -DEXEC_SCRIPT
|
||||
DEFS += -DGPIO_ENABLED=YES
|
||||
DEFS += -DKERNEL
|
||||
DEFS += -DLED_DISK_PIN=1
|
||||
DEFS += -DLED_DISK_PORT=TRISC
|
||||
DEFS += -DLED_KERNEL_PIN=15
|
||||
DEFS += -DLED_KERNEL_PORT=TRISB
|
||||
DEFS += -DPIC32MX7
|
||||
DEFS += -DSD0_CS_PIN=12
|
||||
DEFS += -DSD0_CS_PORT=TRISG
|
||||
DEFS += -DSD0_ENA_PIN=13
|
||||
DEFS += -DSD0_ENA_PORT=TRISG
|
||||
DEFS += -DSD0_PORT=3
|
||||
DEFS += -DUART5_BAUD=115200
|
||||
DEFS += -DUART5_ENABLED=YES
|
||||
DEFS += -DUART5_ENA_PIN=13
|
||||
DEFS += -DUART5_ENA_PORT=TRISG
|
||||
DEFS += -DUCB_METER
|
||||
|
||||
|
||||
LDSCRIPT = ../../../tools/configsys/../../sys/pic32/cfg/bootloader-maximite.ld
|
||||
|
||||
CONFIG = DUINOMITE-E-UART
|
||||
CONFIGPATH = ../../../tools/configsys
|
||||
|
||||
include ../../../tools/configsys/../../sys/pic32/kernel-post.mk
|
||||
9
sys/pic32/duinomite-e/.gitignore
vendored
9
sys/pic32/duinomite-e/.gitignore
vendored
@@ -1,9 +0,0 @@
|
||||
.compileversion
|
||||
.deps/
|
||||
.oldversion
|
||||
machine
|
||||
sys
|
||||
unix.bin
|
||||
unix.map
|
||||
usbboot.map
|
||||
vers.c
|
||||
@@ -1,46 +0,0 @@
|
||||
BUILDPATH = ../../../tools/configsys/../../sys/pic32
|
||||
H = ../../../tools/configsys/../../sys/include
|
||||
M = ../../../tools/configsys/../../sys/pic32
|
||||
S = ../../../tools/configsys/../../sys/kernel
|
||||
|
||||
vpath %.c $(M):$(S)
|
||||
vpath %.S $(M):$(S)
|
||||
|
||||
KERNOBJ += clock.o cons.o devsw.o exception.o exec_aout.o exec_conf.o exec_elf.o exec_script.o exec_subr.o gpio.o init_main.o init_sysent.o kern_clock.o kern_descrip.o kern_exec.o kern_exit.o kern_fork.o kern_mman.o kern_proc.o kern_prot.o kern_prot2.o kern_resource.o kern_sig.o kern_sig2.o kern_subr.o kern_synch.o kern_sysctl.o kern_time.o machdep.o mem.o rd_sd.o rdisk.o signal.o spi_bus.o startup.o subr_prf.o subr_rmap.o swap.o sys_generic.o sys_inode.o sys_pipe.o sys_process.o syscalls.o sysctl.o tty.o tty_subr.o tty_tty.o ufs_alloc.o ufs_bio.o ufs_bmap.o ufs_dsort.o ufs_fio.o ufs_inode.o ufs_mount.o ufs_namei.o ufs_subr.o ufs_syscalls.o ufs_syscalls2.o usb_device.o usb_function_cdc.o usb_uart.o vers.o vfs_vnops.o vm_sched.o vm_swap.o vm_swp.o
|
||||
EXTRA_TARGETS =
|
||||
|
||||
DEFS += -DBUS_DIV=1
|
||||
DEFS += -DBUS_KHZ=40000
|
||||
DEFS += -DCONSOLE_DEVICE=ttyUSB0
|
||||
DEFS += -DCPU_IDIV=2
|
||||
DEFS += -DCPU_KHZ=80000
|
||||
DEFS += -DCPU_MUL=20
|
||||
DEFS += -DCPU_ODIV=1
|
||||
DEFS += -DCRYSTAL=8
|
||||
DEFS += -DEXEC_AOUT
|
||||
DEFS += -DEXEC_ELF
|
||||
DEFS += -DEXEC_SCRIPT
|
||||
DEFS += -DGPIO_ENABLED=YES
|
||||
DEFS += -DKERNEL
|
||||
DEFS += -DLED_DISK_PIN=1
|
||||
DEFS += -DLED_DISK_PORT=TRISC
|
||||
DEFS += -DLED_KERNEL_PIN=15
|
||||
DEFS += -DLED_KERNEL_PORT=TRISB
|
||||
DEFS += -DPIC32MX7
|
||||
DEFS += -DSD0_CS_PIN=12
|
||||
DEFS += -DSD0_CS_PORT=TRISG
|
||||
DEFS += -DSD0_ENA_PIN=13
|
||||
DEFS += -DSD0_ENA_PORT=TRISG
|
||||
DEFS += -DSD0_PORT=3
|
||||
DEFS += -DUARTUSB_ENABLED=YES
|
||||
DEFS += -DUCB_METER
|
||||
DEFS += -DUSB_MAX_EP_NUMBER=3
|
||||
DEFS += -DUSB_NUM_STRING_DESCRIPTORS=3
|
||||
|
||||
|
||||
LDSCRIPT = ../../../tools/configsys/../../sys/pic32/cfg/bootloader-maximite.ld
|
||||
|
||||
CONFIG = DUINOMITE-E
|
||||
CONFIGPATH = ../../../tools/configsys
|
||||
|
||||
include ../../../tools/configsys/../../sys/pic32/kernel-post.mk
|
||||
@@ -7,3 +7,6 @@ unix.bin
|
||||
unix.map
|
||||
usbboot.map
|
||||
vers.c
|
||||
*.h
|
||||
ioconf.c
|
||||
swapunix.c
|
||||
70
sys/pic32/duinomite-emega/Config
Normal file
70
sys/pic32/duinomite-emega/Config
Normal file
@@ -0,0 +1,70 @@
|
||||
#
|
||||
# Olimex Duinomite-eMega board
|
||||
# ============================
|
||||
# Console on USB.
|
||||
# For Windows, use the driver: http://www.schmalzhaus.com/UBW32/FW/UBW32inf.zip
|
||||
# For details, see https://github.com/RetroBSD/retrobsd/wiki/Board-Olimex-Duinomite
|
||||
#
|
||||
# To build the kernel, use:
|
||||
# cd sys/pic32/duinomite-e
|
||||
# kconfig Config
|
||||
# make clean
|
||||
# make
|
||||
#
|
||||
# Format of this file is described on page:
|
||||
# http://retrobsd.org/wiki/doku.php/doc/kconfig
|
||||
#
|
||||
architecture "pic32"
|
||||
cpu "PIC32MX7" # Processor variant
|
||||
board "DUINOMITE" # Board type
|
||||
hz 100 # Rate of clock interrupt
|
||||
ldscript "cfg/bootloader-maximite.ld" # Linker script
|
||||
|
||||
# Standard system options
|
||||
options "CPU_KHZ=80000" # Oscillator frequency of CPU core
|
||||
options "BUS_KHZ=40000" # Frequency of peripheral bus
|
||||
options "BUS_DIV=1" # Bus clock divisor 1/2/4/8
|
||||
|
||||
# LED
|
||||
options "LED_KERNEL_PORT=TRISB" # for kernel activity LED...
|
||||
options "LED_KERNEL_PIN=15" # ...use pin RB15
|
||||
options "LED_DISK_PORT=TRISC" # for disk activity LED...
|
||||
options "LED_DISK_PIN=1" # ...use pin RC1
|
||||
|
||||
# Root filesystem at /dev/sd0a, swap at /dev/sd0b
|
||||
config unix root on sd0a
|
||||
swap on sd0b
|
||||
dumps on sd0b
|
||||
|
||||
# Console options
|
||||
options "CONSOLE_DEVICE=ttyUSB0" # Console on USB
|
||||
|
||||
# Virtual UART on USB
|
||||
pseudo-device uartusb
|
||||
options "UARTUSB_ENABLED" # TODO: delete this option
|
||||
options "USB_MAX_EP_NUMBER=3"
|
||||
options "USB_NUM_STRING_DESCRIPTORS=3"
|
||||
|
||||
# SPI ports
|
||||
controller spi3 # SD card
|
||||
options "SPI_ENABLED" # TODO: delete this option
|
||||
|
||||
# microSD card
|
||||
disk sd0 at spi3 flags 0x7c # select pin RG12
|
||||
options "SD0_PORT=3" # at spi3 TODO: delete
|
||||
options "SD0_CS_PORT=TRISG" # for chip select... TODO: use flags
|
||||
options "SD0_CS_PIN=12" # ...use pin RG12 TODO: use flags
|
||||
options "SD0_ENA_PORT=TRISG" # for SD enable... TODO: use flags
|
||||
options "SD0_ENA_PIN=13" # ...use pin RG13 TODO: use flags
|
||||
|
||||
# General purpose I/O ports
|
||||
device gpio0
|
||||
options "GPIO_ENABLED" # TODO: delete this option
|
||||
|
||||
# ADC driver
|
||||
device adc0
|
||||
options "ADC_ENABLED" # TODO: delete this option
|
||||
|
||||
# PWM driver
|
||||
device pwm0
|
||||
options "PWM_ENABLED" # TODO: delete this option
|
||||
70
sys/pic32/duinomite-emega/Config-uart
Normal file
70
sys/pic32/duinomite-emega/Config-uart
Normal file
@@ -0,0 +1,70 @@
|
||||
#
|
||||
# Olimex Duinomite-eMega board
|
||||
# ============================
|
||||
# Console on UART5.
|
||||
# For Windows, use the driver: http://www.schmalzhaus.com/UBW32/FW/UBW32inf.zip
|
||||
# For details, see https://github.com/RetroBSD/retrobsd/wiki/Board-Olimex-Duinomite
|
||||
#
|
||||
# To build the kernel, use:
|
||||
# cd sys/pic32/duinomite-e
|
||||
# kconfig Config
|
||||
# make clean
|
||||
# make
|
||||
#
|
||||
# Format of this file is described on page:
|
||||
# http://retrobsd.org/wiki/doku.php/doc/kconfig
|
||||
#
|
||||
architecture "pic32"
|
||||
cpu "PIC32MX7" # Processor variant
|
||||
board "DUINOMITE" # Board type
|
||||
hz 100 # Rate of clock interrupt
|
||||
ldscript "cfg/bootloader-maximite.ld" # Linker script
|
||||
|
||||
# Standard system options
|
||||
options "CPU_KHZ=80000" # Oscillator frequency of CPU core
|
||||
options "BUS_KHZ=40000" # Frequency of peripheral bus
|
||||
options "BUS_DIV=1" # Bus clock divisor 1/2/4/8
|
||||
|
||||
# LED
|
||||
options "LED_KERNEL_PORT=TRISB" # for kernel activity LED...
|
||||
options "LED_KERNEL_PIN=15" # ...use pin RB15
|
||||
options "LED_DISK_PORT=TRISC" # for disk activity LED...
|
||||
options "LED_DISK_PIN=1" # ...use pin RC1
|
||||
|
||||
# Root filesystem at /dev/sd0a, swap at /dev/sd0b
|
||||
config unix root on sd0a
|
||||
swap on sd0b
|
||||
dumps on sd0b
|
||||
|
||||
# Console options
|
||||
options "CONSOLE_DEVICE=tty4" # Console on UART5
|
||||
|
||||
# Serial UART ports
|
||||
device uart5 # RS-232 port
|
||||
options "UART5_ENABLED" # TODO: delete this option
|
||||
options "UART5_ENA_PORT=TRISB" # for RS-232 enable... TODO: use flags
|
||||
options "UART5_ENA_PIN=13" # ...use pin RB13 TODO: use flags
|
||||
|
||||
# SPI ports
|
||||
controller spi3 # SD card
|
||||
options "SPI_ENABLED" # TODO: delete this option
|
||||
|
||||
# microSD card
|
||||
disk sd0 at spi3 flags 0x7c # select pin RG12
|
||||
options "SD0_PORT=3" # at spi3 TODO: delete
|
||||
options "SD0_CS_PORT=TRISG" # for chip select... TODO: use flags
|
||||
options "SD0_CS_PIN=12" # ...use pin RG12 TODO: use flags
|
||||
options "SD0_ENA_PORT=TRISG" # for SD enable... TODO: use flags
|
||||
options "SD0_ENA_PIN=13" # ...use pin RG13 TODO: use flags
|
||||
|
||||
# General purpose I/O ports
|
||||
device gpio0
|
||||
options "GPIO_ENABLED" # TODO: delete this option
|
||||
|
||||
# ADC driver
|
||||
device adc0
|
||||
options "ADC_ENABLED" # TODO: delete this option
|
||||
|
||||
# PWM driver
|
||||
device pwm0
|
||||
options "PWM_ENABLED" # TODO: delete this option
|
||||
360
sys/pic32/duinomite-emega/Makefile
Normal file
360
sys/pic32/duinomite-emega/Makefile
Normal file
@@ -0,0 +1,360 @@
|
||||
PARAM = -DDUINOMITE
|
||||
PARAM += -DPIC32MX7
|
||||
PARAM += -DPWM_ENABLED
|
||||
PARAM += -DADC_ENABLED
|
||||
PARAM += -DGPIO_ENABLED
|
||||
PARAM += -DSD0_ENA_PIN=13
|
||||
PARAM += -DSD0_ENA_PORT=TRISG
|
||||
PARAM += -DSD0_CS_PIN=12
|
||||
PARAM += -DSD0_CS_PORT=TRISG
|
||||
PARAM += -DSD0_PORT=3
|
||||
PARAM += -DSPI_ENABLED
|
||||
PARAM += -DUSB_NUM_STRING_DESCRIPTORS=3
|
||||
PARAM += -DUSB_MAX_EP_NUMBER=3
|
||||
PARAM += -DUARTUSB_ENABLED
|
||||
PARAM += -DCONSOLE_DEVICE=ttyUSB0
|
||||
PARAM += -DLED_DISK_PIN=1
|
||||
PARAM += -DLED_DISK_PORT=TRISC
|
||||
PARAM += -DLED_KERNEL_PIN=15
|
||||
PARAM += -DLED_KERNEL_PORT=TRISB
|
||||
PARAM += -DBUS_DIV=1
|
||||
PARAM += -DBUS_KHZ=40000
|
||||
PARAM += -DCPU_KHZ=80000
|
||||
PARAM += -DHZ=100
|
||||
LDSCRIPT = "cfg/bootloader-maximite.ld"
|
||||
#
|
||||
# Makefile for RetroBSD, pic32 target
|
||||
#
|
||||
# DEBUG is set to -g by kconfig if debugging is requested (kconfig -g).
|
||||
#
|
||||
include ../gcc-config.mk
|
||||
|
||||
AS = ${MIPS_GCC_PREFIX}as ${DEBUG} -mips32r2 -EL
|
||||
CC = ${MIPS_GCC_PREFIX}gcc ${DEBUG} -mips32r2 -EL -nostdinc -fno-builtin -Werror -Wall
|
||||
CPP = ${MIPS_GCC_PREFIX}cpp
|
||||
LD = ${MIPS_GCC_PREFIX}gcc -mips32r2 -EL
|
||||
LDFLAGS = -nostdlib -T ../${LDSCRIPT} -Wl,-Map=unix.map
|
||||
SIZE = ${MIPS_GCC_PREFIX}size
|
||||
OBJCOPY = ${MIPS_GCC_PREFIX}objcopy
|
||||
OBJDUMP = ${MIPS_GCC_PREFIX}objdump
|
||||
|
||||
ifneq (${MIPS_GCC_FORMAT},)
|
||||
LDFLAGS += -Wl,--oformat=${MIPS_GCC_FORMAT}
|
||||
endif
|
||||
|
||||
# sources are located via $S relative to the compilation directory
|
||||
S = ../..
|
||||
|
||||
DEPFLAGS = -MT $@ -MP -MD -MF .deps/$*.dep
|
||||
DEFS = -I. ${PARAM} -DKERNEL $(DEPFLAGS)
|
||||
CFLAGS = -O ${DEFS}
|
||||
|
||||
# compile rules: rules are named COMPILE_${SUFFIX}
|
||||
# SUFFIX is the file suffix, capitalized (e.g. C for a .c file).
|
||||
|
||||
COMPILE_C = ${CC} -c ${CFLAGS} $<
|
||||
COMPILE_S = ${CC} -c ${DEFS} $<
|
||||
|
||||
OBJS = exec_aout.o exec_conf.o exec_elf.o exec_script.o exec_subr.o \
|
||||
init_main.o init_sysent.o kern_clock.o kern_descrip.o \
|
||||
kern_exec.o kern_exit.o kern_fork.o kern_mman.o kern_proc.o \
|
||||
kern_prot.o kern_prot2.o kern_resource.o kern_sig.o kern_sig2.o \
|
||||
kern_subr.o kern_synch.o kern_sysctl.o kern_time.o rdisk.o \
|
||||
subr_prf.o subr_rmap.o sys_generic.o sys_inode.o sys_pipe.o \
|
||||
sys_process.o syscalls.o tty.o tty_subr.o tty_tty.o ufs_alloc.o \
|
||||
ufs_bio.o ufs_bmap.o ufs_dsort.o ufs_fio.o ufs_inode.o \
|
||||
ufs_mount.o ufs_namei.o ufs_subr.o ufs_syscalls.o \
|
||||
ufs_syscalls2.o vfs_vnops.o vm_sched.o vm_swap.o vm_swp.o adc.o \
|
||||
clock.o cons.o devsw.o exception.o gpio.o machdep.o mem.o pwm.o \
|
||||
rd_sd.o signal.o spi.o spi_bus.o swap.o sysctl.o usb_device.o \
|
||||
usb_function_cdc.o usb_uart.o
|
||||
|
||||
CFILES = $S/kernel/exec_aout.c $S/kernel/exec_conf.c $S/kernel/exec_elf.c \
|
||||
$S/kernel/exec_script.c $S/kernel/exec_subr.c \
|
||||
$S/kernel/init_main.c $S/kernel/init_sysent.c \
|
||||
$S/kernel/kern_clock.c $S/kernel/kern_descrip.c \
|
||||
$S/kernel/kern_exec.c $S/kernel/kern_exit.c \
|
||||
$S/kernel/kern_fork.c $S/kernel/kern_mman.c \
|
||||
$S/kernel/kern_proc.c $S/kernel/kern_prot.c \
|
||||
$S/kernel/kern_prot2.c $S/kernel/kern_resource.c \
|
||||
$S/kernel/kern_sig.c $S/kernel/kern_sig2.c $S/kernel/kern_subr.c \
|
||||
$S/kernel/kern_synch.c $S/kernel/kern_sysctl.c \
|
||||
$S/kernel/kern_time.c $S/kernel/rdisk.c $S/kernel/subr_prf.c \
|
||||
$S/kernel/subr_rmap.c $S/kernel/sys_generic.c \
|
||||
$S/kernel/sys_inode.c $S/kernel/sys_pipe.c \
|
||||
$S/kernel/sys_process.c $S/kernel/syscalls.c $S/kernel/tty.c \
|
||||
$S/kernel/tty_subr.c $S/kernel/tty_tty.c $S/kernel/ufs_alloc.c \
|
||||
$S/kernel/ufs_bio.c $S/kernel/ufs_bmap.c $S/kernel/ufs_dsort.c \
|
||||
$S/kernel/ufs_fio.c $S/kernel/ufs_inode.c $S/kernel/ufs_mount.c \
|
||||
$S/kernel/ufs_namei.c $S/kernel/ufs_subr.c \
|
||||
$S/kernel/ufs_syscalls.c $S/kernel/ufs_syscalls2.c \
|
||||
$S/kernel/vfs_vnops.c $S/kernel/vm_sched.c $S/kernel/vm_swap.c \
|
||||
$S/kernel/vm_swp.c $S/pic32/adc.c $S/pic32/clock.c \
|
||||
$S/pic32/cons.c $S/pic32/devsw.c $S/pic32/exception.c \
|
||||
$S/pic32/gpio.c $S/pic32/machdep.c $S/pic32/mem.c $S/pic32/pwm.c \
|
||||
$S/pic32/rd_sd.c $S/pic32/signal.c $S/pic32/spi.c \
|
||||
$S/pic32/spi_bus.c $S/pic32/swap.c $S/pic32/sysctl.c \
|
||||
$S/pic32/usb_device.c $S/pic32/usb_function_cdc.c \
|
||||
$S/pic32/usb_uart.c swapunix.c
|
||||
|
||||
# load lines for config "xxx" will be emitted as:
|
||||
# xxx: ${SYSTEM_DEP} swapxxx.o
|
||||
# ${SYSTEM_LD_HEAD}
|
||||
# ${SYSTEM_LD} swapxxx.o
|
||||
# ${SYSTEM_LD_TAIL}
|
||||
SYSTEM_OBJ = startup.o ${OBJS} #ioconf.o
|
||||
ifeq (devcfg.c,$(wildcard devcfg.c))
|
||||
SYSTEM_OBJ += devcfg.o
|
||||
endif
|
||||
SYSTEM_DEP = Makefile ioconf.c swapunix.c machine sys .deps ${SYSTEM_OBJ}
|
||||
SYSTEM_LD_HEAD = sh ../newvers.sh > vers.c; ${CC} $(CFLAGS) -c vers.c; rm -f $@
|
||||
SYSTEM_LD = -@echo ${LD} ${LDFLAGS} '$${SYSTEM_OBJ}' vers.o -o unix.elf; \
|
||||
${LD} ${LDFLAGS} ${SYSTEM_OBJ} vers.o -o unix.elf
|
||||
SYSTEM_LD_TAIL = ${SIZE} unix.elf; \
|
||||
$(OBJCOPY) -O ihex --change-addresses=0x80000000 $@ unix.hex; \
|
||||
$(OBJCOPY) -O binary -R .boot -R .config $@ unix.bin; \
|
||||
$(OBJDUMP) -d -S unix.elf > unix.dis
|
||||
|
||||
unix.elf: ${SYSTEM_DEP} swapunix.o
|
||||
${SYSTEM_LD_HEAD}
|
||||
${SYSTEM_LD} swapunix.o
|
||||
${SYSTEM_LD_TAIL}
|
||||
|
||||
swapunix.o: swapunix.c
|
||||
${COMPILE_C}
|
||||
|
||||
all: unix.elf
|
||||
|
||||
clean:
|
||||
rm -rf .deps *.elf *.o *.map *.dis *.bin
|
||||
|
||||
clean-all: clean
|
||||
rm -f *.h *.c machine sys
|
||||
|
||||
reconfig ioconf.c swapunix.c: Config ../../../tools/kconfig/kconfig
|
||||
../../../tools/kconfig/kconfig Config
|
||||
$(MAKE) clean
|
||||
|
||||
load: unix.elf
|
||||
pic32prog unix.hex
|
||||
|
||||
machine:
|
||||
ln -s .. $@
|
||||
|
||||
sys:
|
||||
ln -s ../../include $@
|
||||
|
||||
.deps:
|
||||
mkdir .deps
|
||||
|
||||
startup.o: ../startup.S
|
||||
${COMPILE_S}
|
||||
|
||||
ioconf.o: ioconf.c
|
||||
${COMPILE_C}
|
||||
|
||||
exec_aout.o: $S/kernel/exec_aout.c
|
||||
${COMPILE_C}
|
||||
|
||||
exec_conf.o: $S/kernel/exec_conf.c
|
||||
${COMPILE_C}
|
||||
|
||||
exec_elf.o: $S/kernel/exec_elf.c
|
||||
${COMPILE_C}
|
||||
|
||||
exec_script.o: $S/kernel/exec_script.c
|
||||
${COMPILE_C}
|
||||
|
||||
exec_subr.o: $S/kernel/exec_subr.c
|
||||
${COMPILE_C}
|
||||
|
||||
init_main.o: $S/kernel/init_main.c
|
||||
${COMPILE_C}
|
||||
|
||||
init_sysent.o: $S/kernel/init_sysent.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_clock.o: $S/kernel/kern_clock.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_descrip.o: $S/kernel/kern_descrip.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_exec.o: $S/kernel/kern_exec.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_exit.o: $S/kernel/kern_exit.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_fork.o: $S/kernel/kern_fork.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_mman.o: $S/kernel/kern_mman.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_proc.o: $S/kernel/kern_proc.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_prot.o: $S/kernel/kern_prot.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_prot2.o: $S/kernel/kern_prot2.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_resource.o: $S/kernel/kern_resource.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_sig.o: $S/kernel/kern_sig.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_sig2.o: $S/kernel/kern_sig2.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_subr.o: $S/kernel/kern_subr.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_synch.o: $S/kernel/kern_synch.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_sysctl.o: $S/kernel/kern_sysctl.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_time.o: $S/kernel/kern_time.c
|
||||
${COMPILE_C}
|
||||
|
||||
rdisk.o: $S/kernel/rdisk.c
|
||||
${COMPILE_C}
|
||||
|
||||
subr_prf.o: $S/kernel/subr_prf.c
|
||||
${COMPILE_C}
|
||||
|
||||
subr_rmap.o: $S/kernel/subr_rmap.c
|
||||
${COMPILE_C}
|
||||
|
||||
sys_generic.o: $S/kernel/sys_generic.c
|
||||
${COMPILE_C}
|
||||
|
||||
sys_inode.o: $S/kernel/sys_inode.c
|
||||
${COMPILE_C}
|
||||
|
||||
sys_pipe.o: $S/kernel/sys_pipe.c
|
||||
${COMPILE_C}
|
||||
|
||||
sys_process.o: $S/kernel/sys_process.c
|
||||
${COMPILE_C}
|
||||
|
||||
syscalls.o: $S/kernel/syscalls.c
|
||||
${COMPILE_C}
|
||||
|
||||
tty.o: $S/kernel/tty.c
|
||||
${COMPILE_C}
|
||||
|
||||
tty_subr.o: $S/kernel/tty_subr.c
|
||||
${COMPILE_C}
|
||||
|
||||
tty_tty.o: $S/kernel/tty_tty.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_alloc.o: $S/kernel/ufs_alloc.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_bio.o: $S/kernel/ufs_bio.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_bmap.o: $S/kernel/ufs_bmap.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_dsort.o: $S/kernel/ufs_dsort.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_fio.o: $S/kernel/ufs_fio.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_inode.o: $S/kernel/ufs_inode.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_mount.o: $S/kernel/ufs_mount.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_namei.o: $S/kernel/ufs_namei.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_subr.o: $S/kernel/ufs_subr.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_syscalls.o: $S/kernel/ufs_syscalls.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_syscalls2.o: $S/kernel/ufs_syscalls2.c
|
||||
${COMPILE_C}
|
||||
|
||||
vfs_vnops.o: $S/kernel/vfs_vnops.c
|
||||
${COMPILE_C}
|
||||
|
||||
vm_sched.o: $S/kernel/vm_sched.c
|
||||
${COMPILE_C}
|
||||
|
||||
vm_swap.o: $S/kernel/vm_swap.c
|
||||
${COMPILE_C}
|
||||
|
||||
vm_swp.o: $S/kernel/vm_swp.c
|
||||
${COMPILE_C}
|
||||
|
||||
adc.o: $S/pic32/adc.c
|
||||
${COMPILE_C}
|
||||
|
||||
clock.o: $S/pic32/clock.c
|
||||
${COMPILE_C}
|
||||
|
||||
cons.o: $S/pic32/cons.c
|
||||
${COMPILE_C}
|
||||
|
||||
devsw.o: $S/pic32/devsw.c
|
||||
${COMPILE_C}
|
||||
|
||||
exception.o: $S/pic32/exception.c
|
||||
${COMPILE_C}
|
||||
|
||||
gpio.o: $S/pic32/gpio.c
|
||||
${COMPILE_C}
|
||||
|
||||
machdep.o: $S/pic32/machdep.c
|
||||
${COMPILE_C}
|
||||
|
||||
mem.o: $S/pic32/mem.c
|
||||
${COMPILE_C}
|
||||
|
||||
pwm.o: $S/pic32/pwm.c
|
||||
${COMPILE_C}
|
||||
|
||||
rd_sd.o: $S/pic32/rd_sd.c
|
||||
${COMPILE_C}
|
||||
|
||||
signal.o: $S/pic32/signal.c
|
||||
${COMPILE_C}
|
||||
|
||||
spi.o: $S/pic32/spi.c
|
||||
${COMPILE_C}
|
||||
|
||||
spi_bus.o: $S/pic32/spi_bus.c
|
||||
${COMPILE_C}
|
||||
|
||||
swap.o: $S/pic32/swap.c
|
||||
${COMPILE_C}
|
||||
|
||||
sysctl.o: $S/pic32/sysctl.c
|
||||
${COMPILE_C}
|
||||
|
||||
usb_device.o: $S/pic32/usb_device.c
|
||||
${COMPILE_C}
|
||||
|
||||
usb_function_cdc.o: $S/pic32/usb_function_cdc.c
|
||||
${COMPILE_C}
|
||||
|
||||
usb_uart.o: $S/pic32/usb_uart.c
|
||||
${COMPILE_C}
|
||||
|
||||
|
||||
ifeq (.deps, $(wildcard .deps))
|
||||
-include .deps/*.dep
|
||||
endif
|
||||
9
sys/pic32/duinomite-uart/.gitignore
vendored
9
sys/pic32/duinomite-uart/.gitignore
vendored
@@ -1,9 +0,0 @@
|
||||
.compileversion
|
||||
.deps/
|
||||
.oldversion
|
||||
machine
|
||||
sys
|
||||
unix.bin
|
||||
unix.map
|
||||
usbboot.map
|
||||
vers.c
|
||||
@@ -1,47 +0,0 @@
|
||||
BUILDPATH = ../../../tools/configsys/../../sys/pic32
|
||||
H = ../../../tools/configsys/../../sys/include
|
||||
M = ../../../tools/configsys/../../sys/pic32
|
||||
S = ../../../tools/configsys/../../sys/kernel
|
||||
|
||||
vpath %.c $(M):$(S)
|
||||
vpath %.S $(M):$(S)
|
||||
|
||||
KERNOBJ += clock.o cons.o devsw.o exception.o exec_aout.o exec_conf.o exec_elf.o exec_script.o exec_subr.o gpio.o init_main.o init_sysent.o kern_clock.o kern_descrip.o kern_exec.o kern_exit.o kern_fork.o kern_mman.o kern_proc.o kern_prot.o kern_prot2.o kern_resource.o kern_sig.o kern_sig2.o kern_subr.o kern_synch.o kern_sysctl.o kern_time.o machdep.o mem.o rd_sd.o rdisk.o signal.o spi_bus.o startup.o subr_prf.o subr_rmap.o swap.o sys_generic.o sys_inode.o sys_pipe.o sys_process.o syscalls.o sysctl.o tty.o tty_subr.o tty_tty.o uart.o ufs_alloc.o ufs_bio.o ufs_bmap.o ufs_dsort.o ufs_fio.o ufs_inode.o ufs_mount.o ufs_namei.o ufs_subr.o ufs_syscalls.o ufs_syscalls2.o vers.o vfs_vnops.o vm_sched.o vm_swap.o vm_swp.o
|
||||
EXTRA_TARGETS =
|
||||
|
||||
DEFS += -DBUS_DIV=1
|
||||
DEFS += -DBUS_KHZ=80000
|
||||
DEFS += -DCONSOLE_DEVICE=tty4
|
||||
DEFS += -DCPU_IDIV=2
|
||||
DEFS += -DCPU_KHZ=80000
|
||||
DEFS += -DCPU_MUL=20
|
||||
DEFS += -DCPU_ODIV=1
|
||||
DEFS += -DCRYSTAL=8
|
||||
DEFS += -DEXEC_AOUT
|
||||
DEFS += -DEXEC_ELF
|
||||
DEFS += -DEXEC_SCRIPT
|
||||
DEFS += -DGPIO_ENABLED=YES
|
||||
DEFS += -DKERNEL
|
||||
DEFS += -DLED_DISK_PIN=12
|
||||
DEFS += -DLED_DISK_PORT=TRISB
|
||||
DEFS += -DLED_KERNEL_PIN=15
|
||||
DEFS += -DLED_KERNEL_PORT=TRISB
|
||||
DEFS += -DPIC32MX7
|
||||
DEFS += -DSD0_CS_PIN=5
|
||||
DEFS += -DSD0_CS_PORT=TRISD
|
||||
DEFS += -DSD0_ENA_PIN=13
|
||||
DEFS += -DSD0_ENA_PORT=TRISB
|
||||
DEFS += -DSD0_PORT=3
|
||||
DEFS += -DUART5_BAUD=115200
|
||||
DEFS += -DUART5_ENABLED=YES
|
||||
DEFS += -DUART5_ENA_PIN=13
|
||||
DEFS += -DUART5_ENA_PORT=TRISB
|
||||
DEFS += -DUCB_METER
|
||||
|
||||
|
||||
LDSCRIPT = ../../../tools/configsys/../../sys/pic32/cfg/bootloader-maximite.ld
|
||||
|
||||
CONFIG = DUINOMITE-UART
|
||||
CONFIGPATH = ../../../tools/configsys
|
||||
|
||||
include ../../../tools/configsys/../../sys/pic32/kernel-post.mk
|
||||
3
sys/pic32/duinomite/.gitignore
vendored
3
sys/pic32/duinomite/.gitignore
vendored
@@ -7,3 +7,6 @@ unix.bin
|
||||
unix.map
|
||||
usbboot.map
|
||||
vers.c
|
||||
*.h
|
||||
ioconf.c
|
||||
swapunix.c
|
||||
|
||||
69
sys/pic32/duinomite/Config
Normal file
69
sys/pic32/duinomite/Config
Normal file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
# Duinomite and Duinomite-Mega boards
|
||||
# ===================================
|
||||
# Console on USB.
|
||||
# For details, see https://github.com/RetroBSD/retrobsd/wiki/Board-Olimex-Duinomite
|
||||
#
|
||||
# To build the kernel, use:
|
||||
# cd sys/pic32/duinomite
|
||||
# kconfig Config
|
||||
# make clean
|
||||
# make
|
||||
#
|
||||
# Format of this file is described on page:
|
||||
# http://retrobsd.org/wiki/doku.php/doc/kconfig
|
||||
#
|
||||
architecture "pic32"
|
||||
cpu "PIC32MX7" # Processor variant
|
||||
board "DUINOMITE" # Board type
|
||||
hz 100 # Rate of clock interrupt
|
||||
ldscript "cfg/bootloader-maximite.ld" # Linker script
|
||||
|
||||
# Standard system options
|
||||
options "CPU_KHZ=80000" # Oscillator frequency of CPU core
|
||||
options "BUS_KHZ=80000" # Frequency of peripheral bus
|
||||
options "BUS_DIV=1" # Bus clock divisor 1/2/4/8
|
||||
|
||||
# LED
|
||||
options "LED_KERNEL_PORT=TRISB" # for kernel activity LED...
|
||||
options "LED_KERNEL_PIN=15" # ...use pin RB15
|
||||
options "LED_DISK_PORT=TRISB" # for disk activity LED...
|
||||
options "LED_DISK_PIN=12" # ...use pin RB12
|
||||
|
||||
# Root filesystem at /dev/sd0a, swap at /dev/sd0b
|
||||
config unix root on sd0a
|
||||
swap on sd0b
|
||||
dumps on sd0b
|
||||
|
||||
# Console options
|
||||
options "CONSOLE_DEVICE=ttyUSB0" # Console on USB
|
||||
|
||||
# Virtual UART on USB
|
||||
pseudo-device uartusb
|
||||
options "UARTUSB_ENABLED" # TODO: delete this option
|
||||
options "USB_MAX_EP_NUMBER=3"
|
||||
options "USB_NUM_STRING_DESCRIPTORS=3"
|
||||
|
||||
# SPI ports
|
||||
controller spi3 # SD card
|
||||
options "SPI_ENABLED" # TODO: delete this option
|
||||
|
||||
# microSD card
|
||||
disk sd0 at spi3 flags 0x45 # select pin RD5
|
||||
options "SD0_PORT=3" # at spi3 TODO: delete
|
||||
options "SD0_CS_PORT=TRISD" # for chip select... TODO: use flags
|
||||
options "SD0_CS_PIN=5" # ...use pin RD5 TODO: use flags
|
||||
options "SD0_ENA_PORT=TRISB" # for SD enable... TODO: use flags
|
||||
options "SD0_ENA_PIN=13" # ...use pin RB13 TODO: use flags
|
||||
|
||||
# General purpose I/O ports
|
||||
device gpio0
|
||||
options "GPIO_ENABLED" # TODO: delete this option
|
||||
|
||||
# ADC driver
|
||||
device adc0
|
||||
options "ADC_ENABLED" # TODO: delete this option
|
||||
|
||||
# PWM driver
|
||||
device pwm0
|
||||
options "PWM_ENABLED" # TODO: delete this option
|
||||
69
sys/pic32/duinomite/Config-uart
Normal file
69
sys/pic32/duinomite/Config-uart
Normal file
@@ -0,0 +1,69 @@
|
||||
#
|
||||
# Duinomite and Duinomite-Mega boards
|
||||
# ===================================
|
||||
# Console on UART5.
|
||||
# For details, see https://github.com/RetroBSD/retrobsd/wiki/Board-Olimex-Duinomite
|
||||
#
|
||||
# To build the kernel, use:
|
||||
# cd sys/pic32/duinomite
|
||||
# kconfig Config
|
||||
# make clean
|
||||
# make
|
||||
#
|
||||
# Format of this file is described on page:
|
||||
# http://retrobsd.org/wiki/doku.php/doc/kconfig
|
||||
#
|
||||
architecture "pic32"
|
||||
cpu "PIC32MX7" # Processor variant
|
||||
board "DUINOMITE" # Board type
|
||||
hz 100 # Rate of clock interrupt
|
||||
ldscript "cfg/bootloader-maximite.ld" # Linker script
|
||||
|
||||
# Standard system options
|
||||
options "CPU_KHZ=80000" # Oscillator frequency of CPU core
|
||||
options "BUS_KHZ=80000" # Frequency of peripheral bus
|
||||
options "BUS_DIV=1" # Bus clock divisor 1/2/4/8
|
||||
|
||||
# LED
|
||||
options "LED_KERNEL_PORT=TRISB" # for kernel activity LED...
|
||||
options "LED_KERNEL_PIN=15" # ...use pin RB15
|
||||
options "LED_DISK_PORT=TRISB" # for disk activity LED...
|
||||
options "LED_DISK_PIN=12" # ...use pin RB12
|
||||
|
||||
# Root filesystem at /dev/sd0a, swap at /dev/sd0b
|
||||
config unix root on sd0a
|
||||
swap on sd0b
|
||||
dumps on sd0b
|
||||
|
||||
# Console options
|
||||
options "CONSOLE_DEVICE=tty4" # Console on UART5
|
||||
|
||||
# Serial UART ports
|
||||
device uart5 # RS-232 port
|
||||
options "UART5_ENABLED" # TODO: delete this option
|
||||
options "UART5_ENA_PORT=TRISB" # for RS-232 enable... TODO: use flags
|
||||
options "UART5_ENA_PIN=13" # ...use pin RB13 TODO: use flags
|
||||
|
||||
# SPI ports
|
||||
controller spi3 # SD card
|
||||
options "SPI_ENABLED" # TODO: delete this option
|
||||
|
||||
# microSD card
|
||||
disk sd0 at spi3 flags 0x45 # select pin RD5
|
||||
options "SD0_PORT=3" # at spi3 TODO: delete
|
||||
options "SD0_CS_PORT=TRISD" # for chip select... TODO: use flags
|
||||
options "SD0_CS_PIN=5" # ...use pin RD5 TODO: use flags
|
||||
options "SD0_ENA_PORT=TRISB" # for SD enable... TODO: use flags
|
||||
options "SD0_ENA_PIN=13" # ...use pin RB13 TODO: use flags
|
||||
|
||||
# General purpose I/O ports
|
||||
device gpio0
|
||||
options "GPIO_ENABLED" # TODO: delete this option
|
||||
|
||||
# ADC driver
|
||||
device adc0
|
||||
options "ADC_ENABLED" # TODO: delete this option
|
||||
|
||||
# PWM driver
|
||||
device pwm0
|
||||
options "PWM_ENABLED" # TODO: delete this option
|
||||
@@ -1,48 +1,360 @@
|
||||
BUILDPATH = ../../../tools/configsys/../../sys/pic32
|
||||
H = ../../../tools/configsys/../../sys/include
|
||||
M = ../../../tools/configsys/../../sys/pic32
|
||||
S = ../../../tools/configsys/../../sys/kernel
|
||||
PARAM = -DDUINOMITE
|
||||
PARAM += -DPIC32MX7
|
||||
PARAM += -DPWM_ENABLED
|
||||
PARAM += -DADC_ENABLED
|
||||
PARAM += -DGPIO_ENABLED
|
||||
PARAM += -DSD0_ENA_PIN=13
|
||||
PARAM += -DSD0_ENA_PORT=TRISB
|
||||
PARAM += -DSD0_CS_PIN=5
|
||||
PARAM += -DSD0_CS_PORT=TRISD
|
||||
PARAM += -DSD0_PORT=3
|
||||
PARAM += -DSPI_ENABLED
|
||||
PARAM += -DUSB_NUM_STRING_DESCRIPTORS=3
|
||||
PARAM += -DUSB_MAX_EP_NUMBER=3
|
||||
PARAM += -DUARTUSB_ENABLED
|
||||
PARAM += -DCONSOLE_DEVICE=ttyUSB0
|
||||
PARAM += -DLED_DISK_PIN=12
|
||||
PARAM += -DLED_DISK_PORT=TRISB
|
||||
PARAM += -DLED_KERNEL_PIN=15
|
||||
PARAM += -DLED_KERNEL_PORT=TRISB
|
||||
PARAM += -DBUS_DIV=1
|
||||
PARAM += -DBUS_KHZ=80000
|
||||
PARAM += -DCPU_KHZ=80000
|
||||
PARAM += -DHZ=100
|
||||
LDSCRIPT = "cfg/bootloader-maximite.ld"
|
||||
#
|
||||
# Makefile for RetroBSD, pic32 target
|
||||
#
|
||||
# DEBUG is set to -g by kconfig if debugging is requested (kconfig -g).
|
||||
#
|
||||
include ../gcc-config.mk
|
||||
|
||||
vpath %.c $(M):$(S)
|
||||
vpath %.S $(M):$(S)
|
||||
AS = ${MIPS_GCC_PREFIX}as ${DEBUG} -mips32r2 -EL
|
||||
CC = ${MIPS_GCC_PREFIX}gcc ${DEBUG} -mips32r2 -EL -nostdinc -fno-builtin -Werror -Wall
|
||||
CPP = ${MIPS_GCC_PREFIX}cpp
|
||||
LD = ${MIPS_GCC_PREFIX}gcc -mips32r2 -EL
|
||||
LDFLAGS = -nostdlib -T ../${LDSCRIPT} -Wl,-Map=unix.map
|
||||
SIZE = ${MIPS_GCC_PREFIX}size
|
||||
OBJCOPY = ${MIPS_GCC_PREFIX}objcopy
|
||||
OBJDUMP = ${MIPS_GCC_PREFIX}objdump
|
||||
|
||||
KERNOBJ += adc.o clock.o cons.o devsw.o exception.o exec_aout.o exec_conf.o exec_elf.o exec_script.o exec_subr.o gpio.o init_main.o init_sysent.o kern_clock.o kern_descrip.o kern_exec.o kern_exit.o kern_fork.o kern_mman.o kern_proc.o kern_prot.o kern_prot2.o kern_resource.o kern_sig.o kern_sig2.o kern_subr.o kern_synch.o kern_sysctl.o kern_time.o machdep.o mem.o pwm.o rd_sd.o rdisk.o signal.o spi_bus.o startup.o subr_prf.o subr_rmap.o swap.o sys_generic.o sys_inode.o sys_pipe.o sys_process.o syscalls.o sysctl.o tty.o tty_subr.o tty_tty.o ufs_alloc.o ufs_bio.o ufs_bmap.o ufs_dsort.o ufs_fio.o ufs_inode.o ufs_mount.o ufs_namei.o ufs_subr.o ufs_syscalls.o ufs_syscalls2.o usb_device.o usb_function_cdc.o usb_uart.o vers.o vfs_vnops.o vm_sched.o vm_swap.o vm_swp.o
|
||||
EXTRA_TARGETS =
|
||||
ifneq (${MIPS_GCC_FORMAT},)
|
||||
LDFLAGS += -Wl,--oformat=${MIPS_GCC_FORMAT}
|
||||
endif
|
||||
|
||||
DEFS += -DADC_ENABLED=YES
|
||||
DEFS += -DBUS_DIV=1
|
||||
DEFS += -DBUS_KHZ=80000
|
||||
DEFS += -DCONSOLE_DEVICE=ttyUSB0
|
||||
DEFS += -DCPU_IDIV=2
|
||||
DEFS += -DCPU_KHZ=80000
|
||||
DEFS += -DCPU_MUL=20
|
||||
DEFS += -DCPU_ODIV=1
|
||||
DEFS += -DCRYSTAL=8
|
||||
DEFS += -DEXEC_AOUT
|
||||
DEFS += -DEXEC_ELF
|
||||
DEFS += -DEXEC_SCRIPT
|
||||
DEFS += -DGPIO_ENABLED=YES
|
||||
DEFS += -DKERNEL
|
||||
DEFS += -DLED_DISK_PIN=12
|
||||
DEFS += -DLED_DISK_PORT=TRISB
|
||||
DEFS += -DLED_KERNEL_PIN=15
|
||||
DEFS += -DLED_KERNEL_PORT=TRISB
|
||||
DEFS += -DPIC32MX7
|
||||
DEFS += -DPWM_ENABLED=YES
|
||||
DEFS += -DSD0_CS_PIN=5
|
||||
DEFS += -DSD0_CS_PORT=TRISD
|
||||
DEFS += -DSD0_ENA_PIN=13
|
||||
DEFS += -DSD0_ENA_PORT=TRISB
|
||||
DEFS += -DSD0_PORT=3
|
||||
DEFS += -DUARTUSB_ENABLED=YES
|
||||
DEFS += -DUCB_METER
|
||||
DEFS += -DUSB_MAX_EP_NUMBER=3
|
||||
DEFS += -DUSB_NUM_STRING_DESCRIPTORS=3
|
||||
# sources are located via $S relative to the compilation directory
|
||||
S = ../..
|
||||
|
||||
DEPFLAGS = -MT $@ -MP -MD -MF .deps/$*.dep
|
||||
DEFS = -I. ${PARAM} -DKERNEL $(DEPFLAGS)
|
||||
CFLAGS = -O ${DEFS}
|
||||
|
||||
# compile rules: rules are named COMPILE_${SUFFIX}
|
||||
# SUFFIX is the file suffix, capitalized (e.g. C for a .c file).
|
||||
|
||||
COMPILE_C = ${CC} -c ${CFLAGS} $<
|
||||
COMPILE_S = ${CC} -c ${DEFS} $<
|
||||
|
||||
OBJS = exec_aout.o exec_conf.o exec_elf.o exec_script.o exec_subr.o \
|
||||
init_main.o init_sysent.o kern_clock.o kern_descrip.o \
|
||||
kern_exec.o kern_exit.o kern_fork.o kern_mman.o kern_proc.o \
|
||||
kern_prot.o kern_prot2.o kern_resource.o kern_sig.o kern_sig2.o \
|
||||
kern_subr.o kern_synch.o kern_sysctl.o kern_time.o rdisk.o \
|
||||
subr_prf.o subr_rmap.o sys_generic.o sys_inode.o sys_pipe.o \
|
||||
sys_process.o syscalls.o tty.o tty_subr.o tty_tty.o ufs_alloc.o \
|
||||
ufs_bio.o ufs_bmap.o ufs_dsort.o ufs_fio.o ufs_inode.o \
|
||||
ufs_mount.o ufs_namei.o ufs_subr.o ufs_syscalls.o \
|
||||
ufs_syscalls2.o vfs_vnops.o vm_sched.o vm_swap.o vm_swp.o adc.o \
|
||||
clock.o cons.o devsw.o exception.o gpio.o machdep.o mem.o pwm.o \
|
||||
rd_sd.o signal.o spi.o spi_bus.o swap.o sysctl.o usb_device.o \
|
||||
usb_function_cdc.o usb_uart.o
|
||||
|
||||
CFILES = $S/kernel/exec_aout.c $S/kernel/exec_conf.c $S/kernel/exec_elf.c \
|
||||
$S/kernel/exec_script.c $S/kernel/exec_subr.c \
|
||||
$S/kernel/init_main.c $S/kernel/init_sysent.c \
|
||||
$S/kernel/kern_clock.c $S/kernel/kern_descrip.c \
|
||||
$S/kernel/kern_exec.c $S/kernel/kern_exit.c \
|
||||
$S/kernel/kern_fork.c $S/kernel/kern_mman.c \
|
||||
$S/kernel/kern_proc.c $S/kernel/kern_prot.c \
|
||||
$S/kernel/kern_prot2.c $S/kernel/kern_resource.c \
|
||||
$S/kernel/kern_sig.c $S/kernel/kern_sig2.c $S/kernel/kern_subr.c \
|
||||
$S/kernel/kern_synch.c $S/kernel/kern_sysctl.c \
|
||||
$S/kernel/kern_time.c $S/kernel/rdisk.c $S/kernel/subr_prf.c \
|
||||
$S/kernel/subr_rmap.c $S/kernel/sys_generic.c \
|
||||
$S/kernel/sys_inode.c $S/kernel/sys_pipe.c \
|
||||
$S/kernel/sys_process.c $S/kernel/syscalls.c $S/kernel/tty.c \
|
||||
$S/kernel/tty_subr.c $S/kernel/tty_tty.c $S/kernel/ufs_alloc.c \
|
||||
$S/kernel/ufs_bio.c $S/kernel/ufs_bmap.c $S/kernel/ufs_dsort.c \
|
||||
$S/kernel/ufs_fio.c $S/kernel/ufs_inode.c $S/kernel/ufs_mount.c \
|
||||
$S/kernel/ufs_namei.c $S/kernel/ufs_subr.c \
|
||||
$S/kernel/ufs_syscalls.c $S/kernel/ufs_syscalls2.c \
|
||||
$S/kernel/vfs_vnops.c $S/kernel/vm_sched.c $S/kernel/vm_swap.c \
|
||||
$S/kernel/vm_swp.c $S/pic32/adc.c $S/pic32/clock.c \
|
||||
$S/pic32/cons.c $S/pic32/devsw.c $S/pic32/exception.c \
|
||||
$S/pic32/gpio.c $S/pic32/machdep.c $S/pic32/mem.c $S/pic32/pwm.c \
|
||||
$S/pic32/rd_sd.c $S/pic32/signal.c $S/pic32/spi.c \
|
||||
$S/pic32/spi_bus.c $S/pic32/swap.c $S/pic32/sysctl.c \
|
||||
$S/pic32/usb_device.c $S/pic32/usb_function_cdc.c \
|
||||
$S/pic32/usb_uart.c swapunix.c
|
||||
|
||||
# load lines for config "xxx" will be emitted as:
|
||||
# xxx: ${SYSTEM_DEP} swapxxx.o
|
||||
# ${SYSTEM_LD_HEAD}
|
||||
# ${SYSTEM_LD} swapxxx.o
|
||||
# ${SYSTEM_LD_TAIL}
|
||||
SYSTEM_OBJ = startup.o ${OBJS} #ioconf.o
|
||||
ifeq (devcfg.c,$(wildcard devcfg.c))
|
||||
SYSTEM_OBJ += devcfg.o
|
||||
endif
|
||||
SYSTEM_DEP = Makefile ioconf.c swapunix.c machine sys .deps ${SYSTEM_OBJ}
|
||||
SYSTEM_LD_HEAD = sh ../newvers.sh > vers.c; ${CC} $(CFLAGS) -c vers.c; rm -f $@
|
||||
SYSTEM_LD = -@echo ${LD} ${LDFLAGS} '$${SYSTEM_OBJ}' vers.o -o unix.elf; \
|
||||
${LD} ${LDFLAGS} ${SYSTEM_OBJ} vers.o -o unix.elf
|
||||
SYSTEM_LD_TAIL = ${SIZE} unix.elf; \
|
||||
$(OBJCOPY) -O ihex --change-addresses=0x80000000 $@ unix.hex; \
|
||||
$(OBJCOPY) -O binary -R .boot -R .config $@ unix.bin; \
|
||||
$(OBJDUMP) -d -S unix.elf > unix.dis
|
||||
|
||||
unix.elf: ${SYSTEM_DEP} swapunix.o
|
||||
${SYSTEM_LD_HEAD}
|
||||
${SYSTEM_LD} swapunix.o
|
||||
${SYSTEM_LD_TAIL}
|
||||
|
||||
swapunix.o: swapunix.c
|
||||
${COMPILE_C}
|
||||
|
||||
all: unix.elf
|
||||
|
||||
clean:
|
||||
rm -rf .deps *.elf *.o *.map *.dis *.bin
|
||||
|
||||
clean-all: clean
|
||||
rm -f *.h *.c machine sys
|
||||
|
||||
reconfig ioconf.c swapunix.c: Config ../../../tools/kconfig/kconfig
|
||||
../../../tools/kconfig/kconfig Config
|
||||
$(MAKE) clean
|
||||
|
||||
load: unix.elf
|
||||
pic32prog unix.hex
|
||||
|
||||
machine:
|
||||
ln -s .. $@
|
||||
|
||||
sys:
|
||||
ln -s ../../include $@
|
||||
|
||||
.deps:
|
||||
mkdir .deps
|
||||
|
||||
startup.o: ../startup.S
|
||||
${COMPILE_S}
|
||||
|
||||
ioconf.o: ioconf.c
|
||||
${COMPILE_C}
|
||||
|
||||
exec_aout.o: $S/kernel/exec_aout.c
|
||||
${COMPILE_C}
|
||||
|
||||
exec_conf.o: $S/kernel/exec_conf.c
|
||||
${COMPILE_C}
|
||||
|
||||
exec_elf.o: $S/kernel/exec_elf.c
|
||||
${COMPILE_C}
|
||||
|
||||
exec_script.o: $S/kernel/exec_script.c
|
||||
${COMPILE_C}
|
||||
|
||||
exec_subr.o: $S/kernel/exec_subr.c
|
||||
${COMPILE_C}
|
||||
|
||||
init_main.o: $S/kernel/init_main.c
|
||||
${COMPILE_C}
|
||||
|
||||
init_sysent.o: $S/kernel/init_sysent.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_clock.o: $S/kernel/kern_clock.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_descrip.o: $S/kernel/kern_descrip.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_exec.o: $S/kernel/kern_exec.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_exit.o: $S/kernel/kern_exit.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_fork.o: $S/kernel/kern_fork.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_mman.o: $S/kernel/kern_mman.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_proc.o: $S/kernel/kern_proc.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_prot.o: $S/kernel/kern_prot.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_prot2.o: $S/kernel/kern_prot2.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_resource.o: $S/kernel/kern_resource.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_sig.o: $S/kernel/kern_sig.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_sig2.o: $S/kernel/kern_sig2.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_subr.o: $S/kernel/kern_subr.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_synch.o: $S/kernel/kern_synch.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_sysctl.o: $S/kernel/kern_sysctl.c
|
||||
${COMPILE_C}
|
||||
|
||||
kern_time.o: $S/kernel/kern_time.c
|
||||
${COMPILE_C}
|
||||
|
||||
rdisk.o: $S/kernel/rdisk.c
|
||||
${COMPILE_C}
|
||||
|
||||
subr_prf.o: $S/kernel/subr_prf.c
|
||||
${COMPILE_C}
|
||||
|
||||
subr_rmap.o: $S/kernel/subr_rmap.c
|
||||
${COMPILE_C}
|
||||
|
||||
sys_generic.o: $S/kernel/sys_generic.c
|
||||
${COMPILE_C}
|
||||
|
||||
sys_inode.o: $S/kernel/sys_inode.c
|
||||
${COMPILE_C}
|
||||
|
||||
sys_pipe.o: $S/kernel/sys_pipe.c
|
||||
${COMPILE_C}
|
||||
|
||||
sys_process.o: $S/kernel/sys_process.c
|
||||
${COMPILE_C}
|
||||
|
||||
syscalls.o: $S/kernel/syscalls.c
|
||||
${COMPILE_C}
|
||||
|
||||
tty.o: $S/kernel/tty.c
|
||||
${COMPILE_C}
|
||||
|
||||
tty_subr.o: $S/kernel/tty_subr.c
|
||||
${COMPILE_C}
|
||||
|
||||
tty_tty.o: $S/kernel/tty_tty.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_alloc.o: $S/kernel/ufs_alloc.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_bio.o: $S/kernel/ufs_bio.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_bmap.o: $S/kernel/ufs_bmap.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_dsort.o: $S/kernel/ufs_dsort.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_fio.o: $S/kernel/ufs_fio.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_inode.o: $S/kernel/ufs_inode.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_mount.o: $S/kernel/ufs_mount.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_namei.o: $S/kernel/ufs_namei.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_subr.o: $S/kernel/ufs_subr.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_syscalls.o: $S/kernel/ufs_syscalls.c
|
||||
${COMPILE_C}
|
||||
|
||||
ufs_syscalls2.o: $S/kernel/ufs_syscalls2.c
|
||||
${COMPILE_C}
|
||||
|
||||
vfs_vnops.o: $S/kernel/vfs_vnops.c
|
||||
${COMPILE_C}
|
||||
|
||||
vm_sched.o: $S/kernel/vm_sched.c
|
||||
${COMPILE_C}
|
||||
|
||||
vm_swap.o: $S/kernel/vm_swap.c
|
||||
${COMPILE_C}
|
||||
|
||||
vm_swp.o: $S/kernel/vm_swp.c
|
||||
${COMPILE_C}
|
||||
|
||||
adc.o: $S/pic32/adc.c
|
||||
${COMPILE_C}
|
||||
|
||||
clock.o: $S/pic32/clock.c
|
||||
${COMPILE_C}
|
||||
|
||||
cons.o: $S/pic32/cons.c
|
||||
${COMPILE_C}
|
||||
|
||||
devsw.o: $S/pic32/devsw.c
|
||||
${COMPILE_C}
|
||||
|
||||
exception.o: $S/pic32/exception.c
|
||||
${COMPILE_C}
|
||||
|
||||
gpio.o: $S/pic32/gpio.c
|
||||
${COMPILE_C}
|
||||
|
||||
machdep.o: $S/pic32/machdep.c
|
||||
${COMPILE_C}
|
||||
|
||||
mem.o: $S/pic32/mem.c
|
||||
${COMPILE_C}
|
||||
|
||||
pwm.o: $S/pic32/pwm.c
|
||||
${COMPILE_C}
|
||||
|
||||
rd_sd.o: $S/pic32/rd_sd.c
|
||||
${COMPILE_C}
|
||||
|
||||
signal.o: $S/pic32/signal.c
|
||||
${COMPILE_C}
|
||||
|
||||
spi.o: $S/pic32/spi.c
|
||||
${COMPILE_C}
|
||||
|
||||
spi_bus.o: $S/pic32/spi_bus.c
|
||||
${COMPILE_C}
|
||||
|
||||
swap.o: $S/pic32/swap.c
|
||||
${COMPILE_C}
|
||||
|
||||
sysctl.o: $S/pic32/sysctl.c
|
||||
${COMPILE_C}
|
||||
|
||||
usb_device.o: $S/pic32/usb_device.c
|
||||
${COMPILE_C}
|
||||
|
||||
usb_function_cdc.o: $S/pic32/usb_function_cdc.c
|
||||
${COMPILE_C}
|
||||
|
||||
usb_uart.o: $S/pic32/usb_uart.c
|
||||
${COMPILE_C}
|
||||
|
||||
|
||||
LDSCRIPT = ../../../tools/configsys/../../sys/pic32/cfg/bootloader-maximite.ld
|
||||
|
||||
CONFIG = DUINOMITE
|
||||
CONFIGPATH = ../../../tools/configsys
|
||||
|
||||
include ../../../tools/configsys/../../sys/pic32/kernel-post.mk
|
||||
ifeq (.deps, $(wildcard .deps))
|
||||
-include .deps/*.dep
|
||||
endif
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#
|
||||
# chipKIT Max32 board with SD card shield
|
||||
# =======================================
|
||||
# For details, see https://github.com/RetroBSD/retrobsd/wiki/Board-chipKIT-Max32
|
||||
#
|
||||
# To build the kernel, use:
|
||||
@@ -8,7 +9,8 @@
|
||||
# make clean
|
||||
# make
|
||||
#
|
||||
# For details, see http://retrobsd.org/wiki/doku.php/doc/kconfig
|
||||
# Format of this file is described on page:
|
||||
# http://retrobsd.org/wiki/doku.php/doc/kconfig
|
||||
#
|
||||
architecture "pic32"
|
||||
cpu "PIC32MX7" # Processor variant
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include <sys/buf.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/dk.h>
|
||||
#include <sys/sdram.h>
|
||||
#include <machine/sdram.h>
|
||||
#include <sys/rd_sdramp.h>
|
||||
#include <sys/rdisk.h>
|
||||
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
# make clean
|
||||
# make
|
||||
#
|
||||
# Format of this file is described on page:
|
||||
# http://retrobsd.org/wiki/doku.php/doc/kconfig
|
||||
#
|
||||
architecture "pic32"
|
||||
cpu "PIC32MX7" # Processor variant
|
||||
board "CHIPKIT_WF32" # Board type
|
||||
|
||||
Reference in New Issue
Block a user