Updated Demo

git-svn-id: https://svn.code.sf.net/p/chibios/svn2/trunk@11564 110e8d01-0319-4d1e-a829-52ad28d1bb01
This commit is contained in:
edolomb 2018-02-26 22:31:26 +00:00
parent 6c7ca9f494
commit 1f6ddb8b2d
5 changed files with 117 additions and 35 deletions

View File

@ -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.

View File

@ -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>

View File

@ -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);

View File

@ -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
@ -88,6 +69,42 @@
#define SAMA_SERIAL_FLEXCOM3_IRQ_PRIORITY 4
#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.
*/

View File

@ -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 **