diff options
| -rwxr-xr-x | testhal/ATSAMA5D2/TC/Makefile | 8 | ||||
| -rw-r--r-- | testhal/ATSAMA5D2/TC/debug/SAMA5D2-TC (DDRAM).launch | 58 | ||||
| -rwxr-xr-x | testhal/ATSAMA5D2/TC/main.c | 17 | ||||
| -rw-r--r-- | testhal/ATSAMA5D2/TC/mcuconf.h | 67 | ||||
| -rwxr-xr-x | testhal/ATSAMA5D2/TC/readme.txt | 2 | 
5 files changed, 117 insertions, 35 deletions
| diff --git a/testhal/ATSAMA5D2/TC/Makefile b/testhal/ATSAMA5D2/TC/Makefile index de5b87f5e..d80992791 100755 --- a/testhal/ATSAMA5D2/TC/Makefile +++ b/testhal/ATSAMA5D2/TC/Makefile @@ -122,10 +122,14 @@ include $(CHIBIOS)/os/hal/osal/rt/osal.mk  include $(CHIBIOS)/os/rt/rt.mk
  include $(CHIBIOS)/os/common/ports/ARMCAx-TZ/compilers/GCC/mk/port_generic.mk
  # Other files (optional).
 -#include $(CHIBIOS)/test/rt/test.mk
 +#include $(CHIBIOS)/test/lib/test.mk
 +#include $(CHIBIOS)/test/rt/rt_test.mk
 +#include $(CHIBIOS)/test/oslib/oslib_test.mk
  # Define linker script file here
 -LDSCRIPT= $(STARTUPLD)/SAMA5D2.ld
 +#LDSCRIPT= $(STARTUPLD)/SAMA5D2.ld
 +# Only if SAMA_NO_INIT is TRUE 
 +LDSCRIPT= $(STARTUPLD)/SAMA5D2ddr.ld
  # C sources that can be compiled in ARM or THUMB mode depending on the global
  # setting.
 diff --git a/testhal/ATSAMA5D2/TC/debug/SAMA5D2-TC (DDRAM).launch b/testhal/ATSAMA5D2/TC/debug/SAMA5D2-TC (DDRAM).launch new file mode 100644 index 000000000..35fb8a470 --- /dev/null +++ b/testhal/ATSAMA5D2/TC/debug/SAMA5D2-TC (DDRAM).launch @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 +<launchConfiguration type="org.eclipse.cdt.debug.gdbjtag.launchConfigurationType">
 +<stringAttribute key="bad_container_name" value="/SAMA5D2-SERIAL/debug"/>
 +<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="3"/>
 +<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="true"/>
 +<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="false"/>
 +<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
 +<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
 +<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="mon reg cpsr = 0xd3
set *0xF8048000 = 0xA5000004
set *0x00A00100 = 0
set *0xF8048044 = 0x00008000
mon cp15 1 0 0 0 = 0x00C50078
set *0xF0014004 = 0x4
set *0xF0014014 = 1<<13
load ~/bootstrap.elf

mon reg pc = 0x00200000

continue"/>
 +<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
 +<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="Generic TCP/IP"/>
 +<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
 +<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
 +<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value="20100000"/>
 +<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="2331"/>
 +<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
 +<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="true"/>
 +<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
 +<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
 +<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="_start"/>
 +<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
 +<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
 +<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
 +<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
 +<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
 +<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
 +<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
 +<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="arm-none-eabi-gdb"/>
 +<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard"/>
 +<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
 +<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
 +<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
 +<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
 +<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
 +<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
 +<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
 +<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?><contentList><content id="mode-_pal_lld_setgroupmode-(format)" val="4"/><content id="null-boardInit-(format)" val="2"/><content id="null-sama_clock_init-(format)" val="4"/><content id="null-_pal_lld_setgroupmode-(format)" val="4"/></contentList>"/>
 +<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<globalVariableList/>
"/>
 +<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<memoryBlockExpressionList/>
"/>
 +<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
 +<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="SAMA5D2-TC"/>
 +<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
 +<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
 +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
 +<listEntry value="/SAMA5D2-TC"/>
 +</listAttribute>
 +<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
 +<listEntry value="4"/>
 +</listAttribute>
 +<mapAttribute key="org.eclipse.debug.core.preferred_launchers">
 +<mapEntry key="[debug]" value="org.eclipse.cdt.debug.gdbjtag.core.dsfLaunchDelegate"/>
 +</mapAttribute>
 +<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
 +<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
 +</listAttribute>
 +<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<memoryBlockExpressionList context="reserved-for-future-use"/>
