Subversion Repositories idreammicro-avr

Compare Revisions

Ignore whitespace Rev 3 → Rev 2

/trunk/projects/SConscript
File deleted
/trunk/projects/helloworld/SConscript
File deleted
/trunk/projects/helloworld/SConstruct
File deleted
/trunk/projects/helloworld/helloworld.c
File deleted
/trunk/projects/input_to_output/input_to_output.c
File deleted
/trunk/projects/input_to_output/SConscript
File deleted
/trunk/projects/input_to_output/SConstruct
File deleted
/trunk/SConscript
0,0 → 1,39
# Import environment set for target.
Import('env_target', 'env_name', 'DEVICE')
 
# Set target name.
TARGET = 'helloworld'
 
# Set libraries to use.
libraries = [
'digital_io'
]
 
# Build libraries.
for library in libraries:
SConscript(
'#libraries/' + library + '/SConscript',
exports = { 'env_target' : env_target, 'env_name' : env_name },
duplicate = 0
)
 
# Set source file.
sources = 'helloworld.c'
 
# Build program.
env_target.Program(target = TARGET + '.elf', source = sources)
 
# Create hex binary file.
env_target.Command(
TARGET + '.hex',
TARGET + '.elf',
env_target['OBJCOPY'] + ' -O ihex $SOURCE $TARGET'
)
 
# Compute memory usage.
env_target.Command(
None,
TARGET + '.elf',
env_target['SIZE'] + ' -C --mcu=' + DEVICE + ' $SOURCE'
)
 
/trunk/SConstruct
1,2 → 1,32
# Execute projects SConscript.
SConscript('projects/SConscript')
# Set environment for AVR-GCC.
SConscript('#build_system/env_avr.py')
 
# Import environment set for AVR-GCC.
Import('env_avr')
 
# Append CPPPATH with the root path of libraries.
env_avr.Append(CPPPATH = [ '#libraries/' ])
 
# Define environments to use (one environment per target).
environments = [
'env_arduino_uno',
'env_arduino_mega2560'
]
 
# Browse environments.
for environment in environments:
# Set environment for target.
SConscript(
'#build_system/' + environment + '.py',
exports = 'env_avr'
)
# Import environment set for target.
Import('env_target')
# Build program.
SConscript(
'SConscript',
variant_dir = '#build/' + environment,
exports = { 'env_target' : env_target, 'env_name' : environment },
duplicate = 0
)
 
/trunk/libraries/digital_io/src/SConscript
13,5 → 13,6
env_target.StaticLibrary(target = TARGET, source = sources)
 
# Append LIBPATH and LIBS.
env_target.Append(LIBPATH = [ '#build/' + '/libraries/' + TARGET + '/' + env_name])
env_target.Append(LIBPATH = [ '#build/' + env_name + '/libraries/' + TARGET + '/src'])
env_target.Append(LIBS = [ TARGET ])
 
/trunk/libraries/digital_io/SConscript
10,7 → 10,7
for directory in directories:
SConscript(
directory + 'SConscript',
variant_dir = '#build/' + '/libraries/digital_io/' + env_name,
variant_dir = '#build/' + env_name + '/libraries/digital_io/' + directory,
exports = { 'env_target' : env_target, 'env_name' : env_name },
duplicate = 0
)
/trunk/helloworld.c
0,0 → 1,46
/**************************************************************************//**
* \file helloworld.c
******************************************************************************/
 
/******************************************************************************
* Header file inclusions.
******************************************************************************/
 
#include <digital_io/digital_io.h>
 
#include <avr/io.h>
#include <util/delay.h>
 
/******************************************************************************
* Public function definitions.
******************************************************************************/
 
/**************************************************************************//**
* \fn int main(void)
*
* \brief Main function.
******************************************************************************/
int
main
(
void
){
// Declare pin.
digital_io__pin_position_t pin = DIGITAL_IO__PORT_B | DIGITAL_IO__PIN_5;
// Configure pin as output.
digital_io__configure_pin(pin, DIGITAL_IO__DIRECTION__OUTPUT);
 
while (1)
{
// Set pin level.
digital_io__set_pin_level(pin, DIGITAL_IO__LEVEL__HIGH);
_delay_ms(1000);
 
// Reset pin level.
digital_io__set_pin_level(pin, DIGITAL_IO__LEVEL__LOW);
_delay_ms(1000);
}
 
return 0;
}