diff options
Diffstat (limited to 'testhal/ATSAMA5D2')
-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 **
|