Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ti-connected-launchpad
standalone_public
Commits
d1ae1382
Commit
d1ae1382
authored
Sep 30, 2020
by
Alija Sabic
Browse files
Add driverlib example for CCSv10
parent
9bb69cbf
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
example_standalone_driverlib_v10/.ccsproject
0 → 100644
View file @
d1ae1382
<?xml version="1.0" encoding="UTF-8" ?>
<?ccsproject version="1.0"?>
<projectOptions>
<ccsVersion
value=
"10.1.0"
/>
<deviceVariant
value=
"Cortex M.TM4C1294NCPDT"
/>
<deviceFamily
value=
"TMS470"
/>
<deviceEndianness
value=
"little"
/>
<codegenToolVersion
value=
"20.2.1.LTS"
/>
<isElfFormat
value=
"true"
/>
<connection
value=
"common/targetdb/connections/Stellaris_ICDI_Connection.xml"
/>
<linkerCommandFile
value=
"tm4c1294ncpdt.cmd"
/>
<rts
value=
"libc.a"
/>
<createSlaveProjects
value=
""
/>
<templateProperties
value=
"id=com.ti.common.project.core.emptyProjectWithMainTemplate"
/>
<filesToOpen
value=
"main.c"
/>
<isTargetManual
value=
"false"
/>
</projectOptions>
example_standalone_driverlib_v10/.cproject
0 → 100644
View file @
d1ae1382
This diff is collapsed.
Click to expand it.
example_standalone_driverlib_v10/.project
0 → 100644
View file @
d1ae1382
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>
example_standalone_driverlib_v10
</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>
org.eclipse.cdt.managedbuilder.core.genmakebuilder
</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>
org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
</name>
<triggers>
full,incremental,
</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>
com.ti.ccstudio.core.ccsNature
</nature>
<nature>
org.eclipse.cdt.core.cnature
</nature>
<nature>
org.eclipse.cdt.managedbuilder.core.managedBuildNature
</nature>
<nature>
org.eclipse.cdt.core.ccnature
</nature>
<nature>
org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
</nature>
</natures>
</projectDescription>
example_standalone_driverlib_v10/.settings/org.eclipse.cdt.codan.core.prefs
0 → 100644
View file @
d1ae1382
eclipse.preferences.version=1
inEditor=false
onBuild=false
example_standalone_driverlib_v10/.settings/org.eclipse.cdt.debug.core.prefs
0 → 100644
View file @
d1ae1382
eclipse.preferences.version=1
org.eclipse.cdt.debug.core.toggleBreakpointModel=com.ti.ccstudio.debug.CCSBreakpointMarker
example_standalone_driverlib_v10/.settings/org.eclipse.core.resources.prefs
0 → 100644
View file @
d1ae1382
eclipse.preferences.version=1
encoding//Debug/makefile=UTF-8
encoding//Debug/objects.mk=UTF-8
encoding//Debug/sources.mk=UTF-8
encoding//Debug/subdir_rules.mk=UTF-8
encoding//Debug/subdir_vars.mk=UTF-8
example_standalone_driverlib_v10/main.c
0 → 100644
View file @
d1ae1382
/*
* Toggles LED on pin 1 on port N
* Turns off LED on pin 0 on port N if button (USR_SW1 on port J pin 0) is pressed
*
* Already set build options of this project (no need to change anything):
* Stack size set to 4096 byte
* Heap size disabled - No malloc() available
* No code optimization - Easier debugging
* Strict floating point interrupt behavior
* Minimal printf() and friends support - No floating point - reduces footprint
* Hardware floating point unit activated
*/
#define TARGET_IS_TM4C129_RA2
/* Tells rom.h the version of the silicon */
#include <stdint.h>
/* C99 header for uint*_t types */
#include <stdbool.h>
/* Driverlib headers require stdbool.h to be included first */
#include <driverlib/gpio.h>
/* Supplies GPIO* functions and GPIO_PIN_x */
#include <driverlib/sysctl.h>
/* Supplies SysCtl* functions and SYSCTL_* macros */
#include <driverlib/rom.h>
/* Supplies ROM_* variations of functions */
#include <inc/hw_memmap.h>
/* Supplies GPIO_PORTx_BASE */
/* Controller is initially clocked with 16 MHz (via PIOSC) */
/* !!! Changing this macro does not change clock speed !!! */
#define F_CPU (16000000)
int
main
(
void
)
{
uint32_t
ui32Strength
;
uint32_t
ui32PinType
;
uint8_t
ui8button
;
uint8_t
ui8toggle
=
(
1
<<
1
);
/* Activate GPIO ports */
SysCtlPeripheralEnable
(
SYSCTL_PERIPH_GPIOJ
);
SysCtlPeripheralEnable
(
SYSCTL_PERIPH_GPION
);
/* Set pin 0 of GPIO port J to digital input */
GPIOPinTypeGPIOInput
(
GPIO_PORTJ_BASE
,
GPIO_PIN_0
);
/* Enable pull-up for button on pin 0 of port J
* Note the API difference between the *Get and *Set functions. */
GPIOPadConfigGet
(
GPIO_PORTJ_BASE
,
0
,
&
ui32Strength
,
&
ui32PinType
);
GPIOPadConfigSet
(
GPIO_PORTJ_BASE
,
GPIO_PIN_0
,
ui32Strength
,
GPIO_PIN_TYPE_STD_WPU
);
/* Set pins 0 & 1 of GPIO port N to digital output */
GPIOPinTypeGPIOOutput
(
GPIO_PORTN_BASE
,
GPIO_PIN_1
|
GPIO_PIN_0
);
while
(
1
)
{
/* Toggle bit 1 in variable ui8toggle */
ui8toggle
=
ui8toggle
^
(
1
<<
1
);
/* Write value of ui8toggle to pin 1 of port N */
GPIOPinWrite
(
GPIO_PORTN_BASE
,
GPIO_PIN_1
,
ui8toggle
);
/* Read value of pin 0 on port j into variable */
ui8button
=
GPIOPinRead
(
GPIO_PORTJ_BASE
,
GPIO_PIN_0
);
/* Set pin 0 of port N accordingly */
GPIOPinWrite
(
GPIO_PORTN_BASE
,
GPIO_PIN_0
,
ui8button
);
/* Delay for *approximately* 0.5 s.
* 16M CPU cycles per second / 2 / 3 (SysCtlDelay factor) = 2666667
* The actual delay can be longer due to interrupts! This is not suitable for exact timing. */
ROM_SysCtlDelay
(
F_CPU
/
2
/
3
);
}
}
example_standalone_driverlib_v10/targetConfigs/Tiva TM4C1294NCPDT.ccxml
0 → 100644
View file @
d1ae1382
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations
XML_version=
"1.2"
id=
"configurations_0"
>
<configuration
XML_version=
"1.2"
id=
"configuration_0"
>
<instance
XML_version=
"1.2"
desc=
"Stellaris In-Circuit Debug Interface"
href=
"connections/Stellaris_ICDI_Connection.xml"
id=
"Stellaris In-Circuit Debug Interface"
xml=
"Stellaris_ICDI_Connection.xml"
xmlpath=
"connections"
/>
<connection
XML_version=
"1.2"
id=
"Stellaris In-Circuit Debug Interface"
>
<instance
XML_version=
"1.2"
href=
"drivers/stellaris_cs_dap.xml"
id=
"drivers"
xml=
"stellaris_cs_dap.xml"
xmlpath=
"drivers"
/>
<instance
XML_version=
"1.2"
href=
"drivers/stellaris_cortex_m4.xml"
id=
"drivers"
xml=
"stellaris_cortex_m4.xml"
xmlpath=
"drivers"
/>
<platform
XML_version=
"1.2"
id=
"platform_0"
>
<instance
XML_version=
"1.2"
desc=
"Tiva TM4C1294NCPDT"
href=
"devices/tm4c1294ncpdt.xml"
id=
"Tiva TM4C1294NCPDT"
xml=
"tm4c1294ncpdt.xml"
xmlpath=
"devices"
/>
</platform>
</connection>
</configuration>
</configurations>
example_standalone_driverlib_v10/targetConfigs/readme.txt
0 → 100644
View file @
d1ae1382
The 'targetConfigs' folder contains target-configuration (.ccxml) files, automatically generated based
on the device and connection settings specified in your project on the Properties > General page.
Please note that in automatic target-configuration management, changes to the project's device and/or
connection settings will either modify an existing or generate a new target-configuration file. Thus,
if you manually edit these auto-generated files, you may need to re-apply your changes. Alternatively,
you may create your own target-configuration file for this project and manage it manually. You can
always switch back to automatic target-configuration management by checking the "Manage the project's
target-configuration automatically" checkbox on the project's Properties > General page.
\ No newline at end of file
example_standalone_driverlib_v10/tm4c1294ncpdt.cmd
0 → 100644
View file @
d1ae1382
/
******************************************************************************
*
*
Default
Linker
Command
file
for
the
Texas
Instruments
TM4C1294NCPDT
*
*
This
is
derived
from
revision
15071
of
the
TivaWare
Library
.
*
*****************************************************************************
/
--retain
=
g_pfnVectors
MEMORY
{
FLASH
(
RX
)
:
origin
=
0x00000000
,
length
=
0x00100000
SRAM
(
RWX
)
:
origin
=
0x20000000
,
length
=
0x00040000
}
/
*
The
following
command
line
options
are
set
as
part
of
the
CCS
project
.
*
/
/
*
If
you
are
building
using
the
command
line
,
or
for
some
reason
want
to
*
/
/
*
define
them
here
,
you
can
uncomment
and
modify
these
lines
as
needed
.
*
/
/
*
If
you
are
using
CCS
for
building
,
it
is
probably
better
to
make
any
such
*
/
/
*
modifications
in
your
CCS
project
and
leave
this
file
alone
.
*
/
/
*
*
/
/
*
--heap
_size
=
0
*
/
/
*
--stack
_size
=
256
*
/
/
*
--library
=
rtsv7M4_T_le_eabi
.lib
*
/
/
*
Section
allocation
in
memory
*
/
SECTIONS
{
.intvecs:
>
0x00000000
.text :
>
FLASH
.const :
>
FLASH
.cinit :
>
FLASH
.pinit :
>
FLASH
.init_array :
>
FLASH
.vtable :
>
0x20000000
.data :
>
SRAM
.bss :
>
SRAM
.sysmem :
>
SRAM
.stack :
>
SRAM
}
__STACK_TOP
=
__stack
+
512
;
example_standalone_driverlib_v10/tm4c1294ncpdt_startup_ccs.c
0 → 100644
View file @
d1ae1382
//*****************************************************************************
//
// Startup code for use with TI's Code Composer Studio.
//
// Copyright (c) 2011-2014 Texas Instruments Incorporated. All rights reserved.
// Software License Agreement
//
// Software License Agreement
//
// Texas Instruments (TI) is supplying this software for use solely and
// exclusively on TI's microcontroller products. The software is owned by
// TI and/or its suppliers, and is protected under applicable copyright
// laws. You may not combine this software with "viral" open-source
// software in order to form a larger program.
//
// THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
// NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
// NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
// CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
// DAMAGES, FOR ANY REASON WHATSOEVER.
//
//*****************************************************************************
#include <stdint.h>
//*****************************************************************************
//
// Forward declaration of the default fault handlers.
//
//*****************************************************************************
void
ResetISR
(
void
);
static
void
NmiSR
(
void
);
static
void
FaultISR
(
void
);
static
void
IntDefaultHandler
(
void
);
//*****************************************************************************
//
// External declaration for the reset handler that is to be called when the
// processor is started
//
//*****************************************************************************
extern
void
_c_int00
(
void
);
//*****************************************************************************
//
// Linker variable that marks the top of the stack.
//
//*****************************************************************************
extern
uint32_t
__STACK_TOP
;
//*****************************************************************************
//
// External declarations for the interrupt handlers used by the application.
//
//*****************************************************************************
// To be added by user
//*****************************************************************************
//
// The vector table. Note that the proper constructs must be placed on this to
// ensure that it ends up at physical address 0x0000.0000 or at the start of
// the program if located at a start address other than 0.
//
//*****************************************************************************
#pragma DATA_SECTION(g_pfnVectors, ".intvecs")
void
(
*
const
g_pfnVectors
[])(
void
)
=
{
(
void
(
*
)(
void
))((
uint32_t
)
&
__STACK_TOP
),
// The initial stack pointer
ResetISR
,
// The reset handler
NmiSR
,
// The NMI handler
FaultISR
,
// The hard fault handler
IntDefaultHandler
,
// The MPU fault handler
IntDefaultHandler
,
// The bus fault handler
IntDefaultHandler
,
// The usage fault handler
0
,
// Reserved
0
,
// Reserved
0
,
// Reserved
0
,
// Reserved
IntDefaultHandler
,
// SVCall handler
IntDefaultHandler
,
// Debug monitor handler
0
,
// Reserved
IntDefaultHandler
,
// The PendSV handler
IntDefaultHandler
,
// The SysTick handler
IntDefaultHandler
,
// GPIO Port A
IntDefaultHandler
,
// GPIO Port B
IntDefaultHandler
,
// GPIO Port C
IntDefaultHandler
,
// GPIO Port D
IntDefaultHandler
,
// GPIO Port E
IntDefaultHandler
,
// UART0 Rx and Tx
IntDefaultHandler
,
// UART1 Rx and Tx
IntDefaultHandler
,
// SSI0 Rx and Tx
IntDefaultHandler
,
// I2C0 Master and Slave
IntDefaultHandler
,
// PWM Fault
IntDefaultHandler
,
// PWM Generator 0
IntDefaultHandler
,
// PWM Generator 1
IntDefaultHandler
,
// PWM Generator 2
IntDefaultHandler
,
// Quadrature Encoder 0
IntDefaultHandler
,
// ADC Sequence 0
IntDefaultHandler
,
// ADC Sequence 1
IntDefaultHandler
,
// ADC Sequence 2
IntDefaultHandler
,
// ADC Sequence 3
IntDefaultHandler
,
// Watchdog timer
IntDefaultHandler
,
// Timer 0 subtimer A
IntDefaultHandler
,
// Timer 0 subtimer B
IntDefaultHandler
,
// Timer 1 subtimer A
IntDefaultHandler
,
// Timer 1 subtimer B
IntDefaultHandler
,
// Timer 2 subtimer A
IntDefaultHandler
,
// Timer 2 subtimer B
IntDefaultHandler
,
// Analog Comparator 0
IntDefaultHandler
,
// Analog Comparator 1
IntDefaultHandler
,
// Analog Comparator 2
IntDefaultHandler
,
// System Control (PLL, OSC, BO)
IntDefaultHandler
,
// FLASH Control
IntDefaultHandler
,
// GPIO Port F
IntDefaultHandler
,
// GPIO Port G
IntDefaultHandler
,
// GPIO Port H
IntDefaultHandler
,
// UART2 Rx and Tx
IntDefaultHandler
,
// SSI1 Rx and Tx
IntDefaultHandler
,
// Timer 3 subtimer A
IntDefaultHandler
,
// Timer 3 subtimer B
IntDefaultHandler
,
// I2C1 Master and Slave
IntDefaultHandler
,
// CAN0
IntDefaultHandler
,
// CAN1
IntDefaultHandler
,
// Ethernet
IntDefaultHandler
,
// Hibernate
IntDefaultHandler
,
// USB0
IntDefaultHandler
,
// PWM Generator 3
IntDefaultHandler
,
// uDMA Software Transfer
IntDefaultHandler
,
// uDMA Error
IntDefaultHandler
,
// ADC1 Sequence 0
IntDefaultHandler
,
// ADC1 Sequence 1
IntDefaultHandler
,
// ADC1 Sequence 2
IntDefaultHandler
,
// ADC1 Sequence 3
IntDefaultHandler
,
// External Bus Interface 0
IntDefaultHandler
,
// GPIO Port J
IntDefaultHandler
,
// GPIO Port K
IntDefaultHandler
,
// GPIO Port L
IntDefaultHandler
,
// SSI2 Rx and Tx
IntDefaultHandler
,
// SSI3 Rx and Tx
IntDefaultHandler
,
// UART3 Rx and Tx
IntDefaultHandler
,
// UART4 Rx and Tx
IntDefaultHandler
,
// UART5 Rx and Tx
IntDefaultHandler
,
// UART6 Rx and Tx
IntDefaultHandler
,
// UART7 Rx and Tx
IntDefaultHandler
,
// I2C2 Master and Slave
IntDefaultHandler
,
// I2C3 Master and Slave
IntDefaultHandler
,
// Timer 4 subtimer A
IntDefaultHandler
,
// Timer 4 subtimer B
IntDefaultHandler
,
// Timer 5 subtimer A
IntDefaultHandler
,
// Timer 5 subtimer B
IntDefaultHandler
,
// FPU
0
,
// Reserved
0
,
// Reserved
IntDefaultHandler
,
// I2C4 Master and Slave
IntDefaultHandler
,
// I2C5 Master and Slave
IntDefaultHandler
,
// GPIO Port M
IntDefaultHandler
,
// GPIO Port N
0
,
// Reserved
IntDefaultHandler
,
// Tamper
IntDefaultHandler
,
// GPIO Port P (Summary or P0)
IntDefaultHandler
,
// GPIO Port P1
IntDefaultHandler
,
// GPIO Port P2
IntDefaultHandler
,
// GPIO Port P3
IntDefaultHandler
,
// GPIO Port P4
IntDefaultHandler
,
// GPIO Port P5
IntDefaultHandler
,
// GPIO Port P6
IntDefaultHandler
,
// GPIO Port P7
IntDefaultHandler
,
// GPIO Port Q (Summary or Q0)
IntDefaultHandler
,
// GPIO Port Q1
IntDefaultHandler
,
// GPIO Port Q2
IntDefaultHandler
,
// GPIO Port Q3
IntDefaultHandler
,
// GPIO Port Q4
IntDefaultHandler
,
// GPIO Port Q5
IntDefaultHandler
,
// GPIO Port Q6
IntDefaultHandler
,
// GPIO Port Q7
IntDefaultHandler
,
// GPIO Port R
IntDefaultHandler
,
// GPIO Port S
IntDefaultHandler
,
// SHA/MD5 0
IntDefaultHandler
,
// AES 0
IntDefaultHandler
,
// DES3DES 0
IntDefaultHandler
,
// LCD Controller 0
IntDefaultHandler
,
// Timer 6 subtimer A
IntDefaultHandler
,
// Timer 6 subtimer B
IntDefaultHandler
,
// Timer 7 subtimer A
IntDefaultHandler
,
// Timer 7 subtimer B
IntDefaultHandler
,
// I2C6 Master and Slave
IntDefaultHandler
,
// I2C7 Master and Slave
IntDefaultHandler
,
// HIM Scan Matrix Keyboard 0
IntDefaultHandler
,
// One Wire 0
IntDefaultHandler
,
// HIM PS/2 0
IntDefaultHandler
,
// HIM LED Sequencer 0
IntDefaultHandler
,
// HIM Consumer IR 0
IntDefaultHandler
,
// I2C8 Master and Slave
IntDefaultHandler
,
// I2C9 Master and Slave
IntDefaultHandler
,
// GPIO Port T
IntDefaultHandler
,
// Fan 1
0
,
// Reserved
};
//*****************************************************************************
//
// This is the code that gets called when the processor first starts execution
// following a reset event. Only the absolutely necessary set is performed,
// after which the application supplied entry() routine is called. Any fancy
// actions (such as making decisions based on the reset cause register, and
// resetting the bits in that register) are left solely in the hands of the
// application.
//
//*****************************************************************************
void
ResetISR
(
void
)
{
//
// Jump to the CCS C initialization routine. This will enable the
// floating-point unit as well, so that does not need to be done here.
//
__asm
(
" .global _c_int00
\n
"
" b.w _c_int00"
);
}
//*****************************************************************************
//
// This is the code that gets called when the processor receives a NMI. This
// simply enters an infinite loop, preserving the system state for examination
// by a debugger.
//
//*****************************************************************************
static
void
NmiSR
(
void
)
{
//
// Enter an infinite loop.
//
while
(
1
)
{
}
}
//*****************************************************************************
//
// This is the code that gets called when the processor receives a fault
// interrupt. This simply enters an infinite loop, preserving the system state
// for examination by a debugger.
//
//*****************************************************************************
static
void
FaultISR
(
void
)
{
//
// Enter an infinite loop.
//
while
(
1
)
{
}
}
//*****************************************************************************
//
// This is the code that gets called when the processor receives an unexpected
// interrupt. This simply enters an infinite loop, preserving the system state
// for examination by a debugger.
//
//*****************************************************************************
static
void
IntDefaultHandler
(
void
)
{
//
// Go into an infinite loop.
//
while
(
1
)
{
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment