add regnual
This commit is contained in:
14
.gitignore
vendored
14
.gitignore
vendored
@@ -1,14 +1,20 @@
|
|||||||
# generated files by 'configure'
|
|
||||||
src/Makefile
|
|
||||||
src/config.h
|
|
||||||
src/gnuk.ld
|
|
||||||
*.lst
|
*.lst
|
||||||
*.o
|
*.o
|
||||||
*.pyc
|
*.pyc
|
||||||
src/.dep
|
src/.dep
|
||||||
|
src/Makefile
|
||||||
|
src/config.h
|
||||||
|
src/gnuk.ld
|
||||||
src/gnuk.bin
|
src/gnuk.bin
|
||||||
src/gnuk.dmp
|
src/gnuk.dmp
|
||||||
src/gnuk.elf
|
src/gnuk.elf
|
||||||
src/gnuk.hex
|
src/gnuk.hex
|
||||||
src/gnuk.map
|
src/gnuk.map
|
||||||
src/*.inc
|
src/*.inc
|
||||||
|
regnual/sys.h
|
||||||
|
regnual/*.inc
|
||||||
|
regnual/regnual.bin
|
||||||
|
regnual/regnual.hex
|
||||||
|
regnual/regnual.elf
|
||||||
|
regnual/usb_lld.c
|
||||||
|
regnual/usb_lld.h
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
2012-05-22 Niibe Yutaka <gniibe@fsij.org>
|
2012-05-22 Niibe Yutaka <gniibe@fsij.org>
|
||||||
|
|
||||||
|
* regnual/types.h, regnual/sys.c, regnual/regnual.ld: New.
|
||||||
|
* regnual/regnual.c, regnual/Makefile: New.
|
||||||
|
* regnual/sys-stbee.h: New.
|
||||||
|
|
||||||
* src/usb_lld.c: Support FREE_STANDING environment as well as
|
* src/usb_lld.c: Support FREE_STANDING environment as well as
|
||||||
under ChibiOS/RT.
|
under ChibiOS/RT.
|
||||||
(usb_lld_init): Call usb_lld_sys_init. Don't call user defined
|
(usb_lld_init): Call usb_lld_sys_init. Don't call user defined
|
||||||
|
|||||||
46
regnual/Makefile
Normal file
46
regnual/Makefile
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
# Makefile for reGNUal
|
||||||
|
|
||||||
|
PROJECT = regnual
|
||||||
|
|
||||||
|
SRCS = regnual.c usb_lld.c sys.c
|
||||||
|
OBJS = regnual.o usb_lld.o sys.o
|
||||||
|
LDSCRIPT= regnual.ld
|
||||||
|
|
||||||
|
###################################
|
||||||
|
MCU = cortex-m3
|
||||||
|
|
||||||
|
TRGT = arm-none-eabi-
|
||||||
|
CC = $(TRGT)gcc
|
||||||
|
LD = $(TRGT)ld
|
||||||
|
OBJCOPY = $(TRGT)objcopy
|
||||||
|
OBJDUMP = $(TRGT)objdump
|
||||||
|
|
||||||
|
# THUMB-specific options here
|
||||||
|
TOPT = -mthumb -DTHUMB
|
||||||
|
# Define C warning options here
|
||||||
|
CWARN = -Wall -Wextra -Wstrict-prototypes
|
||||||
|
MCFLAGS= -mcpu=$(MCU) -mfix-cortex-m3-ldrd
|
||||||
|
DEFS = -DFREE_STANDING
|
||||||
|
|
||||||
|
CFLAGS = -O2 -g
|
||||||
|
CFLAGS += $(CWARN) -fno-common $(MCFLAGS) $(TOPT) $(DEFS)
|
||||||
|
|
||||||
|
LDFLAGS = -T$(LDSCRIPT) -nostartfiles
|
||||||
|
|
||||||
|
|
||||||
|
####################
|
||||||
|
|
||||||
|
all: regnual.hex
|
||||||
|
|
||||||
|
regnual.hex: regnual.elf
|
||||||
|
$(OBJCOPY) -Obinary regnual.elf regnual.bin
|
||||||
|
$(OBJCOPY) -Oihex regnual.elf regnual.hex
|
||||||
|
|
||||||
|
regnual.elf: $(OBJS) $(LDSCRIPT)
|
||||||
|
$(CC) $(LDFLAGS) -o regnual.elf $(OBJS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -f $(OBJS) regnual.elf regnual.hex regnual.bin
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
-rm -f Makefile regnual.ld
|
||||||
@@ -1,182 +0,0 @@
|
|||||||
# Makefile for reGNUal
|
|
||||||
|
|
||||||
BOARD_DIR=@BOARD_DIR@
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# Build global options
|
|
||||||
# NOTE: Can be overridden externally.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Compiler options here.
|
|
||||||
ifeq ($(USE_OPT),)
|
|
||||||
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
|
|
||||||
endif
|
|
||||||
|
|
||||||
# C++ specific options here (added to USE_OPT).
|
|
||||||
ifeq ($(USE_CPPOPT),)
|
|
||||||
USE_CPPOPT = -fno-rtti
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Enable this if you want the linker to remove unused code and data
|
|
||||||
ifeq ($(USE_LINK_GC),)
|
|
||||||
USE_LINK_GC = yes
|
|
||||||
endif
|
|
||||||
|
|
||||||
# If enabled, this option allows to compile the application in THUMB mode.
|
|
||||||
ifeq ($(USE_THUMB),)
|
|
||||||
USE_THUMB = yes
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Enable register caching optimization (read documentation).
|
|
||||||
ifeq ($(USE_CURRP_CACHING),)
|
|
||||||
USE_CURRP_CACHING = no
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# Build global options
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# Architecture or project specific options
|
|
||||||
#
|
|
||||||
|
|
||||||
# Enable this if you really want to use the STM FWLib.
|
|
||||||
ifeq ($(USE_FWLIB),)
|
|
||||||
USE_FWLIB = no
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
|
||||||
# Architecture or project specific options
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# Project, sources and paths
|
|
||||||
#
|
|
||||||
|
|
||||||
# Define project name here
|
|
||||||
PROJECT = regnual
|
|
||||||
|
|
||||||
# Define linker script file here
|
|
||||||
LDSCRIPT= regnual.ld
|
|
||||||
|
|
||||||
# Imported source files
|
|
||||||
CHIBIOS = ../ChibiOS_2.0.8
|
|
||||||
include $(CHIBIOS)/os/hal/platforms/STM32/platform.mk
|
|
||||||
include $(CHIBIOS)/os/hal/hal.mk
|
|
||||||
include $(CHIBIOS)/os/ports/GCC/ARMCMx/STM32F10x/port.mk
|
|
||||||
include $(CHIBIOS)/os/kernel/kernel.mk
|
|
||||||
|
|
||||||
# C sources that can be compiled in ARM or THUMB mode depending on the global
|
|
||||||
# setting.
|
|
||||||
CSRC = $(PORTSRC) \
|
|
||||||
$(KERNSRC) \
|
|
||||||
$(HALSRC) \
|
|
||||||
$(PLATFORMSRC) \
|
|
||||||
$(BOARDSRC) \
|
|
||||||
../boards/common/hw_config.c \
|
|
||||||
$(BOARD_DIR)/board.c \
|
|
||||||
$(CHIBIOS)/os/various/evtimer.c \
|
|
||||||
$(CHIBIOS)/os/various/syscalls.c \
|
|
||||||
regnual.c usb_lld.c
|
|
||||||
|
|
||||||
# List ASM source files here
|
|
||||||
ASMSRC = $(PORTASM) \
|
|
||||||
$(CHIBIOS)/os/ports/GCC/ARMCMx/STM32F10x/vectors.s
|
|
||||||
|
|
||||||
INCDIR = $(CRYPTINCDIR) \
|
|
||||||
$(PORTINC) $(KERNINC) $(TESTINC) \
|
|
||||||
$(HALINC) $(PLATFORMINC) ../boards/common $(BOARD_DIR) \
|
|
||||||
$(CHIBIOS)/os/various
|
|
||||||
|
|
||||||
#
|
|
||||||
# Project, sources and paths
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# Compiler settings
|
|
||||||
#
|
|
||||||
|
|
||||||
MCU = cortex-m3
|
|
||||||
|
|
||||||
#TRGT = arm-elf-
|
|
||||||
TRGT = arm-none-eabi-
|
|
||||||
CC = $(TRGT)gcc
|
|
||||||
CPPC = $(TRGT)g++
|
|
||||||
# Enable loading with g++ only if you need C++ runtime support.
|
|
||||||
# NOTE: You can use C++ even without C++ support if you are careful. C++
|
|
||||||
# runtime support makes code size explode.
|
|
||||||
LD = $(TRGT)gcc
|
|
||||||
#LD = $(TRGT)g++
|
|
||||||
CP = $(TRGT)objcopy
|
|
||||||
AS = $(TRGT)gcc -x assembler-with-cpp
|
|
||||||
OD = $(TRGT)objdump
|
|
||||||
HEX = $(CP) -O ihex
|
|
||||||
BIN = $(CP) -O binary
|
|
||||||
|
|
||||||
# ARM-specific options here
|
|
||||||
AOPT =
|
|
||||||
|
|
||||||
# THUMB-specific options here
|
|
||||||
TOPT = -mthumb -DTHUMB
|
|
||||||
|
|
||||||
# Define C warning options here
|
|
||||||
CWARN = -Wall -Wextra -Wstrict-prototypes
|
|
||||||
|
|
||||||
# Define C++ warning options here
|
|
||||||
CPPWARN = -Wall -Wextra
|
|
||||||
|
|
||||||
#
|
|
||||||
# Compiler settings
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# Start of default section
|
|
||||||
#
|
|
||||||
|
|
||||||
# List all default C defines here, like -D_DEBUG=1
|
|
||||||
DDEFS = -DCORTEX_USE_BASEPRI=TRUE
|
|
||||||
|
|
||||||
# List all default ASM defines here, like -D_DEBUG=1
|
|
||||||
DADEFS =
|
|
||||||
|
|
||||||
# List all default directories to look for include files here
|
|
||||||
DINCDIR =
|
|
||||||
|
|
||||||
# List the default directory to look for the libraries here
|
|
||||||
DLIBDIR =
|
|
||||||
|
|
||||||
# List all default libraries here
|
|
||||||
DLIBS =
|
|
||||||
|
|
||||||
#
|
|
||||||
# End of default section
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# Start of user section
|
|
||||||
#
|
|
||||||
|
|
||||||
# List all user C define here, like -D_DEBUG=1
|
|
||||||
UDEFS =
|
|
||||||
|
|
||||||
# Define ASM defines here
|
|
||||||
UADEFS =
|
|
||||||
|
|
||||||
# List all user directories here
|
|
||||||
UINCDIR =
|
|
||||||
|
|
||||||
# List the user directory to look for the libraries here
|
|
||||||
ULIBDIR =
|
|
||||||
|
|
||||||
# List all user libraries here
|
|
||||||
ULIBS =
|
|
||||||
|
|
||||||
#
|
|
||||||
# End of user defines
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
include $(CHIBIOS)/os/ports/GCC/ARM/rules.mk
|
|
||||||
MCFLAGS= -mcpu=$(MCU) -mfix-cortex-m3-ldrd
|
|
||||||
|
|
||||||
distclean: clean
|
|
||||||
-rm -f Makefile regnual.ld
|
|
||||||
@@ -7,13 +7,12 @@ __stacks_total_size__ = __main_stack_size__ + __process_stack_size__;
|
|||||||
|
|
||||||
MEMORY
|
MEMORY
|
||||||
{
|
{
|
||||||
flash : org = @ORIGIN@, len = @FLASH_SIZE@k
|
ram0 : org = 0x20000000, len = 0x1400
|
||||||
ram0 : org = 0x20000000, len = @REGNUAL_START@
|
ram1 : org = 0x20001400, len = 20k - 0x1400
|
||||||
ram1 : org = 0x20001300, len = 20k - @REGNUAL_START@
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_flash_start = 0x08000000;
|
_flash_start = 0x08000000;
|
||||||
_flash_end = @FLASH_END@;
|
_flash_end = 0x08010000;
|
||||||
|
|
||||||
__ram_start__ = ORIGIN(ram0);
|
__ram_start__ = ORIGIN(ram0);
|
||||||
__ram_size__ = 20k;
|
__ram_size__ = 20k;
|
||||||
@@ -38,7 +37,7 @@ SECTIONS
|
|||||||
.text : ALIGN(16) SUBALIGN(16)
|
.text : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
_text = .;
|
||||||
KEEP(*(vectors))
|
KEEP(*(.vectors))
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
Reference in New Issue
Block a user