aboutsummaryrefslogtreecommitdiffstats
path: root/testhal/ATSAMA5D2
diff options
context:
space:
mode:
Diffstat (limited to 'testhal/ATSAMA5D2')
-rwxr-xr-xtesthal/ATSAMA5D2/TC/Makefile8
-rw-r--r--testhal/ATSAMA5D2/TC/debug/SAMA5D2-TC (DDRAM).launch58
-rwxr-xr-xtesthal/ATSAMA5D2/TC/main.c17
-rw-r--r--testhal/ATSAMA5D2/TC/mcuconf.h67
-rwxr-xr-xtesthal/ATSAMA5D2/TC/readme.txt2
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&#13;&#10;set *0xF8048000 = 0xA5000004&#13;&#10;set *0x00A00100 = 0&#13;&#10;set *0xF8048044 = 0x00008000&#13;&#10;mon cp15 1 0 0 0 = 0x00C50078&#13;&#10;set *0xF0014004 = 0x4&#13;&#10;set *0xF0014014 = 1&lt;&lt;13&#13;&#10;load ~/bootstrap.elf&#13;&#10;&#10;mon reg pc = 0x00200000&#13;&#10;&#10;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="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList&gt;&lt;content id=&quot;mode-_pal_lld_setgroupmode-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;null-boardInit-(format)&quot; val=&quot;2&quot;/&gt;&lt;content id=&quot;null-sama_clock_init-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;null-_pal_lld_setgroupmode-(format)&quot; val=&quot;4&quot;/&gt;&lt;/contentList&gt;"/>
+<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;globalVariableList/&gt;&#13;&#10;"/>
+<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList/&gt;&#13;&#10;"/>
+<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="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;&#13;&#10;"/>
+<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 **