"/>
 +<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
 +</launchConfiguration>
 diff --git a/testhal/ATSAMA5D2/TC/main.c b/testhal/ATSAMA5D2/TC/main.c index f681a06c9..af7c6eda5 100755 --- a/testhal/ATSAMA5D2/TC/main.c +++ b/testhal/ATSAMA5D2/TC/main.c @@ -19,9 +19,9 @@  static TCConfig tccfg = {
    {
 -   {TC_OUTPUT_ACTIVE, 440 , NULL},    /* 440 hz clock frequency.   */
 -   {TC_OUTPUT_DISABLED, 0, NULL},
 -   {TC_OUTPUT_DISABLED, 0, NULL}
 +   {TC_OUTPUT_DISABLED, 0, NULL},    /* Channel 0.   */
 +   {TC_OUTPUT_ACTIVE, 440 , NULL},   /* Channel 1, 440 hz clock frequency. */
 +   {TC_OUTPUT_DISABLED, 0, NULL}     /* Channel 2.   */
    }
  };
 @@ -35,10 +35,10 @@ static THD_FUNCTION(Thread1, arg) {    chRegSetThreadName("buzzer");
    while (true) {
 -    tcEnableChannel(&TCD0, 0, 50);
 +    tcEnableChannel(&TCD0, 1, 50);
      palClearLine(LINE_LED_RED);
      chThdSleepMilliseconds(500);
 -    tcDisableChannel(&TCD0, 0);
 +    tcDisableChannel(&TCD0, 1);
      palSetLine(LINE_LED_RED);
      chThdSleepMilliseconds(500);
    }
 @@ -62,10 +62,11 @@ int main(void) {    /*
     * Initializes the TC0 driver.
 -   * GPIOA19 is the TC0 channel 0 output.
 +   * PD11 is the TC0 channel 1 output.
     */
 -  palSetGroupMode(PIOA, PAL_PORT_BIT(19), 0U,
 -                   PAL_SAMA_FUNC_PERIPH_D | PAL_MODE_SECURE);
 +  palSetGroupMode(PIOD, PAL_PORT_BIT(11), 0U,
 +                   PAL_SAMA_FUNC_PERIPH_A | PAL_MODE_SECURE);
 +
    tcStart(&TCD0, &tccfg);
    chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
 diff --git a/testhal/ATSAMA5D2/TC/mcuconf.h b/testhal/ATSAMA5D2/TC/mcuconf.h index 3b4b068a5..e6c9d02c1 100644 --- a/testhal/ATSAMA5D2/TC/mcuconf.h +++ b/testhal/ATSAMA5D2/TC/mcuconf.h @@ -23,7 +23,7 @@   * HAL driver system settings.
   */
  #define SAMA_HAL_IS_SECURE                  TRUE
 -#define SAMA_NO_INIT                        FALSE
 +#define SAMA_NO_INIT                        TRUE
  #define SAMA_MOSCRC_ENABLED                 FALSE
  #define SAMA_MOSCXT_ENABLED                 TRUE
  #define SAMA_MOSC_SEL                       SAMA_MOSC_MOSCXT
 @@ -36,42 +36,23 @@  #define SAMA_H64MX_H32MX_RATIO              2
  /*
 - * TC driver system settings.
 + * SDMMC driver system settings.
   */
 -#define HAL_USE_TC                          TRUE
 -#define SAMA_USE_TC0                        TRUE
 -#define SAMA_USE_TC1                        FALSE
 -#define SAMA_TC0_IRQ_PRIORITY               2
 -#define SAMA_TC1_IRQ_PRIORITY               2
 +#define HAL_USE_SDMMC                       FALSE
  /*
 - * SPI driver system settings.
 + * SECUMOD driver system settings.
   */
 -#define SAMA_SPI_USE_SPI0                   FALSE
 -#define SAMA_SPI_USE_SPI1                   FALSE
 -#define SAMA_SPI_USE_FLEXCOM0               FALSE
 -#define SAMA_SPI_USE_FLEXCOM1               FALSE
 -#define SAMA_SPI_USE_FLEXCOM2               FALSE
 -#define SAMA_SPI_USE_FLEXCOM3               FALSE
 -#define SAMA_SPI_USE_FLEXCOM4               FALSE
 -#define SAMA_SPI_SPI0_DMA_IRQ_PRIORITY      4
 -#define SAMA_SPI_SPI1_DMA_IRQ_PRIORITY      4
 -#define SAMA_SPI_FLEXCOM0_DMA_IRQ_PRIORITY  4
 -#define SAMA_SPI_FLEXCOM1_DMA_IRQ_PRIORITY  4
 -#define SAMA_SPI_FLEXCOM2_DMA_IRQ_PRIORITY  4
 -#define SAMA_SPI_FLEXCOM3_DMA_IRQ_PRIORITY  4
 -#define SAMA_SPI_FLEXCOM4_DMA_IRQ_PRIORITY  4
 -#define SAMA_SPI_DMA_ERROR_HOOK(spip)       osalSysHalt("DMA failure")
 +#define HAL_USE_SECUMOD                     FALSE
  /*
   * SERIAL driver system settings.
   */
  #define SAMA_SERIAL_USE_UART0               FALSE
 -#define SAMA_SERIAL_USE_UART1               FALSE
 +#define SAMA_SERIAL_USE_UART1               TRUE
  #define SAMA_SERIAL_USE_UART2               FALSE
  #define SAMA_SERIAL_USE_UART3               FALSE
  #define SAMA_SERIAL_USE_UART4               FALSE
 -#define SAMA_SERIAL_USE_UART5               FALSE
  #define SAMA_SERIAL_USE_FLEXCOM0            FALSE
  #define SAMA_SERIAL_USE_FLEXCOM1            FALSE
  #define SAMA_SERIAL_USE_FLEXCOM2            FALSE
 @@ -89,6 +70,42 @@  #define SAMA_SERIAL_FLEXCOM4_IRQ_PRIORITY   4
  /*
 + * SPI driver system settings.
 + */
 +#define SAMA_SPI_USE_SPI0                   FALSE
 +#define SAMA_SPI_USE_SPI1                   TRUE
 +#define SAMA_SPI_USE_FLEXCOM0               FALSE
 +#define SAMA_SPI_USE_FLEXCOM1               FALSE
 +#define SAMA_SPI_USE_FLEXCOM2               FALSE
 +#define SAMA_SPI_USE_FLEXCOM3               FALSE
 +#define SAMA_SPI_USE_FLEXCOM4               FALSE
 +#define SAMA_SPI_SPI0_DMA_IRQ_PRIORITY      4
 +#define SAMA_SPI_SPI1_DMA_IRQ_PRIORITY      4
 +#define SAMA_SPI_FLEXCOM0_DMA_IRQ_PRIORITY  4
 +#define SAMA_SPI_FLEXCOM1_DMA_IRQ_PRIORITY  4
 +#define SAMA_SPI_FLEXCOM2_DMA_IRQ_PRIORITY  4
 +#define SAMA_SPI_FLEXCOM3_DMA_IRQ_PRIORITY  4
 +#define SAMA_SPI_FLEXCOM4_DMA_IRQ_PRIORITY  4
 +#define SAMA_SPI_DMA_ERROR_HOOK(spip)       osalSysHalt("DMA failure")
 +#define SPI_SELECT_MODE                     SPI_SELECT_MODE_NONE
 +
 +/*
 + * ST driver settings.
 + */
 +#define SAMA_ST_USE_PIT                     FALSE
 +#define SAMA_ST_USE_TC0                     FALSE
 +#define SAMA_ST_USE_TC1                     TRUE
 +
 +/*
 + * TC driver system settings.
 + */
 +#define HAL_USE_TC                          TRUE
 +#define SAMA_USE_TC0                        TRUE
 +#define SAMA_USE_TC1                        FALSE
 +#define SAMA_TC0_IRQ_PRIORITY               2
 +#define SAMA_TC1_IRQ_PRIORITY               2
 +
 +/*
   * UART driver system settings.
   */
  #define SAMA_UART_USE_UART0                 FALSE
 diff --git a/testhal/ATSAMA5D2/TC/readme.txt b/testhal/ATSAMA5D2/TC/readme.txt index cc6e568f6..a07eb70c8 100755 --- a/testhal/ATSAMA5D2/TC/readme.txt +++ b/testhal/ATSAMA5D2/TC/readme.txt @@ -8,6 +8,8 @@ The demo targets a generic ARM Cortex-A5 device without HAL support.  ** The Demo **
 +Demo implement a simple buzzer playing every 500 ms
 +
  ** Build Procedure **
  ** Notes **
 | 
