feat: added firmware

This commit is contained in:
Sergey Yarkov 2022-09-18 21:53:55 +03:00
commit 4e29d729f6
32 changed files with 1884 additions and 0 deletions

View File

@ -0,0 +1 @@
$(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 D:\Apps\avr128da48_web-serial-example.X\main.c

View File

@ -0,0 +1 @@
$(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 D:\Apps\avr128da48_web-serial-example.X\command.c

View File

@ -0,0 +1 @@
$(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 D:\Apps\avr128da48_web-serial-example.X\usart.c

View File

@ -0,0 +1 @@
$(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 D:\Apps\avr128da48_web-serial-example.X\command.c

View File

@ -0,0 +1 @@
$(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 D:\Apps\avr128da48_web-serial-example.X\usart.c

View File

@ -0,0 +1,38 @@
#
# Generated Makefile - do not edit!
#
#
# This file contains information about the location of compilers and other tools.
# If you commmit this file into your revision control server, you will be able to
# to checkout the project and build it from the command line with make. However,
# if more than one person works on the same project, then this file might show
# conflicts since different users are bound to have compilers in different places.
# In that case you might choose to not commit this file and let MPLAB X recreate this file
# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at
# least once so the file gets created and the project can be built. Finally, you can also
# avoid using this file at all if you are only building from the command line with make.
# You can invoke make with the values of the macros:
# $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ...
#
SHELL=cmd.exe
PATH_TO_IDE_BIN=C:/Program Files/Microchip/MPLABX/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/
# Adding MPLAB X bin directory to path.
PATH:=C:/Program Files/Microchip/MPLABX/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)
# Path to java used to run MPLAB X when this makefile was created
MP_JAVA_PATH="C:\Program Files\Microchip\MPLABX\v6.00\sys\java\zulu8.54.0.21-ca-fx-jre8.0.292-win_x64/bin/"
OS_CURRENT="$(shell uname -s)"
MP_CC="C:\Program Files\Microchip\xc8\v2.36\bin\xc8-cc.exe"
# MP_CPPC is not defined
# MP_BC is not defined
MP_AS="C:\Program Files\Microchip\xc8\v2.36\bin\xc8-cc.exe"
MP_LD="C:\Program Files\Microchip\xc8\v2.36\bin\xc8-cc.exe"
MP_AR="C:\Program Files\Microchip\xc8\v2.36\bin\xc8-ar.exe"
DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files/Microchip/MPLABX/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar"
MP_CC_DIR="C:\Program Files\Microchip\xc8\v2.36\bin"
# MP_CPPC_DIR is not defined
# MP_BC_DIR is not defined
MP_AS_DIR="C:\Program Files\Microchip\xc8\v2.36\bin"
MP_LD_DIR="C:\Program Files\Microchip\xc8\v2.36\bin"
MP_AR_DIR="C:\Program Files\Microchip\xc8\v2.36\bin"
# MP_BC_DIR is not defined
DFP_DIR=C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124

View File

@ -0,0 +1 @@
$(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 D:\Apps\avr128da48_web-serial-example.X\main.c

113
Makefile Normal file
View File

@ -0,0 +1,113 @@
#
# There exist several targets which are by default empty and which can be
# used for execution of your targets. These targets are usually executed
# before and after some main targets. They are:
#
# .build-pre: called before 'build' target
# .build-post: called after 'build' target
# .clean-pre: called before 'clean' target
# .clean-post: called after 'clean' target
# .clobber-pre: called before 'clobber' target
# .clobber-post: called after 'clobber' target
# .all-pre: called before 'all' target
# .all-post: called after 'all' target
# .help-pre: called before 'help' target
# .help-post: called after 'help' target
#
# Targets beginning with '.' are not intended to be called on their own.
#
# Main targets can be executed directly, and they are:
#
# build build a specific configuration
# clean remove built files from a configuration
# clobber remove all built files
# all build all configurations
# help print help mesage
#
# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
# .help-impl are implemented in nbproject/makefile-impl.mk.
#
# Available make variables:
#
# CND_BASEDIR base directory for relative paths
# CND_DISTDIR default top distribution directory (build artifacts)
# CND_BUILDDIR default top build directory (object files, ...)
# CONF name of current configuration
# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
#
# NOCDDL
# Environment
MKDIR=mkdir
CP=cp
CCADMIN=CCadmin
RANLIB=ranlib
# build
build: .build-post
.build-pre:
# Add your pre 'build' code here...
.build-post: .build-impl
# Add your post 'build' code here...
# clean
clean: .clean-post
.clean-pre:
# Add your pre 'clean' code here...
# WARNING: the IDE does not call this target since it takes a long time to
# simply run make. Instead, the IDE removes the configuration directories
# under build and dist directly without calling make.
# This target is left here so people can do a clean when running a clean
# outside the IDE.
.clean-post: .clean-impl
# Add your post 'clean' code here...
# clobber
clobber: .clobber-post
.clobber-pre:
# Add your pre 'clobber' code here...
.clobber-post: .clobber-impl
# Add your post 'clobber' code here...
# all
all: .all-post
.all-pre:
# Add your pre 'all' code here...
.all-post: .all-impl
# Add your post 'all' code here...
# help
help: .help-post
.help-pre:
# Add your pre 'help' code here...
.help-post: .help-impl
# Add your post 'help' code here...
# include project implementation makefile
include nbproject/Makefile-impl.mk
# include project make variables
include nbproject/Makefile-variables.mk

Binary file not shown.

View File

@ -0,0 +1,54 @@
build/default/production/command.o.d build/default/production/command.o: \
command.c command.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\io.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\sfr_defs.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\inttypes.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\features.h \
c:\program\ files\microchip\xc8\v2.36\avr\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\stdint.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\bits\alltypes.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\bits\stdint.h \
C:/Program\ Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/include/avr/ioavr128da48.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\portpins.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\common.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\xmega.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\fuse.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\lock.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\string.h usart.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\stdio.h
command.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\io.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\sfr_defs.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\inttypes.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\features.h:
c:\program\ files\microchip\xc8\v2.36\avr\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\stdint.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\bits\alltypes.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\bits\stdint.h:
C:/Program\ Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/include/avr/ioavr128da48.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\portpins.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\common.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\xmega.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\fuse.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\lock.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\string.h:
usart.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\stdio.h:

Binary file not shown.

View File

@ -0,0 +1,65 @@
build/default/production/main.o.d build/default/production/main.o: main.c \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\io.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\sfr_defs.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\inttypes.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\features.h \
c:\program\ files\microchip\xc8\v2.36\avr\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\stdint.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\bits\alltypes.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\bits\stdint.h \
C:/Program\ Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/include/avr/ioavr128da48.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\portpins.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\common.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\xmega.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\fuse.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\lock.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\interrupt.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\util\delay.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\util\delay_basic.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\math.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\string.h command.h \
usart.h c:\program\ files\microchip\xc8\v2.36\avr\avr\include\stdio.h
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\io.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\sfr_defs.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\inttypes.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\features.h:
c:\program\ files\microchip\xc8\v2.36\avr\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\stdint.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\bits\alltypes.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\bits\stdint.h:
C:/Program\ Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/include/avr/ioavr128da48.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\portpins.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\common.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\xmega.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\fuse.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\lock.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\interrupt.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\util\delay.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\util\delay_basic.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\math.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\string.h:
command.h:
usart.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\stdio.h:

Binary file not shown.

View File

@ -0,0 +1,52 @@
build/default/production/usart.o.d build/default/production/usart.o: \
usart.c usart.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\io.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\sfr_defs.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\inttypes.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\features.h \
c:\program\ files\microchip\xc8\v2.36\avr\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\stdint.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\bits\alltypes.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\bits\stdint.h \
C:/Program\ Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/include/avr/ioavr128da48.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\portpins.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\common.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\xmega.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\fuse.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\lock.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\stdio.h \
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\string.h
usart.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\io.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\sfr_defs.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\inttypes.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\features.h:
c:\program\ files\microchip\xc8\v2.36\avr\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\stdint.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\bits\alltypes.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\bits\stdint.h:
C:/Program\ Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/include/avr/ioavr128da48.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\portpins.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\common.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\xmega.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\fuse.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\avr\lock.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\stdio.h:
c:\program\ files\microchip\xc8\v2.36\avr\avr\include\string.h:

40
command.c Normal file
View File

@ -0,0 +1,40 @@
#include "command.h"
#include "usart.h"
struct Command commands[COMMAND_SIZE];
uint8_t cmd_idx = 0;
uint8_t command_define(void *fp, char name[COMMAND_MAX_NAME_LENGTH]) {
size_t name_length = strlen(name);
if (name_length > COMMAND_MAX_NAME_LENGTH) {
return 0;
}
if (cmd_idx >= COMMAND_SIZE) {
cmd_idx = 0;
}
struct Command command;
command.addr = fp;
strcpy(command.name, name);
commands[cmd_idx++] = command;
return 1;
}
uint8_t command_process(char *cmd_name) {
uint8_t i = 0;
do {
if (strcmp(cmd_name, commands[i].name) == 0) {
int (*execute)();
execute = commands[i].addr;
execute();
USART1_SendString("[LOG]: Command completed successfully with code \"0\".\n");
return 0;
}
} while (i++ < COMMAND_SIZE);
USART1_SendString("[LOG]: Invalid command name!\n");
return 1;
}

19
command.h Normal file
View File

@ -0,0 +1,19 @@
#ifndef COMMAND_H
#define COMMAND_H
#include <avr/io.h>
#include <string.h>
#define COMMAND_SIZE 5
#define COMMAND_MAX_NAME_LENGTH 20
struct Command {
void *addr;
char name[COMMAND_MAX_NAME_LENGTH];
};
uint8_t command_define(void *fp, char name[COMMAND_MAX_NAME_LENGTH]);
uint8_t command_process(char *cmd_name);
#endif /* COMMAND_H */

View File

@ -0,0 +1,82 @@
:100000000C9477000C9429020C9429020C94290278
:100010000C9429020C9429020C9429020C942902B4
:100020000C9429020C9429020C9429020C942902A4
:100030000C9429020C9429020C9429020C94290294
:100040000C9429020C9429020C9429020C94290284
:100050000C9429020C9429020C9429020C94290274
:100060000C9429020C9429020C9429020C94290264
:100070000C9429020C9429020C9429020C94E4009B
:100080000C9429020C9429020C9429020C94290244
:100090000C9429020C9429020C9429020C94290234
:1000A0000C9429020C9429020C9429020C94290224
:1000B0000C9429020C9429020C9429020C94290214
:1000C0000C9429020C9429020C9429020C94290204
:1000D0000C9429020C9429020C9429020C942902F4
:1000E0000C9429020C9429024000408480008091E5
:1000F00001108F7C806080688093011011241FBEE6
:10010000CFEFCDBFDFE7DEBFE8EEF0E040E019C0A3
:10011000B791A79137912791079107FD0EC097914D
:100120008791EF01F92FE82F0BBF07900D92A217CF
:10013000B307D9F7FE011BBE04C01D92A217B30777
:10014000E1F7ED3EF40721F70E94DB010C94FC017E
:04015000F894FFCF51
:100154005B4C4F475D3A20436F6D6D616E64206365
:100164006F6D706C65746564207375636365737318
:1001740066756C6C79207769746820636F64652098
:100184002230222E0A005B4C4F475D3A20496E769E
:10019400616C696420636F6D6D616E64206E616D66
:0401A40065210A00C7
:1001A80048656C6C6F20776F726C64210A006C650F
:0F01B800645F746F67676C650068656C6C6F00DF
:1001C8001F920F920FB60F9211240BB60F922F9316
:1001D8003F934F935F936F937F938F939F93AF93C7
:1001E800BF93EF93FF9380912008803221F18A30EA
:1001F80069F08D3001F1E091824091E09E0F90937B
:100208008240F0E0E259FF4B808315C08EE690E40F
:100218000E94320110928240EEE6F0E40190002044
:10022800E9F73197AF014E56504460E070E08EE632
:1002380090E40E940702FF91EF91BF91AF919F91C7
:100248008F917F916F915F914F913F912F910F9077
:0C0258000BBE0F900FBE0F901F9018956A
:10026400CF92DF92EF92FF920F931F93CF93DF937E
:100274007C0102E010E4C0E0D0E0B801C7010E94B4
:10028400EE01892B91F486E18C9FF0018D9FF00D96
:100294001124E050F04C0190F081E02D099584E5A3
:1002A40091E80E94A30180E00BC021960A5E1F4FD3
:1002B400C630D10511F78AE891E80E94A30181E0D4
:1002C400DF91CF911F910F91FF90EF90DF90CF902E
:0202D40008958B
:1002D600CF93DF93CDB7DEB76697CDBFDEBFFB0109
:1002E60001900020E9F73197E61BF70B759708F5A3
:1002F60020918340253010F01092834089839A83A1
:10030600CE0103960E941802A091834081E08A0FD5
:100316008093834086E1A89FD0011124A050B04C61
:1003260086E1FE01319601900D928A95E1F781E012
:1003360001C080E06696CDBFDEBFDF91CF91089504
:10034600EF92FF920F931F93CF93DF938C017C0163
:10035600C0E0D0E006C0F70181917F010E94100243
:100366002196F80101900020E9F73197E01BF10B87
:10037600CE17DF0780F3DF91CF911F910F91FF908A
:04038600EF90089557
:10038A00E0E2F8E083E896E08087918783E087835C
:10039A00A0E4B4E081E011968C93119782E0129662
:0C03AA008C9380E8858380EC86830895A6
:1003B60080E4809341040E94C501789466EB71E85D
:1003C60085E292E00E946B0161EC71E880E292E0C6
:0603D6000E946B01FFCF45
:1003DC00DC01FB019D912191921303C09111FACF85
:0C03EC00292F892F90E0821B91090895B1
:1003F800EC010E942E020E942D02CE010E942F02C3
:06040800CE010E942B0250
:10040E00FC01480F591FE417F50711F06193FBCF5C
:02041E0008953F
:10042000E0E2F8E0948195FFFDCF809322080895E3
:10043000FC01DB012D91BD0121932111FACF08951B
:0A04400088EA91E80E94A3010895E4
:08044A0080E48093470408954B
:040452000C94000006
:040456000E94A80058
:02045A00089503
:02045C00089501
:02045E000895FF
:00000001FF

View File

@ -0,0 +1,658 @@
Archive member included to satisfy reference by file (symbol)
c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_copy_data.o)
build/default/production/main.o (__do_clear_bss)
c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(exit.o)
C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o (exit)
c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(memset.o)
build/default/production/main.o (memset)
c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcmp.o)
build/default/production/command.o (strcmp)
c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcpy.o)
build/default/production/command.o (strcpy)
c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(_Exit.o)
c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(exit.o) (_Exit)
c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(_Exit.o) (_exit)
Discarded input sections
.data 0x0000000000000000 0x0 C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
.bss 0x0000000000000000 0x0 C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
.text 0x0000000000000000 0x0 build/default/production/main.o
.data 0x0000000000000000 0x0 build/default/production/main.o
.bss 0x0000000000000000 0x0 build/default/production/main.o
.text.MCU_Init_Ports
0x0000000000000000 0x8 build/default/production/main.o
.text 0x0000000000000000 0x0 build/default/production/usart.o
.data 0x0000000000000000 0x0 build/default/production/usart.o
.bss 0x0000000000000000 0x0 build/default/production/usart.o
.text 0x0000000000000000 0x0 build/default/production/command.o
.data 0x0000000000000000 0x0 build/default/production/command.o
.bss 0x0000000000000000 0x0 build/default/production/command.o
.text 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_copy_data.o)
.data 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_copy_data.o)
.bss 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_copy_data.o)
.text.libgcc.mul
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_copy_data.o)
.text.libgcc.div
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_copy_data.o)
.text.libgcc 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_copy_data.o)
.text.libgcc.prologue
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_copy_data.o)
.text.libgcc.builtins
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_copy_data.o)
.text.libgcc.fmul
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_copy_data.o)
.text.libgcc.fixed
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_copy_data.o)
.text 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(exit.o)
.data 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(exit.o)
.bss 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(exit.o)
.text 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(memset.o)
.data 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(memset.o)
.bss 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(memset.o)
.text 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcmp.o)
.data 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcmp.o)
.bss 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcmp.o)
.text 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcpy.o)
.data 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcpy.o)
.bss 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcpy.o)
.text 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(_Exit.o)
.data 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(_Exit.o)
.bss 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(_Exit.o)
.text 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
.data 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
.bss 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
.text.libgcc.mul
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
.text.libgcc.div
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
.text.libgcc 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
.text.libgcc.prologue
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
.stack.descriptors
0x0000000000000000 0x13 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
.text.libgcc.builtins
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
.text.libgcc.fmul
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
.text.libgcc.fixed
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
Memory Configuration
Name Origin Length Attributes
text 0x0000000000000000 0x0000000000020000 xr
data 0x0000000000804000 0x0000000000004000 rw !x
eeprom 0x0000000000810000 0x0000000000000200 rw !x
fuse 0x0000000000820000 0x0000000000000010 rw !x
lock 0x0000000000830000 0x0000000000000400 rw !x
signature 0x0000000000840000 0x0000000000000400 rw !x
user_signatures 0x0000000000850000 0x0000000000000400 rw !x
*default* 0x0000000000000000 0xffffffffffffffff
Linker script and memory map
Address of section .data set to 0x804000
0x0000000000008000 __RODATA_PM_OFFSET__ = 0x8000
LOAD C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
0x0000000000000001 __MPLAB_BUILD = 0x1
LOAD build/default/production/main.o
LOAD build/default/production/usart.o
LOAD build/default/production/command.o
START GROUP
LOAD c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libm.a
END GROUP
START GROUP
LOAD c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a
LOAD c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libm.a
LOAD c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a
LOAD C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped\libavr128da48.a
END GROUP
[0x0000000000000000] __TEXT_REGION_ORIGIN__ = DEFINED (__TEXT_REGION_ORIGIN__)?__TEXT_REGION_ORIGIN__:0x0
[0x0000000000804000] __DATA_REGION_ORIGIN__ = DEFINED (__DATA_REGION_ORIGIN__)?__DATA_REGION_ORIGIN__:0x802000
[0x0000000000020000] __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x100000
[0x0000000000004000] __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0
[0x0000000000000200] __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000
[0x0000000000000010] __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400
0x0000000000000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400
0x0000000000000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400
0x0000000000000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400
.hash
*(.hash)
.dynsym
*(.dynsym)
.dynstr
*(.dynstr)
.gnu.version
*(.gnu.version)
.gnu.version_d
*(.gnu.version_d)
.gnu.version_r
*(.gnu.version_r)
.rel.init
*(.rel.init)
.rela.init
*(.rela.init)
.rel.text
*(.rel.text)
*(.rel.text.*)
*(.rel.gnu.linkonce.t*)
.rela.text
*(.rela.text)
*(.rela.text.*)
*(.rela.gnu.linkonce.t*)
.rel.fini
*(.rel.fini)
.rela.fini
*(.rela.fini)
.rel.rodata
*(.rel.rodata)
*(.rel.rodata.*)
*(.rel.gnu.linkonce.r*)
.rela.rodata
*(.rela.rodata)
*(.rela.rodata.*)
*(.rela.gnu.linkonce.r*)
.rel.data
*(.rel.data)
*(.rel.data.*)
*(.rel.gnu.linkonce.d*)
.rela.data
*(.rela.data)
*(.rela.data.*)
*(.rela.gnu.linkonce.d*)
.rel.ctors
*(.rel.ctors)
.rela.ctors
*(.rela.ctors)
.rel.dtors
*(.rel.dtors)
.rela.dtors
*(.rela.dtors)
.rel.got
*(.rel.got)
.rela.got
*(.rela.got)
.rel.bss
*(.rel.bss)
.rela.bss
*(.rela.bss)
.rel.plt
*(.rel.plt)
.rela.plt
*(.rela.plt)
.text 0x0000000000000000 0x154
*(.vectors)
.vectors 0x0000000000000000 0xe8 C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
0x0000000000000000 __vector_default
0x0000000000000000 __vectors
*(.vectors)
*(.progmem.gcc*)
*(.dinit)
.dinit 0x00000000000000e8 0x5 data_init
0x00000000000000ee . = ALIGN (0x2)
*fill* 0x00000000000000ed 0x1
0x00000000000000ee __trampolines_start = .
*(.trampolines)
.trampolines 0x00000000000000ee 0x0 linker stubs
*(.trampolines*)
0x00000000000000ee __trampolines_end = .
*libprintf_flt.a:*(.progmem.data)
*libc.a:*(.progmem.data)
0x00000000000000ee . = ALIGN (0x2)
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x00000000000000ee __ctors_start = .
*(.ctors)
0x00000000000000ee __ctors_end = .
0x00000000000000ee __dtors_start = .
*(.dtors)
0x00000000000000ee __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x00000000000000ee 0x0 C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
0x00000000000000ee __init
*(.init0)
*(.init1)
.init1 0x00000000000000ee 0xe C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
*(.init1)
*(.init2)
.init2 0x00000000000000fc 0xc C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
.init4 0x0000000000000108 0x40 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_copy_data.o)
0x0000000000000108 __do_copy_data
0x000000000000013a __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x0000000000000148 0x8 C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
*(.init9)
0x0000000000000150 . = ALIGN (0x2)
*(.fini9)
.fini9 0x0000000000000150 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
0x0000000000000150 _exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x0000000000000150 0x4 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
*(.fini0)
0x0000000000000154 _etext = .
.data 0x0000000000804000 0x0 load address 0x0000000000000154
[!provide] PROVIDE (__data_start, .)
*(.gnu.linkonce.d*)
*(.gnu.linkonce.r*)
0x0000000000804000 . = ALIGN (0x2)
0x0000000000804000 _edata = .
[!provide] PROVIDE (__data_end, .)
.bss 0x0000000000804000 0x0
[!provide] PROVIDE (__bss_start, .)
*(COMMON)
[!provide] PROVIDE (__bss_end, .)
0x0000000000000154 __data_load_start = LOADADDR (.data)
0x0000000000000154 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x0000000000804000 0x0
[!provide] PROVIDE (__noinit_start, .)
*(.noinit*)
[!provide] PROVIDE (__noinit_end, .)
0x0000000000804000 _end = .
.eeprom 0x0000000000810000 0x0
*(.eeprom*)
0x0000000000810000 __eeprom_end = .
.fuse
*(.fuse)
*(.lfuse)
*(.hfuse)
*(.efuse)
.lock
*(.lock*)
.signature
*(.signature*)
.user_signatures
*(.user_signatures*)
.stab
*(.stab)
.stabstr
*(.stabstr)
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment 0x0000000000000000 0x2f
*(.comment)
.comment 0x0000000000000000 0x2f build/default/production/main.o
0x30 (size before relaxing)
.comment 0x000000000000002f 0x30 build/default/production/usart.o
.comment 0x000000000000002f 0x30 build/default/production/command.o
.comment 0x000000000000002f 0x30 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(exit.o)
.comment 0x000000000000002f 0x30 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(memset.o)
.comment 0x000000000000002f 0x30 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcmp.o)
.comment 0x000000000000002f 0x30 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcpy.o)
.comment 0x000000000000002f 0x30 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(_Exit.o)
.note.GNU-stack
0x0000000000000000 0x0
.note.GNU-stack
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(exit.o)
.note.GNU-stack
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(memset.o)
.note.GNU-stack
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcmp.o)
.note.GNU-stack
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcpy.o)
.note.GNU-stack
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(_Exit.o)
.stack.descriptors.hdr
0x0000000000000000 0xe
.stack.descriptors.hdr
0x0000000000000000 0xe c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/avrxmega4/memx-const/mapped\libgcc.a(_exit.o)
.note.gnu.build-id
*(.note.gnu.build-id)
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x0000000000000000 0x98
*(.debug_aranges)
.debug_aranges
0x0000000000000000 0x40 build/default/production/main.o
.debug_aranges
0x0000000000000040 0x30 build/default/production/usart.o
.debug_aranges
0x0000000000000070 0x28 build/default/production/command.o
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x0000000000000000 0x3f44
*(.debug_info .gnu.linkonce.wi.*)
.debug_info 0x0000000000000000 0x2c24 C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
.debug_info 0x0000000000002c24 0x7ef build/default/production/main.o
.debug_info 0x0000000000003413 0x6b2 build/default/production/usart.o
.debug_info 0x0000000000003ac5 0x47f build/default/production/command.o
.debug_abbrev 0x0000000000000000 0x2e07
*(.debug_abbrev)
.debug_abbrev 0x0000000000000000 0x29ce C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
.debug_abbrev 0x00000000000029ce 0x1a8 build/default/production/main.o
.debug_abbrev 0x0000000000002b76 0x14c build/default/production/usart.o
.debug_abbrev 0x0000000000002cc2 0x145 build/default/production/command.o
.debug_line 0x0000000000000000 0x6ab
*(.debug_line .debug_line.* .debug_line_end)
.debug_line 0x0000000000000000 0x222 C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
.debug_line 0x0000000000000222 0x1b6 build/default/production/main.o
.debug_line 0x00000000000003d8 0x175 build/default/production/usart.o
.debug_line 0x000000000000054d 0x15e build/default/production/command.o
.debug_frame 0x0000000000000000 0x17c
*(.debug_frame)
.debug_frame 0x0000000000000000 0xac build/default/production/main.o
.debug_frame 0x00000000000000ac 0x64 build/default/production/usart.o
.debug_frame 0x0000000000000110 0x6c build/default/production/command.o
.debug_str 0x0000000000000000 0x138b
*(.debug_str)
.debug_str 0x0000000000000000 0x1320 C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
.debug_str 0x0000000000001320 0x4e build/default/production/main.o
.debug_str 0x000000000000136e 0xb build/default/production/usart.o
.debug_str 0x0000000000001379 0x12 build/default/production/command.o
.debug_loc 0x0000000000000000 0x1b2
*(.debug_loc)
.debug_loc 0x0000000000000000 0x13 build/default/production/main.o
.debug_loc 0x0000000000000013 0x5a build/default/production/usart.o
.debug_loc 0x000000000000006d 0x145 build/default/production/command.o
.debug_macinfo
*(.debug_macinfo)
.debug_weaknames
*(.debug_weaknames)
.debug_funcnames
*(.debug_funcnames)
.debug_typenames
*(.debug_typenames)
.debug_varnames
*(.debug_varnames)
.debug_pubtypes
*(.debug_pubtypes)
.debug_ranges 0x0000000000000000 0x68
*(.debug_ranges)
.debug_ranges 0x0000000000000000 0x30 build/default/production/main.o
.debug_ranges 0x0000000000000030 0x20 build/default/production/usart.o
.debug_ranges 0x0000000000000050 0x18 build/default/production/command.o
.debug_macro
*(.debug_macro)
OUTPUT(dist/default/production/avr128da48_web-serial-example.X.production.elf elf32-avr)
LOAD linker stubs
LOAD data_init
.note.gnu.avr.deviceinfo
0x0000000000000000 0x40
.note.gnu.avr.deviceinfo
0x0000000000000000 0x40 C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
.bss.buff_idx 0x0000000000804082 0x1
.bss.buff_idx 0x0000000000804082 0x1 build/default/production/main.o
0x0000000000804082 buff_idx
.bss.buffer 0x000000000080406e 0x14
.bss.buffer 0x000000000080406e 0x14 build/default/production/main.o
0x000000000080406e buffer
.bss.cmd_idx 0x0000000000804083 0x1
.bss.cmd_idx 0x0000000000804083 0x1 build/default/production/command.o
0x0000000000804083 cmd_idx
.bss.commands 0x0000000000804000 0x6e
.bss.commands 0x0000000000804000 0x6e build/default/production/command.o
0x0000000000804000 commands
.rodata 0x0000000000808154 0x54 load address 0x0000000000000154
.rodata 0x0000000000808154 0x54 build/default/production/command.o
.rodata 0x00000000008081a8 0x1f load address 0x00000000000001a8
.rodata 0x00000000008081a8 0x1f build/default/production/main.o
.text.__vector_31
0x00000000000001c8 0x9c
.text.__vector_31
0x00000000000001c8 0x9c build/default/production/main.o
0x00000000000001c8 __vector_31
.text.command_process
0x0000000000000264 0x72
.text.command_process
0x0000000000000264 0x72 build/default/production/command.o
0x0000000000000264 command_process
.text.command_define
0x00000000000002d6 0x70
.text.command_define
0x00000000000002d6 0x70 build/default/production/command.o
0x00000000000002d6 command_define
.text.USART1_SendString
0x0000000000000346 0x44
.text.USART1_SendString
0x0000000000000346 0x44 build/default/production/usart.o
0x0000000000000346 USART1_SendString
.text.USART1_Initialize
0x000000000000038a 0x2c
.text.USART1_Initialize
0x000000000000038a 0x2c build/default/production/usart.o
0x000000000000038a USART1_Initialize
.text.main 0x00000000000003b6 0x26
.text.main 0x00000000000003b6 0x26 build/default/production/main.o
0x00000000000003b6 main
.text.strcmp 0x00000000000003dc 0x1c
.text.strcmp 0x00000000000003dc 0x1c c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcmp.o)
0x00000000000003dc strcmp
.text.exit 0x00000000000003f8 0x16
.text.exit 0x00000000000003f8 0x16 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(exit.o)
0x00000000000003f8 exit
.text.memset 0x000000000000040e 0x12
.text.memset 0x000000000000040e 0x12 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(memset.o)
0x000000000000040e memset
.text.USART1_SendChar
0x0000000000000420 0x10
.text.USART1_SendChar
0x0000000000000420 0x10 build/default/production/usart.o
0x0000000000000420 USART1_SendChar
.text.strcpy 0x0000000000000430 0x10
.text.strcpy 0x0000000000000430 0x10 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(strcpy.o)
0x0000000000000430 strcpy
.text.hello_world
0x0000000000000440 0xa
.text.hello_world
0x0000000000000440 0xa build/default/production/main.o
0x0000000000000440 hello_world
.text.led_toggle
0x000000000000044a 0x8
.text.led_toggle
0x000000000000044a 0x8 build/default/production/main.o
0x000000000000044a led_toggle
.text 0x0000000000000452 0x4
.text 0x0000000000000452 0x4 C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124/xc8/avr/lib/avrxmega4/memx-const/mapped/crtavr128da48.o
0x0000000000000452 __vector_38
0x0000000000000452 __vector_22
0x0000000000000452 __vector_28
0x0000000000000452 __vector_1
0x0000000000000452 __vector_32
0x0000000000000452 __vector_34
0x0000000000000452 __vector_24
0x0000000000000452 __vector_12
0x0000000000000452 __vector_55
0x0000000000000452 __vector_46
0x0000000000000452 __bad_interrupt
0x0000000000000452 __vector_6
0x0000000000000452 __vector_35
0x0000000000000452 __vector_39
0x0000000000000452 __vector_3
0x0000000000000452 __vector_23
0x0000000000000452 __vector_30
0x0000000000000452 __vector_45
0x0000000000000452 __vector_25
0x0000000000000452 __vector_11
0x0000000000000452 __vector_54
0x0000000000000452 __vector_13
0x0000000000000452 __vector_17
0x0000000000000452 __vector_19
0x0000000000000452 __vector_56
0x0000000000000452 __vector_7
0x0000000000000452 __vector_49
0x0000000000000452 __vector_41
0x0000000000000452 __vector_43
0x0000000000000452 __vector_27
0x0000000000000452 __vector_5
0x0000000000000452 __vector_33
0x0000000000000452 __vector_47
0x0000000000000452 __vector_52
0x0000000000000452 __vector_37
0x0000000000000452 __vector_4
0x0000000000000452 __vector_44
0x0000000000000452 __vector_51
0x0000000000000452 __vector_9
0x0000000000000452 __vector_2
0x0000000000000452 __vector_21
0x0000000000000452 __vector_15
0x0000000000000452 __vector_36
0x0000000000000452 __vector_29
0x0000000000000452 __vector_40
0x0000000000000452 __vector_8
0x0000000000000452 __vector_26
0x0000000000000452 __vector_48
0x0000000000000452 __vector_14
0x0000000000000452 __vector_57
0x0000000000000452 __vector_53
0x0000000000000452 __vector_10
0x0000000000000452 __vector_50
0x0000000000000452 __vector_16
0x0000000000000452 __vector_18
0x0000000000000452 __vector_20
0x0000000000000452 __vector_42
.text._Exit 0x0000000000000456 0x4
.text._Exit 0x0000000000000456 0x4 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(_Exit.o)
0x0000000000000456 _Exit
.text.__dummy_fini
0x000000000000045a 0x2
.text.__dummy_fini
0x000000000000045a 0x2 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(exit.o)
0x000000000000045a _fini
.text.__dummy_funcs_on_exit
0x000000000000045c 0x2
.text.__dummy_funcs_on_exit
0x000000000000045c 0x2 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(exit.o)
0x000000000000045c __funcs_on_exit
.text.__dummy_simulator_exit
0x000000000000045e 0x2
.text.__dummy_simulator_exit
0x000000000000045e 0x2 c:/program files/microchip/xc8/v2.36/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega4/memx-const/mapped\libc.a(exit.o)
0x000000000000045e __simulator_exit

