From ba19129961d4c83e40df170d25633fc79f504866 Mon Sep 17 00:00:00 2001 From: lottaviano Date: Tue, 24 May 2011 14:42:37 +0000 Subject: [PATCH] Update sam7x tcp server project and prepare for nightly test. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4930 38d2e660-2303-0410-9eaa-f027e97ec537 --- Makefile.test | 2 +- .../at91sam7x-ek_tcp_server.mk | 101 ++++++++-------- .../at91sam7x-ek_tcp_server_user.mk | 34 ++++-- .../at91sam7x-ek_tcp_server/cfg/cfg_adc.h | 37 ++++++ .../at91sam7x-ek_tcp_server/cfg/cfg_dac.h | 88 ++++++++++++++ .../at91sam7x-ek_tcp_server/cfg/cfg_eeprom.h | 64 ++++++++++ .../cfg/cfg_led_7seg.h | 80 +++++++++++++ .../at91sam7x-ek_tcp_server/cfg/cfg_lwip.h | 27 ++++- .../at91sam7x-ek_tcp_server/cfg/cfg_nand.h | 111 ++++++++++++++++++ .../at91sam7x-ek_tcp_server/cfg/cfg_parser.h | 20 ++++ .../at91sam7x-ek_tcp_server/cfg/cfg_proc.h | 6 + .../at91sam7x-ek_tcp_server/cfg/cfg_pwm.h | 8 ++ .../at91sam7x-ek_tcp_server/cfg/cfg_random.h | 65 ++++++++++ .../at91sam7x-ek_tcp_server/cfg/cfg_tftp.h | 20 ++++ .../at91sam7x-ek_tcp_server/cfg/cfg_usb.h | 21 ++++ .../at91sam7x-ek_tcp_server/project.bertos | 86 ++++++-------- boards/at91sam7x-ek/hw/hw_eth.c | 40 +++++++ boards/at91sam7x-ek/hw/hw_eth.h | 44 +++++++ 18 files changed, 736 insertions(+), 118 deletions(-) create mode 100644 boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_dac.h create mode 100644 boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_eeprom.h create mode 100644 boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_led_7seg.h create mode 100644 boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_nand.h create mode 100644 boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_random.h create mode 100644 boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_tftp.h create mode 100644 boards/at91sam7x-ek/hw/hw_eth.c create mode 100644 boards/at91sam7x-ek/hw/hw_eth.h diff --git a/Makefile.test b/Makefile.test index f23b560f..1eefd55c 100644 --- a/Makefile.test +++ b/Makefile.test @@ -42,6 +42,6 @@ include ./boards/stm32-p103/examples/usbmouse/usbmouse.mk include ./boards/stm32-p103/examples/usbkeyboard/usbkeyboard.mk include ./boards/ek-lm3s1968/examples/gps/gps.mk include ./boards/at91sam7x-ek/examples/sd_fat/sd_fat.mk -#include ./boards/at91sam7x-ek/examples/tcp_server/tcp_server.mk +include ./boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/at91sam7x-ek_tcp_server.mk include bertos/rules.mk diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/at91sam7x-ek_tcp_server.mk b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/at91sam7x-ek_tcp_server.mk index 694862a4..8f33912b 100644 --- a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/at91sam7x-ek_tcp_server.mk +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/at91sam7x-ek_tcp_server.mk @@ -1,99 +1,100 @@ # # Wizard autogenerated makefile. -# DO NOT EDIT, use the tcp_server_user.mk file instead. +# DO NOT EDIT, use the at91sam7x-ek_tcp_server_user.mk file instead. # # Constants automatically defined by the selected modules -tcp_server_DEBUG = 1 +at91sam7x-ek_tcp_server_DEBUG = 1 # Our target application -TRG += tcp_server +TRG += at91sam7x-ek_tcp_server -tcp_server_PREFIX = "arm-none-eabi-" +at91sam7x-ek_tcp_server_PREFIX = "arm-none-eabi-" -tcp_server_SUFFIX = "" +at91sam7x-ek_tcp_server_SUFFIX = "" -tcp_server_SRC_PATH = boards/at91sam7x-ek/examples/tcp_server +at91sam7x-ek_tcp_server_SRC_PATH = boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server -tcp_server_HW_PATH = boards/at91sam7x-ek +at91sam7x-ek_tcp_server_HW_PATH = boards/at91sam7x-ek -# Files automatically generated by the wizard. DO NOT EDIT, USE tcp_server_USER_CSRC INSTEAD! -tcp_server_WIZARD_CSRC = \ - bertos/cpu/arm/drv/timer_arm.c \ - bertos/mware/event.c \ - bertos/kern/sem.c \ +# Files automatically generated by the wizard. DO NOT EDIT, USE at91sam7x-ek_tcp_server_USER_CSRC INSTEAD! +at91sam7x-ek_tcp_server_WIZARD_CSRC = \ + at91sam7x-ek_tcp_server/hw/hw_eth.c \ + bertos/cpu/arm/drv/eth_at91.c \ + bertos/cpu/arm/drv/ser_arm.c \ + bertos/cpu/arm/drv/ser_at91.c \ bertos/cpu/arm/drv/sysirq_at91.c \ - bertos/struct/heap.c \ - bertos/io/kfile.c \ - bertos/mware/hex.c \ + bertos/cpu/arm/drv/timer_arm.c \ bertos/cpu/arm/drv/timer_at91.c \ - bertos/cpu/arm/drv/ser_at91.c \ - bertos/cpu/arm/drv/eth_at91.c \ + bertos/drv/ser.c \ bertos/drv/timer.c \ - bertos/kern/signal.c \ + bertos/io/kfile.c \ + bertos/kern/monitor.c \ bertos/kern/proc.c \ + bertos/kern/sem.c \ + bertos/kern/signal.c \ + bertos/mware/event.c \ bertos/mware/formatwr.c \ - bertos/drv/ser.c \ - bertos/kern/monitor.c \ + bertos/mware/hex.c \ bertos/net/lwip.c \ - bertos/cpu/arm/drv/ser_arm.c \ + bertos/struct/heap.c \ # -# Files automatically generated by the wizard. DO NOT EDIT, USE tcp_server_USER_PCSRC INSTEAD! -tcp_server_WIZARD_PCSRC = \ +# Files automatically generated by the wizard. DO NOT EDIT, USE at91sam7x-ek_tcp_server_USER_PCSRC INSTEAD! +at91sam7x-ek_tcp_server_WIZARD_PCSRC = \ \ # -# Files automatically generated by the wizard. DO NOT EDIT, USE tcp_server_USER_CPPASRC INSTEAD! -tcp_server_WIZARD_CPPASRC = \ +# Files automatically generated by the wizard. DO NOT EDIT, USE at91sam7x-ek_tcp_server_USER_CPPASRC INSTEAD! +at91sam7x-ek_tcp_server_WIZARD_CPPASRC = \ bertos/cpu/arm/hw/switch_ctx_arm.S \ # -# Files automatically generated by the wizard. DO NOT EDIT, USE tcp_server_USER_CXXSRC INSTEAD! -tcp_server_WIZARD_CXXSRC = \ +# Files automatically generated by the wizard. DO NOT EDIT, USE at91sam7x-ek_tcp_server_USER_CXXSRC INSTEAD! +at91sam7x-ek_tcp_server_WIZARD_CXXSRC = \ \ # -# Files automatically generated by the wizard. DO NOT EDIT, USE tcp_server_USER_ASRC INSTEAD! -tcp_server_WIZARD_ASRC = \ +# Files automatically generated by the wizard. DO NOT EDIT, USE at91sam7x-ek_tcp_server_USER_ASRC INSTEAD! +at91sam7x-ek_tcp_server_WIZARD_ASRC = \ \ # -tcp_server_CPPFLAGS = -D'CPU_FREQ=(48054857UL)' -D'ARCH=(ARCH_DEFAULT)' -D'WIZ_AUTOGEN' -I$(tcp_server_HW_PATH) -I$(tcp_server_SRC_PATH) $(tcp_server_CPU_CPPFLAGS) $(tcp_server_USER_CPPFLAGS) +at91sam7x-ek_tcp_server_CPPFLAGS = -D'CPU_FREQ=(48054857UL)' -D'ARCH=(ARCH_DEFAULT)' -D'WIZ_AUTOGEN' -I$(at91sam7x-ek_tcp_server_HW_PATH) -I$(at91sam7x-ek_tcp_server_SRC_PATH) $(at91sam7x-ek_tcp_server_CPU_CPPFLAGS) $(at91sam7x-ek_tcp_server_USER_CPPFLAGS) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -tcp_server_LDFLAGS = $(tcp_server_CPU_LDFLAGS) $(tcp_server_WIZARD_LDFLAGS) $(tcp_server_USER_LDFLAGS) +at91sam7x-ek_tcp_server_LDFLAGS = $(at91sam7x-ek_tcp_server_CPU_LDFLAGS) $(at91sam7x-ek_tcp_server_WIZARD_LDFLAGS) $(at91sam7x-ek_tcp_server_USER_LDFLAGS) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -tcp_server_CPPAFLAGS = $(tcp_server_CPU_CPPAFLAGS) $(tcp_server_WIZARD_CPPAFLAGS) $(tcp_server_USER_CPPAFLAGS) +at91sam7x-ek_tcp_server_CPPAFLAGS = $(at91sam7x-ek_tcp_server_CPU_CPPAFLAGS) $(at91sam7x-ek_tcp_server_WIZARD_CPPAFLAGS) $(at91sam7x-ek_tcp_server_USER_CPPAFLAGS) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -tcp_server_CSRC = $(tcp_server_CPU_CSRC) $(tcp_server_WIZARD_CSRC) $(tcp_server_USER_CSRC) +at91sam7x-ek_tcp_server_CSRC = $(at91sam7x-ek_tcp_server_CPU_CSRC) $(at91sam7x-ek_tcp_server_WIZARD_CSRC) $(at91sam7x-ek_tcp_server_USER_CSRC) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -tcp_server_PCSRC = $(tcp_server_CPU_PCSRC) $(tcp_server_WIZARD_PCSRC) $(tcp_server_USER_PCSRC) +at91sam7x-ek_tcp_server_PCSRC = $(at91sam7x-ek_tcp_server_CPU_PCSRC) $(at91sam7x-ek_tcp_server_WIZARD_PCSRC) $(at91sam7x-ek_tcp_server_USER_PCSRC) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -tcp_server_CPPASRC = $(tcp_server_CPU_CPPASRC) $(tcp_server_WIZARD_CPPASRC) $(tcp_server_USER_CPPASRC) +at91sam7x-ek_tcp_server_CPPASRC = $(at91sam7x-ek_tcp_server_CPU_CPPASRC) $(at91sam7x-ek_tcp_server_WIZARD_CPPASRC) $(at91sam7x-ek_tcp_server_USER_CPPASRC) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -tcp_server_CXXSRC = $(tcp_server_CPU_CXXSRC) $(tcp_server_WIZARD_CXXSRC) $(tcp_server_USER_CXXSRC) +at91sam7x-ek_tcp_server_CXXSRC = $(at91sam7x-ek_tcp_server_CPU_CXXSRC) $(at91sam7x-ek_tcp_server_WIZARD_CXXSRC) $(at91sam7x-ek_tcp_server_USER_CXXSRC) # Automatically generated by the wizard. PLEASE DO NOT EDIT! -tcp_server_ASRC = $(tcp_server_CPU_ASRC) $(tcp_server_WIZARD_ASRC) $(tcp_server_USER_ASRC) +at91sam7x-ek_tcp_server_ASRC = $(at91sam7x-ek_tcp_server_CPU_ASRC) $(at91sam7x-ek_tcp_server_WIZARD_ASRC) $(at91sam7x-ek_tcp_server_USER_ASRC) # CPU specific flags and options, defined in the CPU definition files. # Automatically generated by the wizard. PLEASE DO NOT EDIT! -tcp_server_CPU_CPPASRC = bertos/cpu/arm/hw/crt_arm7tdmi.S bertos/cpu/arm/hw/vectors_at91.S -tcp_server_CPU_CPPAFLAGS = -g -gdwarf-2 -tcp_server_CPU_CPPFLAGS = -O0 -g3 -gdwarf-2 -fverbose-asm -Ibertos/cpu/arm/ -D__ARM_AT91SAM7X256__ -tcp_server_CPU_CSRC = bertos/cpu/arm/hw/init_at91.c -tcp_server_PROGRAMMER_CPU = at91sam7 -tcp_server_CPU_LDFLAGS = -nostartfiles -Wl,--no-warn-mismatch -T bertos/cpu/arm/scripts/at91sam7_256_rom.ld -tcp_server_STOPFLASH_SCRIPT = bertos/prg_scripts/arm/stopopenocd.sh -tcp_server_CPU = arm7tdmi -tcp_server_STOPDEBUG_SCRIPT = bertos/prg_scripts/arm/stopopenocd.sh -tcp_server_DEBUG_SCRIPT = bertos/prg_scripts/arm/debug.sh -tcp_server_FLASH_SCRIPT = bertos/prg_scripts/arm/flash.sh - -include $(tcp_server_SRC_PATH)/tcp_server_user.mk +at91sam7x-ek_tcp_server_CPU_CPPASRC = bertos/cpu/arm/hw/crt_arm7tdmi.S bertos/cpu/arm/hw/vectors_at91.S +at91sam7x-ek_tcp_server_CPU_CPPAFLAGS = -g -gdwarf-2 +at91sam7x-ek_tcp_server_CPU_CPPFLAGS = -O0 -g3 -gdwarf-2 -fverbose-asm -Ibertos/cpu/arm/ -D__ARM_AT91SAM7X256__ +at91sam7x-ek_tcp_server_CPU_CSRC = bertos/cpu/arm/hw/init_at91.c +at91sam7x-ek_tcp_server_PROGRAMMER_CPU = at91sam7 +at91sam7x-ek_tcp_server_CPU_LDFLAGS = -nostartfiles -Wl,--no-warn-mismatch -Wl,-dT bertos/cpu/arm/scripts/at91sam7_256_rom.ld +at91sam7x-ek_tcp_server_STOPFLASH_SCRIPT = bertos/prg_scripts/arm/stopopenocd.sh +at91sam7x-ek_tcp_server_CPU = arm7tdmi +at91sam7x-ek_tcp_server_STOPDEBUG_SCRIPT = bertos/prg_scripts/arm/stopopenocd.sh +at91sam7x-ek_tcp_server_DEBUG_SCRIPT = bertos/prg_scripts/arm/debug.sh +at91sam7x-ek_tcp_server_FLASH_SCRIPT = bertos/prg_scripts/arm/flash.sh + +include $(at91sam7x-ek_tcp_server_SRC_PATH)/at91sam7x-ek_tcp_server_user.mk diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/at91sam7x-ek_tcp_server_user.mk b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/at91sam7x-ek_tcp_server_user.mk index 2e889937..2fa486a8 100644 --- a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/at91sam7x-ek_tcp_server_user.mk +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/at91sam7x-ek_tcp_server_user.mk @@ -4,41 +4,53 @@ # # Programmer interface configuration, see http://dev.bertos.org/wiki/ProgrammerInterface for help -tcp_server_PROGRAMMER_TYPE = none -tcp_server_PROGRAMMER_PORT = none +at91sam7x-ek_tcp_server_PROGRAMMER_TYPE = none +at91sam7x-ek_tcp_server_PROGRAMMER_PORT = none # Files included by the user. -tcp_server_USER_CSRC = \ - $(tcp_server_SRC_PATH)/main.c \ +at91sam7x-ek_tcp_server_USER_CSRC = \ + $(at91sam7x-ek_tcp_server_SRC_PATH)/main.c \ # # Files included by the user. -tcp_server_USER_PCSRC = \ +at91sam7x-ek_tcp_server_USER_PCSRC = \ # # Files included by the user. -tcp_server_USER_CPPASRC = \ +at91sam7x-ek_tcp_server_USER_CPPASRC = \ # # Files included by the user. -tcp_server_USER_CXXSRC = \ +at91sam7x-ek_tcp_server_USER_CXXSRC = \ # # Files included by the user. -tcp_server_USER_ASRC = \ +at91sam7x-ek_tcp_server_USER_ASRC = \ # # Flags included by the user. -tcp_server_USER_LDFLAGS = \ +at91sam7x-ek_tcp_server_USER_LDFLAGS = \ # # Flags included by the user. -tcp_server_USER_CPPAFLAGS = \ +at91sam7x-ek_tcp_server_USER_CPPAFLAGS = \ # # Flags included by the user. -tcp_server_USER_CPPFLAGS = \ +at91sam7x-ek_tcp_server_USER_CPPFLAGS = \ -Os \ -fno-strict-aliasing \ -fwrapv \ + -Wno-cast-qual \ + # + +# Silence very annoying lwip warnings +lwip_CFLAGS = \ + -Wno-cast-align \ + -Wno-cast-qual \ + -Wno-sign-compare \ + -Wno-format \ + -Wno-unused-value \ + -Wno-conversion \ + -Wno-missing-noreturn \ # diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_adc.h b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_adc.h index df2587be..62ee6ed7 100644 --- a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_adc.h +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_adc.h @@ -109,4 +109,41 @@ */ #define CONFIG_ADC_STROBE 0 + +/** + * Start up timer[s] = startup value / ADCClock [Hz] + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "sam3_adc_sut" + * $WIZ$ supports = "sam3" + */ +#define CONFIG_ADC_SUT ADC_SUT512 + +/** + * Analog Settling Time[s] = settling value / ADCClock[Hz] + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "sam3_adc_stt" + * $WIZ$ supports = "sam3" + */ +#define CONFIG_ADC_STTLING ADC_AST17 + +/** + * Tracking Time[s] = (TRACKTIM + 1) / ADCClock[Hz] + * + * $WIZ$ type = "int" + * $WIZ$ min = 0 + * $WIZ$ supports = "sam3" + */ +#define CONFIG_ADC_TRACKTIM 0 + +/** + * Transfer Period[s] = (TRANSFER * 2 + 3) ADCClock[Hz] + * + * $WIZ$ type = "int" + * $WIZ$ min = 0 + * $WIZ$ supports = "sam3" + */ +#define CONFIG_ADC_TRANSFER 1 + #endif /* CFG_ADC_H */ diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_dac.h b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_dac.h new file mode 100644 index 00000000..1ae1e984 --- /dev/null +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_dac.h @@ -0,0 +1,88 @@ +/** + * \file + * + * + * \brief Configuration file for DAC module. + * + * + * \author Daniele Basile + */ + +#ifndef CFG_DAC_H +#define CFG_DAC_H + +/** + * Module logging level. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define DAC_LOG_LEVEL LOG_LVL_WARN + +/** + * Module logging format. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define DAC_LOG_FORMAT LOG_FMT_TERSE + +/** + * DAC Refresh Period = 1024*REFRESH/DACC Clock + * + * $WIZ$ type = "int" + * $WIZ$ supports = "sam3x" + * $WIZ$ min = 0 + * $WIZ$ max = 65536 + */ +#define CONFIG_DAC_REFRESH 16 + +/** + * DAC Startup Time Selection. + * see datasheet table. + * + * $WIZ$ type = "int" + * $WIZ$ supports = "sam3x" + * $WIZ$ min = 0 + * $WIZ$ max = 63 + */ +#define CONFIG_DAC_STARTUP 0 + +/** + * DAC Trigger Selection. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "sam3x_dac_tc" + * $WIZ$ supports = "sam3x" + */ +#define CONFIG_DAC_TIMER DACC_TRGSEL_TIO_CH0 + +#endif /* CFG_DAC_H */ diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_eeprom.h b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_eeprom.h new file mode 100644 index 00000000..b56c1f9c --- /dev/null +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_eeprom.h @@ -0,0 +1,64 @@ +/** + * \file + * + * + * \brief Configuration file for the Eeprom module. + * + * \author Daniele Basile + */ + +#ifndef CFG_EEPROM_H +#define CFG_EEPROM_H + +/** + * Module logging level. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define EEPROM_LOG_LEVEL LOG_LVL_INFO + +/** + * Module logging format. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define EEPROM_LOG_FORMAT LOG_FMT_TERSE + +/** + * Check this to disable Eeprom deprecated API support. + * + * $WIZ$ type = "boolean" + */ +#define CONFIG_EEPROM_DISABLE_OLD_API 0 + +#endif /* CFG_EEPROM_H */ diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_led_7seg.h b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_led_7seg.h new file mode 100644 index 00000000..d854b11d --- /dev/null +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_led_7seg.h @@ -0,0 +1,80 @@ +/** + * \file cfg_led_7seg.h + * + * + * \brief Configuration file for led 7 segment display. + * + * \author Fabio Bizzi + * + * \addtogroup SevenSegDisplay 7 Segments LED Displays Driver + * \{ + * + */ + +#ifndef CFG_LED_7SEG_H +#define CFG_LED_7SEG_H + +/** + * Use a Common Cathode display. + * $WIZ$ type = "boolean" + */ +#define CONFIG_LED_7SEG_CCAT 0 + +/** + * Number of digit present in the LED display. + * $WIZ$ type = "int" + * $WIZ$ min = 1 + * $WIZ$ max = 8 + */ +#define CONFIG_LED_7SEG_DIGIT 4 + +/** + * Max lenght of the string to be displayed. + * $WIZ$ type = "int" + * $WIZ$ min = 16 + * $WIZ$ max = 255 + */ +#define CONFIG_LED_7SEG_STRLEN 255 + +/** + * Default scrolling speed (ms * CONFIG_LED_7SEG_RTIME). + * $WIZ$ type = "int" + */ +#define CONFIG_LED_7SEG_SSPEED 10 + +/** + * Default refresh time (ms). + * $WIZ$ type = "int" + */ +#define CONFIG_LED_7SEG_RTIME 5 + +#endif /* CFG_LED_7SEG_H */ + /** \} */ //defgroup drivers + diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_lwip.h b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_lwip.h index 232afef5..fdb4f11e 100644 --- a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_lwip.h +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_lwip.h @@ -133,8 +133,10 @@ /** * MEM_ALIGNMENT: should be set to the alignment of the CPU + * \verbatim * 4 byte alignment -> #define MEM_ALIGNMENT 4 * 2 byte alignment -> #define MEM_ALIGNMENT 2 + * \endverbatim */ #ifndef MEM_ALIGNMENT #define MEM_ALIGNMENT 4 @@ -357,11 +359,11 @@ --------------------------------- */ /** - * Enable ARP functionality. - * - * $WIZ$ type = "boolean" + * LWIP_ARP==1: Enable ARP functionality. */ +#ifndef LWIP_ARP #define LWIP_ARP 1 +#endif /** * ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached. @@ -701,12 +703,16 @@ /** DNS_LOCAL_HOSTLIST: Implements a local host-to-address list. If enabled, * you have to define + * \code * #define DNS_LOCAL_HOSTLIST_INIT {{"host1", 0x123}, {"host2", 0x234}} + * \endcode * (an array of structs name/address, where address is an u32_t in network * byte order). * * Instead, you can also use an external function: + * \code * #define DNS_LOOKUP_LOCAL_EXTERN(x) extern u32_t my_lookup_function(const char *name) + * \endcode * that returns the IP address or INADDR_NONE if not found. */ #ifndef DNS_LOCAL_HOSTLIST @@ -1200,6 +1206,13 @@ * $WIZ$ type = "boolean" */ #define LWIP_SOCKET 0 +#if LWIP_SOCKET + /* + * The sockets.c file requires this macro to be defined to really + * set errno on errors. + */ + #define ERRNO +#endif /** * Enable BSD-style sockets functions names. @@ -1211,11 +1224,13 @@ #endif /** - * Enable POSIX-style sockets functions names. - * - * $WIZ$ type = "boolean" + * LWIP_POSIX_SOCKETS_IO_NAMES==1: Enable POSIX-style sockets functions names. + * Disable this option if you use a POSIX operating system that uses the same + * names (read, write & close). (only used if you use sockets.c) */ +#ifndef LWIP_POSIX_SOCKETS_IO_NAMES #define LWIP_POSIX_SOCKETS_IO_NAMES 0 +#endif /** * LWIP_TCP_KEEPALIVE==1: Enable TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_nand.h b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_nand.h new file mode 100644 index 00000000..bd3b2623 --- /dev/null +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_nand.h @@ -0,0 +1,111 @@ +/** + * \file + * + * + * \author Stefano Fedrigo + * + * \brief Configuration file for NAND driver module. + */ + +#ifndef CFG_NAND_H +#define CFG_NAND_H + +/** + * Page data size + * + * Size of the data section of a programmable page in bytes. + * + * $WIZ$ type = "int" + */ +#define CONFIG_NAND_DATA_SIZE 2048 + +/** + * Page spare area size + * + * Size of the spare section of a programmable page in bytes. + * + * $WIZ$ type = "int" + */ +#define CONFIG_NAND_SPARE_SIZE 64 + +/** + * Pages per block + * + * Number of pages in a erase block. + * + * $WIZ$ type = "int" + */ +#define CONFIG_NAND_PAGES_PER_BLOCK 64 + +/** + * Number of blocks + * + * Total number of erase blocks in one NAND chip. + * + * $WIZ$ type = "int" + */ +#define CONFIG_NAND_NUM_BLOCK 2048 + +/** + * Number of reserved blocks + * + * Blocks reserved for remapping defective NAND blocks. + * + * $WIZ$ type = "int" + */ +#define CONFIG_NAND_NUM_REMAP_BLOCKS 128 + +/** + * NAND operations timeout + * + * How many milliseconds the cpu waits for + * completion of NAND operations. + * + * $WIZ$ type = "int" + */ +#define CONFIG_NAND_TMOUT 100 + +/** + * Module logging level + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define CONFIG_NAND_LOG_LEVEL LOG_LVL_WARN + +/** + * Module logging format + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define CONFIG_NAND_LOG_FORMAT LOG_FMT_TERSE + +#endif /* CFG_NAND_H */ diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_parser.h b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_parser.h index 572b4a24..67e091a5 100644 --- a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_parser.h +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_parser.h @@ -38,7 +38,27 @@ #ifndef CFG_PARSER_H #define CFG_PARSER_H +/** + * Max number of arguments and results for each command + * $WIZ$ type = "int" + * $WIZ$ min = 0 + */ +#define CONFIG_PARSER_MAX_ARGS 4 + +/** + * Max number of commands + * $WIZ$ type = "int" + * $WIZ$ min = 8 + */ +#define CONFIG_MAX_COMMANDS_NUMBER 16 +/** + * Enable compatibility behaviour. + * + * Skip the first word from incoming commands. Don't enable in new projects. + * $WIZ$ type = "boolean" + */ +#define CONFIG_ENABLE_COMPAT_BEHAVIOUR 1 #endif /* CFG_PARSER_H */ diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_proc.h b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_proc.h index 4c55c795..785fe736 100644 --- a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_proc.h +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_proc.h @@ -74,6 +74,12 @@ */ #define CONFIG_KERN_PRI 1 +/** + * Priority-inheritance protocol. + * $WIZ$ type = "boolean" + */ +#define CONFIG_KERN_PRI_INHERIT 0 + /** * Dynamic memory allocation for processes. * $WIZ$ type = "boolean" diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_pwm.h b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_pwm.h index 595189e6..68d62837 100644 --- a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_pwm.h +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_pwm.h @@ -53,4 +53,12 @@ */ #define PWM_LOG_FORMAT LOG_FMT_VERBOSE +/** + * Enable the OLD pwm API. + * Not recommended for new projects. + * + * $WIZ$ type = "boolean" + */ +#define CFG_PWM_ENABLE_OLD_API 1 + #endif /* CFG_PWM_H */ diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_random.h b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_random.h new file mode 100644 index 00000000..5e3afdff --- /dev/null +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_random.h @@ -0,0 +1,65 @@ +/** + * \file + * + * + * \author Andrea Righi + * + * \brief Configuration file for the "random" module + */ + +#ifndef CFG_RANDOM_H +#define CFG_RANDOM_H + +/** + * Module logging level. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define RANDOM_LOG_LEVEL LOG_LVL_INFO + +/** + * module logging format. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define RANDOM_LOG_FORMAT LOG_FMT_TERSE + +/** + * Random security level. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "random_level" + */ +#define RANDOM_SECURITY_LEVEL RANDOM_SECURITY_MINIMUM + +#endif /* CFG_RANDOM_H */ diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_tftp.h b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_tftp.h new file mode 100644 index 00000000..36cc622c --- /dev/null +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_tftp.h @@ -0,0 +1,20 @@ +#ifndef CFG_TFTP_H +#define CFG_TFTP_H + +/** + * Module logging level. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_level" + */ +#define TFTP_LOG_LEVEL LOG_LVL_WARN + +/** + * Module logging format. + * + * $WIZ$ type = "enum" + * $WIZ$ value_list = "log_format" + */ +#define TFTP_LOG_FORMAT LOG_FMT_VERBOSE + +#endif /* CFG_TFTP_H */ diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_usb.h b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_usb.h index e5a282b1..dbfd6fe1 100644 --- a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_usb.h +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/cfg/cfg_usb.h @@ -61,4 +61,25 @@ */ #define CONFIG_USB_BUFSIZE 64 +/** + * Maximum number of USB device interfaces (default = 1). + * $WIZ$ type = "int" + * $WIZ$ min = 1 + */ +#define CONFIG_USB_INTERFACE_MAX 1 + +/** + * Maximum number of allocated endpoints (0 = auto). + * $WIZ$ type = "int" + * $WIZ$ min = 0 + */ +#define CONFIG_USB_EP_MAX 0 + +/** + * Maximum packet size of the control endpoint 0 [bytes]. + * $WIZ$ type = "int" + * $WIZ$ min = 8 + */ +#define CONFIG_EP0_MAX_SIZE 8 + #endif /* CFG_USB_H */ diff --git a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/project.bertos b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/project.bertos index 77567d8a..2ab4c882 100644 --- a/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/project.bertos +++ b/boards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server/project.bertos @@ -5,89 +5,75 @@ S'../../../..' p2 sS'SELECTED_FREQ' p3 -V48023000 +V48054857 p4 sS'WIZARD_VERSION' p5 -I3 +I4 sS'PROJECT_NAME' p6 -Vtcp_server +Vat91sam7x-ek_tcp_server p7 sS'TOOLCHAIN' p8 (dp9 -Vtarget +S'path' p10 -Varm-none-eabi +Varm-none-eabi-gcc p11 -sVthread +ssS'PROJECT_HW_PATH_FROM_MAKEFILE' p12 -Vsingle +Vboards/at91sam7x-ek p13 -sVconfigured +sS'ENABLED_MODULES' p14 -V/scratch/julian/2010q1-release-eabi-lite/src/gcc-4.4-2010q1/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-eabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-gnu-as --with-gnu-ld --with-specs='%{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --disable-shared --disable-lto --with-newlib --with-pkgversion='Sourcery G++ Lite 2010q1-188' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-headers=yes --with-sysroot=/opt/codesourcery/arm-none-eabi --with-build-sysroot=/scratch/julian/2010q1-release-eabi-lite/install/arm-none-eabi --with-gmp=/scratch/julian/2010q1-release-eabi-lite/obj/host-libs-2010q1-188-arm-none-eabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/2010q1-release-eabi-lite/obj/host-libs-2010q1-188-arm-none-eabi-i686-pc-linux-gnu/usr --with-ppl=/scratch/julian/2010q1-release-eabi-lite/obj/host-libs-2010q1-188-arm-none-eabi-i686-pc-linux-gnu/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-cloog=/scratch/julian/2010q1-release-eabi-lite/obj/host-libs-2010q1-188-arm-none-eabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/2010q1-release-eabi-lite/install/arm-none-eabi/bin --with-build-time-tools=/scratch/julian/2010q1-release-eabi-lite/install/arm-none-eabi/bin -p15 -sVversion +(lp15 +S'debug' p16 -V4.4.1 +aS'eth' p17 -sVbuild +aS'formatwr' p18 -VSourcery G++ Lite 2010q1-188 +aS'heap' p19 -sVpath +aS'kernel' p20 -V/opt/sourcery/bin/arm-none-eabi-gcc +aS'kfile' p21 -ssS'ENABLED_MODULES' +aS'lwip' p22 -(lp23 -S'monitor' +aS'monitor' +p23 +aS'msg' p24 -aS'signal' +aS'semaphores' p25 -aS'debug' +aS'ser' p26 -aS'kernel' +aS'signal' p27 -aS'ser' +aS'timer' p28 -aS'kfile' +asS'CPU_NAME' p29 -aS'timer' +VAT91SAM7X256 p30 -aS'eth' +sS'PROJECT_HW_PATH' p31 -aS'formatwr' +S'../..' p32 -aS'msg' +sS'PROJECT_SRC_PATH' p33 -aS'semaphores' +S'.' p34 -aS'heap' +sS'PRESET' p35 -aS'lwip' +I01 +sS'PROJECT_SRC_PATH_FROM_MAKEFILE' p36 -asS'CPU_NAME' +Vboards/at91sam7x-ek/examples/at91sam7x-ek_tcp_server p37 -VAT91SAM7X256 -p38 -sS'PROJECT_HW_PATH' -p39 -S'../..' -p40 -sS'PROJECT_SRC_PATH' -p41 -S'.' -p42 -sS'PRESET' -p43 -I01 sS'OUTPUT' -p44 -(lp45 -S'codelite' -p46 -as. \ No newline at end of file +p38 +(lp39 +s. \ No newline at end of file diff --git a/boards/at91sam7x-ek/hw/hw_eth.c b/boards/at91sam7x-ek/hw/hw_eth.c new file mode 100644 index 00000000..c24cbfb0 --- /dev/null +++ b/boards/at91sam7x-ek/hw/hw_eth.c @@ -0,0 +1,40 @@ +/** + * \file + * + * + * \brief MAC address definition + * + * \author Luca Ottaviano + */ + +#include "hw/hw_eth.h" + +uint8_t mac_addr[] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 }; diff --git a/boards/at91sam7x-ek/hw/hw_eth.h b/boards/at91sam7x-ek/hw/hw_eth.h new file mode 100644 index 00000000..71c2ac89 --- /dev/null +++ b/boards/at91sam7x-ek/hw/hw_eth.h @@ -0,0 +1,44 @@ +/** + * \file + * + * + * \brief MAC address definition + * + * \author Luca Ottaviano + */ +#ifndef HW_ETH_H +#define HW_ETH_H + +#include + +extern uint8_t mac_addr[6]; + +#endif // HW_ETH_H -- 2.25.1