From 4e29d729f6a364de594a3b4cc665195ba391f925 Mon Sep 17 00:00:00 2001 From: Sergey Yarkov Date: Sun, 18 Sep 2022 21:53:55 +0300 Subject: [PATCH] feat: added firmware --- .../244ff3d6ca5f6fe1ad3255fce837d326ef857c0e | 1 + .../316ffe5fc1b0327ad1888acca4fe8f061c349913 | 1 + .../454d3881b9ef453d62371ca6ae5d493a9db2f763 | 1 + .../67130230c37141f762328d3477127279e5794533 | 1 + .../9b2f2a27767e8fb25a5e864c373fffef3c042982 | 1 + .../adc60f139592a80ffba15ee218ef4587961729e8 | 38 + .../baf556898677ce2f71fcf7d1ed7762047b1b08b2 | 1 + Makefile | 113 +++ build/default/production/command.o | Bin 0 -> 6456 bytes build/default/production/command.o.d | 54 ++ build/default/production/main.o | Bin 0 -> 7872 bytes build/default/production/main.o.d | 65 ++ build/default/production/usart.o | Bin 0 -> 5716 bytes build/default/production/usart.o.d | 52 ++ command.c | 40 ++ command.h | 19 + ...28da48_web-serial-example.X.production.elf | Bin 0 -> 44900 bytes ...28da48_web-serial-example.X.production.hex | 82 +++ ...28da48_web-serial-example.X.production.map | 658 ++++++++++++++++++ dist/default/production/memoryfile.xml | 17 + main.c | 55 ++ nbproject/Makefile-default.mk | 182 +++++ nbproject/Makefile-genesis.properties | 14 + nbproject/Makefile-impl.mk | 69 ++ nbproject/Makefile-local-default.mk | 38 + nbproject/Makefile-variables.mk | 10 + nbproject/configurations.xml | 261 +++++++ nbproject/private/configurations.xml | 25 + nbproject/private/private.xml | 9 + nbproject/project.xml | 27 + usart.c | 35 + usart.h | 15 + 32 files changed, 1884 insertions(+) create mode 100644 .generated_files/flags/default/244ff3d6ca5f6fe1ad3255fce837d326ef857c0e create mode 100644 .generated_files/flags/default/316ffe5fc1b0327ad1888acca4fe8f061c349913 create mode 100644 .generated_files/flags/default/454d3881b9ef453d62371ca6ae5d493a9db2f763 create mode 100644 .generated_files/flags/default/67130230c37141f762328d3477127279e5794533 create mode 100644 .generated_files/flags/default/9b2f2a27767e8fb25a5e864c373fffef3c042982 create mode 100644 .generated_files/flags/default/adc60f139592a80ffba15ee218ef4587961729e8 create mode 100644 .generated_files/flags/default/baf556898677ce2f71fcf7d1ed7762047b1b08b2 create mode 100644 Makefile create mode 100644 build/default/production/command.o create mode 100644 build/default/production/command.o.d create mode 100644 build/default/production/main.o create mode 100644 build/default/production/main.o.d create mode 100644 build/default/production/usart.o create mode 100644 build/default/production/usart.o.d create mode 100644 command.c create mode 100644 command.h create mode 100644 dist/default/production/avr128da48_web-serial-example.X.production.elf create mode 100644 dist/default/production/avr128da48_web-serial-example.X.production.hex create mode 100644 dist/default/production/avr128da48_web-serial-example.X.production.map create mode 100644 dist/default/production/memoryfile.xml create mode 100644 main.c create mode 100644 nbproject/Makefile-default.mk create mode 100644 nbproject/Makefile-genesis.properties create mode 100644 nbproject/Makefile-impl.mk create mode 100644 nbproject/Makefile-local-default.mk create mode 100644 nbproject/Makefile-variables.mk create mode 100644 nbproject/configurations.xml create mode 100644 nbproject/private/configurations.xml create mode 100644 nbproject/private/private.xml create mode 100644 nbproject/project.xml create mode 100644 usart.c create mode 100644 usart.h diff --git a/.generated_files/flags/default/244ff3d6ca5f6fe1ad3255fce837d326ef857c0e b/.generated_files/flags/default/244ff3d6ca5f6fe1ad3255fce837d326ef857c0e new file mode 100644 index 0000000..d3728f8 --- /dev/null +++ b/.generated_files/flags/default/244ff3d6ca5f6fe1ad3255fce837d326ef857c0e @@ -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 \ No newline at end of file diff --git a/.generated_files/flags/default/316ffe5fc1b0327ad1888acca4fe8f061c349913 b/.generated_files/flags/default/316ffe5fc1b0327ad1888acca4fe8f061c349913 new file mode 100644 index 0000000..7ecd679 --- /dev/null +++ b/.generated_files/flags/default/316ffe5fc1b0327ad1888acca4fe8f061c349913 @@ -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 \ No newline at end of file diff --git a/.generated_files/flags/default/454d3881b9ef453d62371ca6ae5d493a9db2f763 b/.generated_files/flags/default/454d3881b9ef453d62371ca6ae5d493a9db2f763 new file mode 100644 index 0000000..d5e2180 --- /dev/null +++ b/.generated_files/flags/default/454d3881b9ef453d62371ca6ae5d493a9db2f763 @@ -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 \ No newline at end of file diff --git a/.generated_files/flags/default/67130230c37141f762328d3477127279e5794533 b/.generated_files/flags/default/67130230c37141f762328d3477127279e5794533 new file mode 100644 index 0000000..d8202b3 --- /dev/null +++ b/.generated_files/flags/default/67130230c37141f762328d3477127279e5794533 @@ -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 \ No newline at end of file diff --git a/.generated_files/flags/default/9b2f2a27767e8fb25a5e864c373fffef3c042982 b/.generated_files/flags/default/9b2f2a27767e8fb25a5e864c373fffef3c042982 new file mode 100644 index 0000000..d60bd97 --- /dev/null +++ b/.generated_files/flags/default/9b2f2a27767e8fb25a5e864c373fffef3c042982 @@ -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 \ No newline at end of file diff --git a/.generated_files/flags/default/adc60f139592a80ffba15ee218ef4587961729e8 b/.generated_files/flags/default/adc60f139592a80ffba15ee218ef4587961729e8 new file mode 100644 index 0000000..26a823a --- /dev/null +++ b/.generated_files/flags/default/adc60f139592a80ffba15ee218ef4587961729e8 @@ -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 diff --git a/.generated_files/flags/default/baf556898677ce2f71fcf7d1ed7762047b1b08b2 b/.generated_files/flags/default/baf556898677ce2f71fcf7d1ed7762047b1b08b2 new file mode 100644 index 0000000..8539d7a --- /dev/null +++ b/.generated_files/flags/default/baf556898677ce2f71fcf7d1ed7762047b1b08b2 @@ -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 \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..fca8e2c --- /dev/null +++ b/Makefile @@ -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 diff --git a/build/default/production/command.o b/build/default/production/command.o new file mode 100644 index 0000000000000000000000000000000000000000..c4a1fd7522c5bfac083dd7c4d76e0b4bd9e25072 GIT binary patch literal 6456 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 gqTN~a8-{@AGw%ob literal 0 HcmV?d00001 diff --git a/build/default/production/command.o.d b/build/default/production/command.o.d new file mode 100644 index 0000000..ee724fc --- /dev/null +++ b/build/default/production/command.o.d @@ -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: diff --git a/build/default/production/main.o b/build/default/production/main.o new file mode 100644 index 0000000000000000000000000000000000000000..e775f5438315dea1c55d2b98842a77a8f6f8fc24 GIT binary patch literal 7872 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 QT4R2Hd}ba6Z;J8vKf$U)`~Uy| literal 0 HcmV?d00001 diff --git a/build/default/production/usart.o.d b/build/default/production/usart.o.d new file mode 100644 index 0000000..05e794f --- /dev/null +++ b/build/default/production/usart.o.d @@ -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: diff --git a/command.c b/command.c new file mode 100644 index 0000000..80373e1 --- /dev/null +++ b/command.c @@ -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; +} \ No newline at end of file diff --git a/command.h b/command.h new file mode 100644 index 0000000..e674fa4 --- /dev/null +++ b/command.h @@ -0,0 +1,19 @@ +#ifndef COMMAND_H +#define COMMAND_H + +#include +#include + +#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 */ + diff --git a/dist/default/production/avr128da48_web-serial-example.X.production.elf b/dist/default/production/avr128da48_web-serial-example.X.production.elf new file mode 100644 index 0000000000000000000000000000000000000000..e264d400ae83e17b04392c5c5bd24768cbfd8651 GIT binary patch literal 44900 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 ML)5sP!JXg#0+5_u3IG5A literal 0 HcmV?d00001 diff --git a/dist/default/production/avr128da48_web-serial-example.X.production.hex b/dist/default/production/avr128da48_web-serial-example.X.production.hex new file mode 100644 index 0000000..d56315b --- /dev/null +++ b/dist/default/production/avr128da48_web-serial-example.X.production.hex @@ -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 diff --git a/dist/default/production/avr128da48_web-serial-example.X.production.map b/dist/default/production/avr128da48_web-serial-example.X.production.map new file mode 100644 index 0000000..19f76d5 --- /dev/null +++ b/dist/default/production/avr128da48_web-serial-example.X.production.map @@ -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 diff --git a/dist/default/production/memoryfile.xml b/dist/default/production/memoryfile.xml new file mode 100644 index 0000000..26bb6ae --- /dev/null +++ b/dist/default/production/memoryfile.xml @@ -0,0 +1,17 @@ + + + + + bytes + 131072 + 1119 + 129953 + + + bytes + 16384 + 132 + 16252 + + + diff --git a/main.c b/main.c new file mode 100644 index 0000000..ba15420 --- /dev/null +++ b/main.c @@ -0,0 +1,55 @@ +#define F_CPU (4000000UL) +#include +#include +#include +#include +#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"); +} \ No newline at end of file diff --git a/nbproject/Makefile-default.mk b/nbproject/Makefile-default.mk new file mode 100644 index 0000000..954fb26 --- /dev/null +++ b/nbproject/Makefile-default.mk @@ -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 diff --git a/nbproject/Makefile-genesis.properties b/nbproject/Makefile-genesis.properties new file mode 100644 index 0000000..66aa6af --- /dev/null +++ b/nbproject/Makefile-genesis.properties @@ -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 diff --git a/nbproject/Makefile-impl.mk b/nbproject/Makefile-impl.mk new file mode 100644 index 0000000..0622cd3 --- /dev/null +++ b/nbproject/Makefile-impl.mk @@ -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 diff --git a/nbproject/Makefile-local-default.mk b/nbproject/Makefile-local-default.mk new file mode 100644 index 0000000..26a823a --- /dev/null +++ b/nbproject/Makefile-local-default.mk @@ -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 diff --git a/nbproject/Makefile-variables.mk b/nbproject/Makefile-variables.mk new file mode 100644 index 0000000..885c9ec --- /dev/null +++ b/nbproject/Makefile-variables.mk @@ -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 diff --git a/nbproject/configurations.xml b/nbproject/configurations.xml new file mode 100644 index 0000000..4aa1da4 --- /dev/null +++ b/nbproject/configurations.xml @@ -0,0 +1,261 @@ + + + + + usart.h + command.h + + + + + main.c + usart.c + command.c + + + Makefile + + + Makefile + + + + localhost + AVR128DA48 + + + nEdbgTool + XC8 + 2.36 + 3 + + + + + + + + + + + + + + + false + false + + + + + + + false + false + + false + + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nbproject/private/configurations.xml b/nbproject/private/configurations.xml new file mode 100644 index 0000000..bc16218 --- /dev/null +++ b/nbproject/private/configurations.xml @@ -0,0 +1,25 @@ + + + Makefile + 0 + + + :=MPLABComm-USB-Microchip:=<vid>03EB:=<pid>2175:=<rev>0100:=<man>Microchip Technology Incorporated:=<prod>nEDBG CMSIS-DAP:=<sn>MCHP3280031800000837:=<drv>x:=<xpt>h:=end + C:\Program Files\Microchip\xc8\v2.36\bin + + place holder 1 + place holder 2 + + + + + true + 0 + 0 + 0 + + + + + + diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml new file mode 100644 index 0000000..630003a --- /dev/null +++ b/nbproject/private/private.xml @@ -0,0 +1,9 @@ + + + + + + file:/D:/Apps/avr128da48_web-serial-example.X/main.c + + + diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..fbaac60 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,27 @@ + + + com.microchip.mplab.nbide.embedded.makeproject + + + avr128da48_web-serial-example + 69755243-2fe5-4cd4-8aa3-cd1c6ee51a0e + 0 + c + + h + + ISO-8859-1 + + + + + default + 2 + + + + false + + + + diff --git a/usart.c b/usart.c new file mode 100644 index 0000000..9eb88e1 --- /dev/null +++ b/usart.c @@ -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]); + } +} + diff --git a/usart.h b/usart.h new file mode 100644 index 0000000..4d5103d --- /dev/null +++ b/usart.h @@ -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 +#include +#include + +void USART1_Initialize(void); +void USART1_SendChar(char c); +void USART1_SendString(char *str); + +#endif /* USART_H */ +