17
dist/default/production/memoryfile.xml vendored Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project>
<executable name="dist/default/production/avr128da48_web-serial-example.X.production.elf">
<memory name="program">
<units>bytes</units>
<length>131072</length>
<used>1119</used>
<free>129953</free>
</memory>
<memory name="data">
<units>bytes</units>
<length>16384</length>
<used>132</used>
<free>16252</free>
</memory>
</executable>
</project>

55
main.c Normal file
View File

@ -0,0 +1,55 @@
#define F_CPU (4000000UL)
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <string.h>
#include "command.h"
#include "usart.h"
#define BUFFER_SIZE 20
char buffer[BUFFER_SIZE];
volatile uint8_t buff_idx = 0;
void led_toggle(void);
void hello_world(void);
ISR(USART1_RXC_vect) {
char c;
c = USART1.RXDATAL;
if (c != ' ' && c != '\n' && c != '\r') {
buffer[buff_idx++] = c;
}
if (c == '\n') {
command_process(buffer);
buff_idx = 0;
memset(buffer, 0, strlen(buffer));
}
}
void MCU_Init_Ports(void) {
/* led pin PC6 to output */
PORTC.DIRSET = PIN6_bm;
}
int main(void) {
MCU_Init_Ports();
USART1_Initialize();
sei();
command_define(led_toggle, "led_toggle");
command_define(hello_world, "hello");
while (1) {
}
}
void led_toggle(void) {
PORTC.OUTTGL = PIN6_bm;
}
void hello_world(void) {
USART1_SendString("Hello world!\n");
}

View File

@ -0,0 +1,182 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Include project Makefile
ifeq "${IGNORE_LOCAL}" "TRUE"
# do not include local makefile. User is passing all local related variables already
else
include Makefile
# Include makefile containing local settings
ifeq "$(wildcard nbproject/Makefile-local-default.mk)" "nbproject/Makefile-local-default.mk"
include nbproject/Makefile-local-default.mk
endif
endif
# Environment
MKDIR=gnumkdir -p
RM=rm -f
MV=mv
CP=cp
# Macros
CND_CONF=default
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
IMAGE_TYPE=debug
OUTPUT_SUFFIX=elf
DEBUGGABLE_SUFFIX=elf
FINAL_IMAGE=${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
else
IMAGE_TYPE=production
OUTPUT_SUFFIX=hex
DEBUGGABLE_SUFFIX=elf
FINAL_IMAGE=${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
endif
ifeq ($(COMPARE_BUILD), true)
COMPARISON_BUILD=-mafrlcsj
else
COMPARISON_BUILD=
endif
ifdef SUB_IMAGE_ADDRESS
else
SUB_IMAGE_ADDRESS_COMMAND=
endif
# Object Directory
OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
# Distribution Directory
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
# Source Files Quoted if spaced
SOURCEFILES_QUOTED_IF_SPACED=main.c usart.c command.c
# Object Files Quoted if spaced
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/main.o ${OBJECTDIR}/usart.o ${OBJECTDIR}/command.o
POSSIBLE_DEPFILES=${OBJECTDIR}/main.o.d ${OBJECTDIR}/usart.o.d ${OBJECTDIR}/command.o.d
# Object Files
OBJECTFILES=${OBJECTDIR}/main.o ${OBJECTDIR}/usart.o ${OBJECTDIR}/command.o
# Source Files
SOURCEFILES=main.c usart.c command.c
CFLAGS=
ASFLAGS=
LDLIBSOPTIONS=
############# Tool locations ##########################################
# If you copy a project from one host to another, the path where the #
# compiler is installed may be different. #
# If you open this project with MPLAB X in the new host, this #
# makefile will be regenerated and the paths will be corrected. #
#######################################################################
# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build
FIXDEPS=fixDeps
.build-conf: ${BUILD_SUBPROJECTS}
ifneq ($(INFORMATION_MESSAGE), )
@echo $(INFORMATION_MESSAGE)
endif
${MAKE} -f nbproject/Makefile-default.mk ${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
MP_PROCESSOR_OPTION=AVR128DA48
# ------------------------------------------------------------------------------------
# Rules for buildStep: compile
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
${OBJECTDIR}/main.o: main.c .generated_files/flags/default/baf556898677ce2f71fcf7d1ed7762047b1b08b2 .generated_files/flags/default/adc60f139592a80ffba15ee218ef4587961729e8
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/main.o.d
@${RM} ${OBJECTDIR}/main.o
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -MD -MP -MF "${OBJECTDIR}/main.o.d" -MT "${OBJECTDIR}/main.o.d" -MT ${OBJECTDIR}/main.o -o ${OBJECTDIR}/main.o main.c
${OBJECTDIR}/usart.o: usart.c .generated_files/flags/default/454d3881b9ef453d62371ca6ae5d493a9db2f763 .generated_files/flags/default/adc60f139592a80ffba15ee218ef4587961729e8
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/usart.o.d
@${RM} ${OBJECTDIR}/usart.o
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -MD -MP -MF "${OBJECTDIR}/usart.o.d" -MT "${OBJECTDIR}/usart.o.d" -MT ${OBJECTDIR}/usart.o -o ${OBJECTDIR}/usart.o usart.c
${OBJECTDIR}/command.o: command.c .generated_files/flags/default/67130230c37141f762328d3477127279e5794533 .generated_files/flags/default/adc60f139592a80ffba15ee218ef4587961729e8
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/command.o.d
@${RM} ${OBJECTDIR}/command.o
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -D__DEBUG=1 -g -DDEBUG -gdwarf-2 -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -MD -MP -MF "${OBJECTDIR}/command.o.d" -MT "${OBJECTDIR}/command.o.d" -MT ${OBJECTDIR}/command.o -o ${OBJECTDIR}/command.o command.c
else
${OBJECTDIR}/main.o: main.c .generated_files/flags/default/244ff3d6ca5f6fe1ad3255fce837d326ef857c0e .generated_files/flags/default/adc60f139592a80ffba15ee218ef4587961729e8
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/main.o.d
@${RM} ${OBJECTDIR}/main.o
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -MD -MP -MF "${OBJECTDIR}/main.o.d" -MT "${OBJECTDIR}/main.o.d" -MT ${OBJECTDIR}/main.o -o ${OBJECTDIR}/main.o main.c
${OBJECTDIR}/usart.o: usart.c .generated_files/flags/default/9b2f2a27767e8fb25a5e864c373fffef3c042982 .generated_files/flags/default/adc60f139592a80ffba15ee218ef4587961729e8
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/usart.o.d
@${RM} ${OBJECTDIR}/usart.o
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -MD -MP -MF "${OBJECTDIR}/usart.o.d" -MT "${OBJECTDIR}/usart.o.d" -MT ${OBJECTDIR}/usart.o -o ${OBJECTDIR}/usart.o usart.c
${OBJECTDIR}/command.o: command.c .generated_files/flags/default/316ffe5fc1b0327ad1888acca4fe8f061c349913 .generated_files/flags/default/adc60f139592a80ffba15ee218ef4587961729e8
@${MKDIR} "${OBJECTDIR}"
@${RM} ${OBJECTDIR}/command.o.d
@${RM} ${OBJECTDIR}/command.o
${MP_CC} $(MP_EXTRA_CC_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -c -x c -D__$(MP_PROCESSOR_OPTION)__ -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=$(CND_CONF) $(COMPARISON_BUILD) -gdwarf-3 -MD -MP -MF "${OBJECTDIR}/command.o.d" -MT "${OBJECTDIR}/command.o.d" -MT ${OBJECTDIR}/command.o -o ${OBJECTDIR}/command.o command.c
endif
# ------------------------------------------------------------------------------------
# Rules for buildStep: assemble
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
else
endif
# ------------------------------------------------------------------------------------
# Rules for buildStep: assembleWithPreprocess
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
else
endif
# ------------------------------------------------------------------------------------
# Rules for buildStep: link
ifeq ($(TYPE_IMAGE), DEBUG_RUN)
${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} ${DISTDIR}
${MP_CC} $(MP_EXTRA_LD_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -Wl,-Map=${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.map -D__DEBUG=1 -DXPRJ_default=$(CND_CONF) -Wl,--defsym=__MPLAB_BUILD=1 -mdfp="${DFP_DIR}/xc8" -gdwarf-2 -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -gdwarf-3 $(COMPARISON_BUILD) -Wl,--memorysummary,${DISTDIR}/memoryfile.xml -o ${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -o ${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--defsym=__MPLAB_DEBUG=1,--defsym=__DEBUG=1
@${RM} ${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.hex
else
${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} ${DISTDIR}
${MP_CC} $(MP_EXTRA_LD_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -Wl,-Map=${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.map -DXPRJ_default=$(CND_CONF) -Wl,--defsym=__MPLAB_BUILD=1 -mdfp="${DFP_DIR}/xc8" -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -gdwarf-3 $(COMPARISON_BUILD) -Wl,--memorysummary,${DISTDIR}/memoryfile.xml -o ${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} -o ${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -Wl,--start-group -Wl,-lm -Wl,--end-group
${MP_CC_DIR}\\avr-objcopy -O ihex "${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}" "${DISTDIR}/avr128da48_web-serial-example.X.${IMAGE_TYPE}.hex"
endif
# Subprojects
.build-subprojects:
# Subprojects
.clean-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
${RM} -r ${OBJECTDIR}
${RM} -r ${DISTDIR}
# Enable dependency checking
.dep.inc: .depcheck-impl
DEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})
ifneq (${DEPFILES},)
include ${DEPFILES}
endif

View File

@ -0,0 +1,14 @@
#
#Sun Sep 18 19:33:06 MSK 2022
default.languagetoolchain.version=2.36
default.Pack.dfplocation=C\:\\Program Files\\Microchip\\MPLABX\\v6.00\\packs\\Microchip\\AVR-Dx_DFP\\1.10.124
default.com-microchip-mplab-mdbcore-AtmelIceScripting-AtmelIceScriptingBase.md5=482739504911ebc0014ce7a2f768600b
conf.ids=default
default.languagetoolchain.dir=C\:\\Program Files\\Microchip\\xc8\\v2.36\\bin
host.id=j1xa-hixg-b
configurations-xml=aebb80b5ae0e47377ddbf10c5632d870
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=6e02ca5e9f5042ffd365b42ab82d3a9b
user-defined-mime-resolver-xml=none
default.com-microchip-mplab-nbide-toolchain-xc8-XC8LanguageToolchain.md5=ab1e0737b447a24f7366e9fd8fe5a2f0
proj.dir=D\:\\Apps\\avr128da48_web-serial-example.X
host.platform=windows

View File

@ -0,0 +1,69 @@
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a pre- and a post- target defined where you can add customization code.
#
# This makefile implements macros and targets common to all configurations.
#
# NOCDDL
# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
# and .clean-reqprojects-conf unless SUB has the value 'no'
SUB_no=NO
SUBPROJECTS=${SUB_${SUB}}
BUILD_SUBPROJECTS_=.build-subprojects
BUILD_SUBPROJECTS_NO=
BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
CLEAN_SUBPROJECTS_=.clean-subprojects
CLEAN_SUBPROJECTS_NO=
CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
# Project Name
PROJECTNAME=avr128da48_web-serial-example.X
# Active Configuration
DEFAULTCONF=default
CONF=${DEFAULTCONF}
# All Configurations
ALLCONFS=default
# build
.build-impl: .build-pre
${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf
# clean
.clean-impl: .clean-pre
${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf
# clobber
.clobber-impl: .clobber-pre .depcheck-impl
${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default clean
# all
.all-impl: .all-pre .depcheck-impl
${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=default build
# dependency checking support
.depcheck-impl:
# @echo "# This code depends on make tool being used" >.dep.inc
# @if [ -n "${MAKE_VERSION}" ]; then \
# echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
# echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
# echo "include \$${DEPFILES}" >>.dep.inc; \
# echo "endif" >>.dep.inc; \
# else \
# echo ".KEEP_STATE:" >>.dep.inc; \
# echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
# fi

View File

@ -0,0 +1,38 @@
#
# Generated Makefile - do not edit!
#
#
# This file contains information about the location of compilers and other tools.
# If you commmit this file into your revision control server, you will be able to
# to checkout the project and build it from the command line with make. However,
# if more than one person works on the same project, then this file might show
# conflicts since different users are bound to have compilers in different places.
# In that case you might choose to not commit this file and let MPLAB X recreate this file
# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at
# least once so the file gets created and the project can be built. Finally, you can also
# avoid using this file at all if you are only building from the command line with make.
# You can invoke make with the values of the macros:
# $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ...
#
SHELL=cmd.exe
PATH_TO_IDE_BIN=C:/Program Files/Microchip/MPLABX/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/
# Adding MPLAB X bin directory to path.
PATH:=C:/Program Files/Microchip/MPLABX/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/:$(PATH)
# Path to java used to run MPLAB X when this makefile was created
MP_JAVA_PATH="C:\Program Files\Microchip\MPLABX\v6.00\sys\java\zulu8.54.0.21-ca-fx-jre8.0.292-win_x64/bin/"
OS_CURRENT="$(shell uname -s)"
MP_CC="C:\Program Files\Microchip\xc8\v2.36\bin\xc8-cc.exe"
# MP_CPPC is not defined
# MP_BC is not defined
MP_AS="C:\Program Files\Microchip\xc8\v2.36\bin\xc8-cc.exe"
MP_LD="C:\Program Files\Microchip\xc8\v2.36\bin\xc8-cc.exe"
MP_AR="C:\Program Files\Microchip\xc8\v2.36\bin\xc8-ar.exe"
DEP_GEN=${MP_JAVA_PATH}java -jar "C:/Program Files/Microchip/MPLABX/v6.00/mplab_platform/platform/../mplab_ide/modules/../../bin/extractobjectdependencies.jar"
MP_CC_DIR="C:\Program Files\Microchip\xc8\v2.36\bin"
# MP_CPPC_DIR is not defined
# MP_BC_DIR is not defined
MP_AS_DIR="C:\Program Files\Microchip\xc8\v2.36\bin"
MP_LD_DIR="C:\Program Files\Microchip\xc8\v2.36\bin"
MP_AR_DIR="C:\Program Files\Microchip\xc8\v2.36\bin"
# MP_BC_DIR is not defined
DFP_DIR=C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/AVR-Dx_DFP/1.10.124

View File

@ -0,0 +1,10 @@
#
# Generated - do not edit!
#
# NOCDDL
#
CND_BASEDIR=`pwd`
# default configuration
CND_ARTIFACT_DIR_default=dist/default/production
CND_ARTIFACT_NAME_default=avr128da48_web-serial-example.X.production.hex
CND_ARTIFACT_PATH_default=dist/default/production/avr128da48_web-serial-example.X.production.hex

View File

@ -0,0 +1,261 @@
<?xml version="1.0" encoding="UTF-8"?>
<configurationDescriptor version="65">
<logicalFolder name="root" displayName="root" projectFiles="true">
<logicalFolder name="HeaderFiles"
displayName="Header Files"
projectFiles="true">
<itemPath>usart.h</itemPath>
<itemPath>command.h</itemPath>
</logicalFolder>
<logicalFolder name="LinkerScript"
displayName="Linker Files"
projectFiles="true">
</logicalFolder>
<logicalFolder name="SourceFiles"
displayName="Source Files"
projectFiles="true">
<itemPath>main.c</itemPath>
<itemPath>usart.c</itemPath>
<itemPath>command.c</itemPath>
</logicalFolder>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
projectFiles="false">
<itemPath>Makefile</itemPath>
</logicalFolder>
</logicalFolder>
<projectmakefile>Makefile</projectmakefile>
<confs>
<conf name="default" type="2">
<toolsSet>
<developmentServer>localhost</developmentServer>
<targetDevice>AVR128DA48</targetDevice>
<targetHeader></targetHeader>
<targetPluginBoard></targetPluginBoard>
<platformTool>nEdbgTool</platformTool>
<languageToolchain>XC8</languageToolchain>
<languageToolchainVersion>2.36</languageToolchainVersion>
<platform>3</platform>
</toolsSet>
<packs>
<pack name="AVR-Dx_DFP" vendor="Microchip" version="1.10.124"/>
</packs>
<ScriptingSettings>
</ScriptingSettings>
<compileType>
<linkerTool>
<linkerLibItems>
</linkerLibItems>
</linkerTool>
<archiverTool>
</archiverTool>
<loading>
<useAlternateLoadableFile>false</useAlternateLoadableFile>
<parseOnProdLoad>false</parseOnProdLoad>
<alternateLoadableFile></alternateLoadableFile>
</loading>
<subordinates>
</subordinates>
</compileType>
<makeCustomizationType>
<makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>
<makeUseCleanTarget>false</makeUseCleanTarget>
<makeCustomizationPreStep></makeCustomizationPreStep>
<makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>
<makeCustomizationPostStep></makeCustomizationPostStep>
<makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>
<makeCustomizationEnableLongLines>false</makeCustomizationEnableLongLines>
<makeCustomizationNormalizeHexFile>false</makeCustomizationNormalizeHexFile>
</makeCustomizationType>
<HI-TECH-COMP>
<property key="additional-warnings" value="true"/>
<property key="asmlist" value="true"/>
<property key="call-prologues" value="false"/>
<property key="default-bitfield-type" value="true"/>
<property key="default-char-type" value="true"/>
<property key="define-macros" value=""/>
<property key="disable-optimizations" value="false"/>
<property key="extra-include-directories" value=""/>
<property key="favor-optimization-for" value="-speed,+space"/>
<property key="garbage-collect-data" value="true"/>
<property key="garbage-collect-functions" value="true"/>
<property key="identifier-length" value="255"/>
<property key="local-generation" value="false"/>
<property key="operation-mode" value="free"/>
<property key="opt-xc8-compiler-strict_ansi" value="false"/>
<property key="optimization-assembler" value="true"/>
<property key="optimization-assembler-files" value="true"/>
<property key="optimization-debug" value="false"/>
<property key="optimization-invariant-enable" value="false"/>
<property key="optimization-invariant-value" value="16"/>
<property key="optimization-level" value="-O1"/>
<property key="optimization-speed" value="false"/>
<property key="optimization-stable-enable" value="false"/>
<property key="preprocess-assembler" value="true"/>
<property key="short-enums" value="true"/>
<property key="tentative-definitions" value="-fno-common"/>
<property key="undefine-macros" value=""/>
<property key="use-cci" value="false"/>
<property key="use-iar" value="false"/>
<property key="verbose" value="false"/>
<property key="warning-level" value="-3"/>
<property key="what-to-do" value="ignore"/>
</HI-TECH-COMP>
<HI-TECH-LINK>
<property key="additional-options-checksum" value=""/>
<property key="additional-options-code-offset" value=""/>
<property key="additional-options-command-line" value=""/>
<property key="additional-options-errata" value=""/>
<property key="additional-options-extend-address" value="false"/>
<property key="additional-options-trace-type" value=""/>
<property key="additional-options-use-response-files" value="false"/>
<property key="backup-reset-condition-flags" value="false"/>
<property key="calibrate-oscillator" value="false"/>
<property key="calibrate-oscillator-value" value="0x3400"/>
<property key="clear-bss" value="true"/>
<property key="code-model-external" value="wordwrite"/>
<property key="code-model-rom" value=""/>
<property key="create-html-files" value="false"/>
<property key="data-model-ram" value=""/>
<property key="data-model-size-of-double" value="24"/>
<property key="data-model-size-of-double-gcc" value="no-short-double"/>
<property key="data-model-size-of-float" value="24"/>
<property key="data-model-size-of-float-gcc" value="no-short-float"/>
<property key="display-class-usage" value="false"/>
<property key="display-hex-usage" value="false"/>
<property key="display-overall-usage" value="true"/>
<property key="display-psect-usage" value="false"/>
<property key="extra-lib-directories" value=""/>
<property key="fill-flash-options-addr" value=""/>
<property key="fill-flash-options-const" value=""/>
<property key="fill-flash-options-how" value="0"/>
<property key="fill-flash-options-inc-const" value="1"/>
<property key="fill-flash-options-increment" value=""/>
<property key="fill-flash-options-seq" value=""/>
<property key="fill-flash-options-what" value="0"/>
<property key="format-hex-file-for-download" value="false"/>
<property key="initialize-data" value="true"/>
<property key="input-libraries" value="libm"/>
<property key="keep-generated-startup.as" value="false"/>
<property key="link-in-c-library" value="true"/>
<property key="link-in-c-library-gcc" value=""/>
<property key="link-in-peripheral-library" value="false"/>
<property key="managed-stack" value="false"/>
<property key="opt-xc8-linker-file" value="false"/>
<property key="opt-xc8-linker-link_startup" value="false"/>
<property key="opt-xc8-linker-serial" value=""/>
<property key="program-the-device-with-default-config-words" value="true"/>
<property key="remove-unused-sections" value="true"/>
</HI-TECH-LINK>
<Tool>
<property key="AutoSelectMemRanges" value="auto"/>
<property key="communication.activationmode" value="nohv"/>
<property key="communication.interface"
value="${communication.interface.default}"/>
<property key="communication.speed" value="${communication.speed.default}"/>
<property key="debugoptions.useswbreakpoints" value="false"/>
<property key="firmware.path"
value="Press to browse for a specific firmware version"/>
<property key="firmware.toolpack"
value="Press to select which tool pack to use"/>
<property key="firmware.update.action" value="firmware.update.use.latest"/>
<property key="freeze.timers" value="false"/>
<property key="memories.aux" value="false"/>
<property key="memories.bootflash" value="true"/>
<property key="memories.configurationmemory" value="true"/>
<property key="memories.configurationmemory2" value="true"/>
<property key="memories.dataflash" value="true"/>
<property key="memories.eeprom" value="true"/>
<property key="memories.exclude.configurationmemory" value="true"/>
<property key="memories.flashdata" value="true"/>
<property key="memories.id" value="true"/>
<property key="memories.instruction.ram.ranges"
value="${memories.instruction.ram.ranges}"/>
<property key="memories.programmemory" value="true"/>
<property key="memories.programmemory.ranges" value="0-ffff"/>
<property key="poweroptions.powerenable" value="false"/>
<property key="programmerToGoFilePath"
value="D:/Apps/avr128da48_web-serial-example.X/debug/default/avr128da48_web-serial-example_ptg"/>
<property key="programoptions.eraseb4program" value="true"/>
<property key="programoptions.preservedataflash" value="false"/>
<property key="programoptions.preservedataflash.ranges"
value="${memories.dataflash.default}"/>
<property key="programoptions.preserveeeprom" value="false"/>
<property key="programoptions.preserveeeprom.ranges" value="1400-15ff"/>
<property key="programoptions.preserveprogram.ranges" value=""/>
<property key="programoptions.preserveprogramrange" value="false"/>
<property key="programoptions.preserveuserid" value="false"/>
<property key="programoptions.programuserotp" value="false"/>
<property key="toolpack.updateoptions"
value="toolpack.updateoptions.uselatestoolpack"/>
<property key="toolpack.updateoptions.packversion"
value="Press to select which tool pack to use"/>
<property key="voltagevalue" value=""/>
</Tool>
<XC8-CO>
<property key="coverage-enable" value=""/>
<property key="stack-guidance" value="false"/>
</XC8-CO>
<XC8-config-global>
<property key="advanced-elf" value="true"/>
<property key="gcc-opt-driver-new" value="true"/>
<property key="gcc-opt-std" value="-std=c99"/>
<property key="gcc-output-file-format" value="dwarf-3"/>
<property key="omit-pack-options" value="false"/>
<property key="omit-pack-options-new" value="1"/>
<property key="output-file-format" value="-mcof,+elf"/>
<property key="stack-size-high" value="auto"/>
<property key="stack-size-low" value="auto"/>
<property key="stack-size-main" value="auto"/>
<property key="stack-type" value="compiled"/>
<property key="user-pack-device-support" value=""/>
<property key="wpo-lto" value="false"/>
</XC8-config-global>
<nEdbgTool>
<property key="AutoSelectMemRanges" value="auto"/>
<property key="communication.activationmode" value="nohv"/>
<property key="communication.interface"
value="${communication.interface.default}"/>
<property key="communication.speed" value="${communication.speed.default}"/>
<property key="debugoptions.useswbreakpoints" value="false"/>
<property key="firmware.path"
value="Press to browse for a specific firmware version"/>
<property key="firmware.toolpack"
value="Press to select which tool pack to use"/>
<property key="firmware.update.action" value="firmware.update.use.latest"/>
<property key="freeze.timers" value="false"/>
<property key="memories.aux" value="false"/>
<property key="memories.bootflash" value="true"/>
<property key="memories.configurationmemory" value="true"/>
<property key="memories.configurationmemory2" value="true"/>
<property key="memories.dataflash" value="true"/>
<property key="memories.eeprom" value="true"/>
<property key="memories.exclude.configurationmemory" value="true"/>
<property key="memories.flashdata" value="true"/>
<property key="memories.id" value="true"/>
<property key="memories.instruction.ram.ranges"
value="${memories.instruction.ram.ranges}"/>
<property key="memories.programmemory" value="true"/>
<property key="memories.programmemory.ranges" value="0-ffff"/>
<property key="poweroptions.powerenable" value="false"/>
<property key="programmerToGoFilePath"
value="D:/Apps/avr128da48_web-serial-example.X/debug/default/avr128da48_web-serial-example_ptg"/>
<property key="programoptions.eraseb4program" value="true"/>
<property key="programoptions.preservedataflash" value="false"/>
<property key="programoptions.preservedataflash.ranges"
value="${memories.dataflash.default}"/>
<property key="programoptions.preserveeeprom" value="false"/>
<property key="programoptions.preserveeeprom.ranges" value="1400-15ff"/>
<property key="programoptions.preserveprogram.ranges" value=""/>
<property key="programoptions.preserveprogramrange" value="false"/>
<property key="programoptions.preserveuserid" value="false"/>
<property key="programoptions.programuserotp" value="false"/>
<property key="toolpack.updateoptions"
value="toolpack.updateoptions.uselatestoolpack"/>
<property key="toolpack.updateoptions.packversion"
value="Press to select which tool pack to use"/>
<property key="voltagevalue" value=""/>
</nEdbgTool>
</conf>
</confs>
</configurationDescriptor>

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<configurationDescriptor version="65">
<projectmakefile>Makefile</projectmakefile>
<defaultConf>0</defaultConf>
<confs>
<conf name="default" type="2">
<platformToolSN>:=MPLABComm-USB-Microchip:=&lt;vid>03EB:=&lt;pid>2175:=&lt;rev>0100:=&lt;man>Microchip Technology Incorporated:=&lt;prod>nEDBG CMSIS-DAP:=&lt;sn>MCHP3280031800000837:=&lt;drv>x:=&lt;xpt>h:=end</platformToolSN>
<languageToolchainDir>C:\Program Files\Microchip\xc8\v2.36\bin</languageToolchainDir>
<mdbdebugger version="1">
<placeholder1>place holder 1</placeholder1>
<placeholder2>place holder 2</placeholder2>
</mdbdebugger>
<runprofile version="6">
<args></args>
<rundir></rundir>
<buildfirst>true</buildfirst>
<console-type>0</console-type>
<terminal-type>0</terminal-type>
<remove-instrumentation>0</remove-instrumentation>
<environment>
</environment>
</runprofile>
</conf>
</confs>
</configurationDescriptor>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
<file>file:/D:/Apps/avr128da48_web-serial-example.X/main.c</file>
</group>
</open-files>
</project-private>

27
nbproject/project.xml Normal file
View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>com.microchip.mplab.nbide.embedded.makeproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/make-project/1">
<name>avr128da48_web-serial-example</name>
<creation-uuid>69755243-2fe5-4cd4-8aa3-cd1c6ee51a0e</creation-uuid>
<make-project-type>0</make-project-type>
<c-extensions>c</c-extensions>
<cpp-extensions/>
<header-extensions>h</header-extensions>
<asminc-extensions/>
<sourceEncoding>ISO-8859-1</sourceEncoding>
<make-dep-projects/>
<sourceRootList/>
<confList>
<confElem>
<name>default</name>
<type>2</type>
</confElem>
</confList>
<formatting>
<project-formatting-style>false</project-formatting-style>
</formatting>
</data>
</configuration>
</project>

35
usart.c Normal file
View File

@ -0,0 +1,35 @@
#include "usart.h"
void USART1_Initialize(void) {
/* set baud rate */
USART1.BAUD = (uint16_t) (USART1_BAUD_RATE(BAUD_RATE));
/* set char size in a frame to 8 bit */
USART1.CTRLC = USART_CHSIZE0_bm | USART_CHSIZE1_bm;
/* config pins for TX and RX */
PORTC.DIRSET = PIN0_bm;
PORTC.DIRCLR = PIN1_bm;
/* enable reveice complete interrupt */
USART1.CTRLA = USART_RXCIE_bm;
/* enable transmitter and receiver */
USART1.CTRLB = USART_TXEN_bm | USART_RXEN_bm;
}
void USART1_SendChar(char c) {
while (!(USART1.STATUS & USART_DREIF_bm)) {
;
}
USART1.TXDATAL = c;
}
void USART1_SendString(char *str) {
for (size_t i = 0; i < strlen(str); i++) {
USART1_SendChar(str[i]);
}
}

15
usart.h Normal file
View File

@ -0,0 +1,15 @@
#ifndef USART_H
#define USART_H
#define BAUD_RATE (9600)
#define USART1_BAUD_RATE(BAUD_RATE) ((float)(64 * 4000000 / (16 * (float)BAUD_RATE)) + 0.5)
#include <avr/io.h>
#include <stdio.h>
#include <string.h>
void USART1_Initialize(void);
void USART1_SendChar(char c);
void USART1_SendString(char *str);
#endif /* USART_H */