commit.. need final work on uart msg system.. but seems to decode msg startcode fine..

This commit is contained in:
Christian Lind Madsen
2024-11-10 07:24:49 +01:00
parent 19cda0b3cc
commit 821e429919
20 changed files with 2029 additions and 2402 deletions

3
.gitmodules vendored
View File

@@ -13,3 +13,6 @@
[submodule "storno_cqp6xx_digital_xtal/cm_msg"] [submodule "storno_cqp6xx_digital_xtal/cm_msg"]
path = storno_cqp6xx_digital_xtal/cm_msg path = storno_cqp6xx_digital_xtal/cm_msg
url = https://OZ1CM@bitbucket.org/oz1cm/cm_msg.git url = https://OZ1CM@bitbucket.org/oz1cm/cm_msg.git
[submodule "storno_cqp6xx_digital_xtal/avr_eeprom_driver"]
path = storno_cqp6xx_digital_xtal/avr_eeprom_driver
url = https://OZ1CM@bitbucket.org/oz1cm/avr_eeprom_driver.git

View File

@@ -33,20 +33,22 @@ LINKER_SCRIPT_DEP:=
# Every subdirectory with source files must be described here # Every subdirectory with source files must be described here
SUBDIRS := \ SUBDIRS := \
../avr_eeprom_driver/ \
../avr_gpio_driver/ \ ../avr_gpio_driver/ \
../avr_i2c_driver/ \ ../avr_i2c_driver/ \
../avr_uart_driver/ \ ../avr_uart_driver/ \
../cm_msg_sync/ \ ../cm_msg/ \
../si5351_driver/ \ ../si5351_driver/ \
../si5351_driver/include/ ../si5351_driver/include/
# Add inputs and outputs from these tool invocations to the build variables # Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \ C_SRCS += \
../avr_eeprom_driver/avr_eeprom_driver.c \
../avr_gpio_driver/avr_gpio.c \ ../avr_gpio_driver/avr_gpio.c \
../avr_i2c_driver/avr_i2c.c \ ../avr_i2c_driver/avr_i2c.c \
../avr_uart_driver/avr_uart.c \ ../avr_uart_driver/avr_uart.c \
../cm_msg_sync/cm_msg_sync.c \ ../cm_msg/cm_msg.c \
../cqm6xx_app.c \ ../cqm6xx_app.c \
../main.c \ ../main.c \
../si5351_driver/si5351_driver.c ../si5351_driver/si5351_driver.c
@@ -59,37 +61,41 @@ ASM_SRCS +=
OBJS += \ OBJS += \
avr_eeprom_driver/avr_eeprom_driver.o \
avr_gpio_driver/avr_gpio.o \ avr_gpio_driver/avr_gpio.o \
avr_i2c_driver/avr_i2c.o \ avr_i2c_driver/avr_i2c.o \
avr_uart_driver/avr_uart.o \ avr_uart_driver/avr_uart.o \
cm_msg_sync/cm_msg_sync.o \ cm_msg/cm_msg.o \
cqm6xx_app.o \ cqm6xx_app.o \
main.o \ main.o \
si5351_driver/si5351_driver.o si5351_driver/si5351_driver.o
OBJS_AS_ARGS += \ OBJS_AS_ARGS += \
avr_eeprom_driver/avr_eeprom_driver.o \
avr_gpio_driver/avr_gpio.o \ avr_gpio_driver/avr_gpio.o \
avr_i2c_driver/avr_i2c.o \ avr_i2c_driver/avr_i2c.o \
avr_uart_driver/avr_uart.o \ avr_uart_driver/avr_uart.o \
cm_msg_sync/cm_msg_sync.o \ cm_msg/cm_msg.o \
cqm6xx_app.o \ cqm6xx_app.o \
main.o \ main.o \
si5351_driver/si5351_driver.o si5351_driver/si5351_driver.o
C_DEPS += \ C_DEPS += \
avr_eeprom_driver/avr_eeprom_driver.d \
avr_gpio_driver/avr_gpio.d \ avr_gpio_driver/avr_gpio.d \
avr_i2c_driver/avr_i2c.d \ avr_i2c_driver/avr_i2c.d \
avr_uart_driver/avr_uart.d \ avr_uart_driver/avr_uart.d \
cm_msg_sync/cm_msg_sync.d \ cm_msg/cm_msg.d \
cqm6xx_app.d \ cqm6xx_app.d \
main.d \ main.d \
si5351_driver/si5351_driver.d si5351_driver/si5351_driver.d
C_DEPS_AS_ARGS += \ C_DEPS_AS_ARGS += \
avr_eeprom_driver/avr_eeprom_driver.d \
avr_gpio_driver/avr_gpio.d \ avr_gpio_driver/avr_gpio.d \
avr_i2c_driver/avr_i2c.d \ avr_i2c_driver/avr_i2c.d \
avr_uart_driver/avr_uart.d \ avr_uart_driver/avr_uart.d \
cm_msg_sync/cm_msg_sync.d \ cm_msg/cm_msg.d \
cqm6xx_app.d \ cqm6xx_app.d \
main.d \ main.d \
si5351_driver/si5351_driver.d si5351_driver/si5351_driver.d
@@ -108,6 +114,13 @@ LINKER_SCRIPT_DEP+=
# AVR32/GNU C Compiler # AVR32/GNU C Compiler
avr_eeprom_driver/avr_eeprom_driver.o: ../avr_eeprom_driver/avr_eeprom_driver.c
@echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : 5.4.0
$(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
@echo Finished building: $<
avr_gpio_driver/avr_gpio.o: ../avr_gpio_driver/avr_gpio.c avr_gpio_driver/avr_gpio.o: ../avr_gpio_driver/avr_gpio.c
@echo Building file: $< @echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : 5.4.0 @echo Invoking: AVR/GNU C Compiler : 5.4.0
@@ -129,7 +142,7 @@ avr_uart_driver/avr_uart.o: ../avr_uart_driver/avr_uart.c
@echo Finished building: $< @echo Finished building: $<
cm_msg_sync/cm_msg_sync.o: ../cm_msg_sync/cm_msg_sync.c cm_msg/cm_msg.o: ../cm_msg/cm_msg.c
@echo Building file: $< @echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : 5.4.0 @echo Invoking: AVR/GNU C Compiler : 5.4.0
$(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"

View File

@@ -18,7 +18,9 @@ cqm6xx_app.d cqm6xx_app.o: .././cqm6xx_app.c .././cqm6xx_app.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h \ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h \
.././avr_global_config.h \ .././avr_uart_driver/avr_uart.h \
.././avr_uart_driver/../avr_global_config.h .././avr_global_config.h \
.././avr_eeprom_driver/avr_eeprom_driver.h .././cm_msg/cm_msg.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h
@@ -63,8 +65,16 @@ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h: c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdbool.h:
.././avr_uart_driver/avr_uart.h:
.././avr_uart_driver/../avr_global_config.h:
.././avr_global_config.h: .././avr_global_config.h:
.././avr_eeprom_driver/avr_eeprom_driver.h:
.././cm_msg/cm_msg.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h:

View File

@@ -2,13 +2,15 @@
# Automatically-generated file. Do not edit or delete the file # Automatically-generated file. Do not edit or delete the file
################################################################################ ################################################################################
avr_eeprom_driver\avr_eeprom_driver.c
avr_gpio_driver\avr_gpio.c avr_gpio_driver\avr_gpio.c
avr_i2c_driver\avr_i2c.c avr_i2c_driver\avr_i2c.c
avr_uart_driver\avr_uart.c avr_uart_driver\avr_uart.c
cm_msg_sync\cm_msg_sync.c cm_msg\cm_msg.c
cqm6xx_app.c cqm6xx_app.c

View File

@@ -1,207 +1,154 @@
:1000000019C033C032C031C030C02FC02EC02DC087 :1000000019C033C032C031C030C02FC02EC02DC087
:100010002CC02BC02AC029C028C027C026C025C09C :100010002CC02BC02AC029C028C027C026C025C09C
:1000200024C023C022C021C020C01FC06CC11DC07D :1000200024C023C022C021C020C01FC066C11DC083
:100030001CC01BC011241FBECFEFCDBFDFE3DEBF4E :100030001CC01BC011241FBECFEFCDBFDFE3DEBF4E
:100040002FE3A6E0BFE301C01D92AF30B207E1F796 :100040002FE3A6E0BFE301C01D92A035B207E1F7A0
:100050001FE3A0E0BFE3EEECFCE002C005900D92D0 :100050001FE3A0E0BFE3E9E6F9E002C005900D92DE
:10006000A630B107D9F77CD230C6CACF81110DC0F6 :10006000A630B107D9F74DD27BC4CACFE0E1F8E0A2
:100070002091080430E002C0359527956A95E2F793 :1000700084818860848381E0858308958093170854
:1000800081E020FF80E090E0089580E090E0089516 :1000800080911508807CE1F390911508892F80718B
:10009000E0E1F8E084818860848381E085830895CD :1000900094FF04C083E08093140881E00895CF9218
:1000A0008093170880911508807CE1F390911508E2 :1000A000DF92EF92FF92CF93DF93EB0169017A0128
:1000B000892F807194FF04C083E08093140881E04D :1000B000232B242B252B81F1E1DF811130C09E0100
:1000C0000895CF92DF92EF92FF92CF93DF93EB01EF :1000C0002F5F3F4F8881809318088091150886FF25
:1000D00069017A01232B242B252B81F1E1DF81118A :1000D000FCCF8091150884FF06C083E0809314084C
:1000E00030C09E012F5F3F4F888180931808809118 :1000E00081E090E01EC0809115088C7021F0BEDF89
:1000F000150886FFFCCF8091150884FF06C083E0B9 :1000F00081E090E016C08091150884FD07C081E082
:100100008093140881E090E01EC0809115088C70E7 :10010000C81AD108E108F108E901C9F683E0809333
:1001100021F0BEDF81E090E016C08091150884FDDB :10011000140880E090E005C08FEF9FEF02C08FEFE2
:1001200007C081E0C81AD108E108F108E901C9F661 :100120009FEFDF91CF91FF90EF90DF90CF900895F8
:1001300083E08093140880E090E005C08FEF9FEF8C :10013000CF92DF92EF92FF92CF93DF93EB016901B1
:1001400002C08FEF9FEFDF91CF91FF90EF90DF9094 :100140007A01232B242B252B69F1816097DF8823EB
:10015000CF900895CF92DF92EF92FF92CF93DF93EB :10015000C9F02BC080911508807CE1F3CE01019697
:10016000EB0169017A01232B242B252B69F1816096 :10016000209118082883411551056105710521F476
:1001700097DF8823C9F02BC080911508807CE1F3BC :1001700024E02093140803C022E0209314086A01AD
:10018000CE0101962091180828834115510561057B :100180007B01EC01B701A6014150510961097109D8
:10019000710521F424E02093140803C022E0209389 :10019000CD28CE28CF28F1F683E08093140880E0A4
:1001A00014086A017B01EC01B701A6014150510915 :1001A00090E005C081E090E002C08FEF9FEFDF910B
:1001B00061097109CD28CE28CF28F1F683E080931C :1001B000CF91FF90EF90DF90CF9008958093170834
:1001C000140880E090E005C081E090E002C08FEF6D :1001C0008091150886FFFCCF8091150884FF06C03A
:1001D0009FEFDF91CF91FF90EF90DF90CF90089548 :1001D00083E08093140881E090E0089583E08093A9
:1001E000809317088091150886FFFCCF8091150831 :1001E000140880E090E00895E0E0F4E080818B7FE7
:1001F00084FF06C083E08093140881E090E00895B6 :1001F00080838081877F8083A0E1B8E08BE01696C2
:1002000083E08093140880E090E00895E0E0F4E05B :100200008C93169781E013968C93139715968C9385
:1002100080818B7F80838081877F8083A0E1B8E0AD :1002100088E0828B838B80E090E00895EF92FF92DC
:100220008BE016968C93169781E013968C93139718 :100220000F931F93CF938C017B01C42F842F880FD2
:1002300015968C9388E0828B838B80E090E0089504 :10023000C5DF009749F4F801E082F1824C2F50E0CD
:10024000EF92FF920F931F93CF938C017B01C42FEA :10024000440F551F428302C08EEF9FEFCF911F9145
:10025000842F880FC5DF009749F4F801E082F1820E :100250000F91FF90EF9008950F93009781F0FC01AC
:100260004C2F50E0440F551F428302C08EEF9FEF8A :10026000002319F0013031F00DC0828161DF80E0A0
:10027000CF911F910F91FF90EF9008950F930097EA :1002700090E00AC0828113DF80E090E005C08FEF3C
:1002800081F0FC01002319F0013031F00DC08281B2 :100280009FEF02C080E090E00F910895CF93DF933D
:1002900061DF80E090E00AC0828113DF80E090E0BF :100290001F92CDB7DEB7AC01F894E0E0F8E02CE6B1
:1002A00005C08FEF9FEF02C080E090E00F910895AE :1002A00035E02087318793E0978390EC9683611542
:1002B000CF93DF931F92CDB7DEB7F894E0E0F8E07C :1002B000710511F4452B39F080E8809305086093AF
:1002C0008CE695E08087918783E0878380EC868346 :1002C000063F7093073F80910408882324F48091AF
:1002D00080E885838481882324F4809100088983C1 :1002D000000889838981E0E0F4E080E4818380E89C
:1002E0008981E0E0F4E080E4818380E8828378948F :1002E000828378940F90DF91CF91089590910408C4
:1002F0000F90DF91CF9108959091040895FFFCCF66 :1002F00095FFFCCF8093020808951F920F920FB6CE
:100300008093020808951F920F920FB60F92112446 :100300000F9211242F933F934F935F936F937F939B
:100310002F933F934F935F936F937F938F939F930D :100310008F939F93AF93BF93EF93FF93CF93DF930D
:10032000AF93BF93EF93FF93809100088093063FB4 :100320001F92CDB7DEB7E091063FF091073F3097BF
:10033000E3DFFF91EF91BF91AF919F918F917F91FB :1003300019F08091000809958091000889838981CE
:100340006F915F914F913F912F910F900FBE0F9042 :10034000D5DF0F90DF91CF91FF91EF91BF91AF91EA
:100350001F901895FC0122813381232B21F0892BDA :100350009F918F917F916F915F914F913F912F91DD
:1003600021F481E0089581E0089580E00895CF931D :100360000F900FBE0F901F901895E091413FE23023
:10037000DF93EC01EFDF811132C089819881891709 :1003700029F128F4EE2341F0E13091F040C0E33060
:1003800071F1813019F08230B1F029C081E493E03D :1003800059F1E430B9F13BC0F0E0EC59F647208177
:100390000197F1F7000040E060E08A819B81DBD1AA :1003900091E0281390E09093413F81E090E0089530
:1003A00081E493E00197F1F7000041E061E08A8188 :1003A000F0E0EC59F6479081891302C082E001C069
:1003B0009B81D1D114C081E493E00197F1F7000053 :1003B00080E08093413F81E090E00895F0E0EC59C7
:1003C00041E060E08A819B81C6D181E493E001979E :1003C000F6479081891302C083E001C080E08093EA
:1003D000F1F7000040E061E08A819B81BCD1DF91B0 :1003D000413F81E090E00895F0E0EC59F6479081CC
:1003E000CF910895AF92BF92CF92DF92EF92FF929A :1003E000891302C084E001C080E08093413F81E036
:1003F0000F931F93CF93DF93EC01ACDF81119AC071 :1003F00090E008951092413F80E090E008951092BF
:100400008981813009F47FC020F0823009F487C0EF :10040000413F81E090E008959091403F9330C1F0EA
:1004100091C0888381E493E00197F1F7000060E0E8 :1004100028F4992341F0913069F042C09430C1F042
:100420008A819B81E6D181E493E00197F1F7000096 :10042000953001F13DC0A1DF892BD1F581E08093AA
:100430000F2EFBE5AF2EF8E4BF2EF0E1CF2ED12C2E :10043000403F36C08093093F83E08093403F30C007
:10044000F02D16EFE12E1CE2F12E00E010E023E487 :10044000E9E0FFE31182828384E08093403F28C08B
:100450003DE040E050E060E08A819B810DD281E484 :10045000E9E0FFE321813281282B2183328395E07B
:1004600093E00197F1F700000F2EF0ECAF2EF8E4C7 :100460009093403F9091083FE92FF0E0E75FF04C18
:10047000BF2EF0E1CF2ED12CF02D12E0E12E1FE3A4 :10047000838381E0890F8093083F9091093F98170B
:10048000F12E00E010E028EC3CE040E050E061E0BC :1004800078F4E091443FF091453F6CE07FE3809148
:100490008A819B81F1D181E493E00197F1F700001B :10049000423F9091433F09951092403F1092083F90
:1004A000A12CB12C6501A394E12CF12C870122E150 :1004A00080E090E00895009759F06115710541F0E2
:1004B00030E040E050E060E08A819B81C1D081E47F :1004B0008093423F9093433F6093443F7093453F06
:1004C00093E00197F1F7000020E430E040E050E0D5 :1004C0000895FC0111820895FC0164837583F9DFAE
:1004D00061E08A819B81B4D081E493E00197F1F7D8 :1004D00080E090E00895CF93DF936115710571F08E
:1004E000000040E060E08A819B8155D181E493E087 :1004E000009761F0EC01198218826A837B8364E6CD
:1004F0000197F1F7000040E061E08A819B814BD1D8 :1004F00072E0D9DF64E072E0CE01C8DEDF91CF9117
:1005000081E0898317C0CE0132DF8981888363E06F :100500000895CF93DF93CDB7DEB7CB55D109CDBFDB
:1005100080E0ACDD019771F482E089830BC0CE01ED :10051000DEBF80E090E068DE40E660E070E0CE01A3
:1005200026DF8981888363E080E0A0DD892B11F4D8 :1005200001967CDE4CE251E0BE016F5F7F4FCE0151
:1005300081E08983DF91CF911F910F91FF90EF9020 :1005300004964BD0BE016C5F7F4F86E49FE3CBDF18
:10054000DF90CF90BF90AF900895FC0161157105C9 :100540002AE684E091E0215080409040E1F700C02D
:1005500031F0892B21F01182108262837383089518 :10055000F7CF8F929F92AF92BF92CF92DF92EF929E
:10056000CF93DF93CDB7DEB7CB55D109CDBFDEBF7B :10056000FF920F931F93CF93DF93EC01862E5A01D6
:1005700080E090E04BDE40E660E070E0CE01019666 :1005700068017901C8010196C9D0982E192FFC0194
:100580005FDE4EE351E0BE016F5F7F4FCE01049608 :100580008192CF01A601B501E2D1EA81FB81A701E9
:10059000D1D1BE016C5F7F4F87E09FE3D6DF88DE5D :1005900096012F5F3F4F4F4F5F4F01E0692D712F45
:1005A00082E7AADE82E7A8DE8AE0A6DE8DE0A4DE8E :1005A000888199810995892D912F48D180E090E02B
:1005B00087E09FE317DF2AE684E091E02150804046 :1005B000DF91CF911F910F91FF90EF90DF90CF903F
:1005C0009040E1F700C0F4CF8F929F92AF92BF921C :1005C000BF90AF909F908F900895EF92FF920F93FE
:1005D000CF92DF92EF92FF920F931F93CF93DF930F :1005D0001F93CF93DF931F92CDB7DEB7009709F437
:1005E000EC01862E5A0168017901C801019643D2B7 :1005E00085C06115710509F484C04115510509F4F0
:1005F000982E192FFC018192CF01A601B5015CD381 :1005F00083C07C01DC016D937C93119712964D931F
:10060000EA81FB81A70196012F5F3F4F4F4F5F4F5C :100600005C931397FC01349684E5DF011D928A9573
:1006100001E0692D712F888199810995892D912F8C :10061000E9F78FEF898301E010E020E030E0AE01E0
:10062000C2D280E090E0DF91CF911F910F91FF90B7 :100620004F5F5F4F63E0C70194DF80E8898301E09B
:10063000EF90DF90CF90BF90AF909F908F900895F4 :1006300010E020E030E0AE014F5F5F4F60E1C701A6
:10064000AF92BF92CF92DF92EF92FF920F931F93E0 :1006400088DF01E010E020E030E0AE014F5F5F4F57
:10065000FC01862FBA01A9014450510961097E4F5E :1006500061E1C7017EDF01E010E020E030E0AE01A3
:10066000440F551F661F771F440F551F661F771FC6 :100660004F5F5F4F62E1C70174DF01E010E020E0FF
:10067000440F551F661F771F440F551F661F771FB6 :1006700030E0AE014F5F5F4F63E1C7016ADF01E029
:10068000440F551F661F771F440F551F661F771FA6 :1006800010E020E030E0AE014F5F5F4F64E1C70152
:10069000440F551F661F771F882319F0813049F1D9 :1006900060DF01E010E020E030E0AE014F5F5F4F2F
:1006A0004FC0962F937086A18C7F892B86A357A36A :1006A00065E1C70156DF01E010E020E030E0AE0177
:1006B00040A7F2A6E3A6D601C501072E7CE0B695B9 :1006B0004F5F5F4F66E1C7014CDF01E010E020E0D3
:1006C000A795979587957A95D1F7702D8370829528 :1006C00030E0AE014F5F5F4F67E1C70142DF80EC72
:1006D000807F0370802B81A7B4A2A5A2AF014C5DDF :1006D000898301E010E020E030E0AE014F5F5F4F22
:1006E0005F4F08E010E020E030E06AE2CF016CDF0D :1006E00067EBC70136DF80E090E008C08FEF9FEF37
:1006F00027C0962F937086A58C7F892B86A757A736 :1006F00005C08FEF9FEF02C08FEF9FEF0F90DF914C
:1007000040ABF2AAE3AAD601C501072E7CE0B6955C :10070000CF911F910F91FF90EF9008950F931F933A
:10071000A795979587957A95D1F7702D83708295D7 :10071000CF93DF938230910510F482E090E0E09176
:10072000807F0370802B81ABB4A6A5A6AF01445D8A :100720004E3FF0914F3F20E030E0A0E0B0E0309746
:100730005F4F08E010E020E030E062E3CF0144DFEB :1007300019F1408151810281138148175907C8F08E
:1007400080E090E01F910F91FF90EF90DF90CF90AD :100740008417950769F4109731F012960C9312975D
:10075000BF90AF9008950F931F93662319F06130F7 :1007500013961C9327C000934E3F10934F3F22C027
:1007600039F00BC0FC01278140FB20F9278305C02D :100760002115310519F04217530718F49A01BD01FC
:10077000FC01278140FB21F92783AC01495F5F4FD2 :10077000EF01DF01F801DBCF21153105F9F0281B6E
:1007800001E010E020E030E063E01EDF80E090E078 :10078000390B2430310580F48A819B816115710514
:100790001F910F9108950F931F93662319F06130F5 :1007900021F0FB018283938304C080934E3F9093AA
:1007A000A1F022C0FC01228540FB27F933853F7D63 :1007A0004F3FFE01329644C0FE01E20FF31F8193DA
:1007B00033872F642287AC01465F5F4F01E010E072 :1007B000919322503109288339833AC020914C3FCC
:1007C00020E030E060E100DF0FC0FC01238540FB4A :1007C00030914D3F232B41F42091023F3091033F64
:1007D00027F92F662387AC01455F5F4F01E010E0EA :1007D00020934C3F30934D3F2091003F3091013F9B
:1007E00020E030E061E1F0DE80E090E01F910F91C9 :1007E0002115310541F42DB73EB74091043F50919A
:1007F00008950F931F93662319F0613039F00AC0F2 :1007F000053F241B350BE0914C3FF0914D3FE21734
:10080000FC0121852B7F277F218704C0FC012185E6 :10080000F307A0F42E1B3F0B2817390778F0AC0133
:1008100024602187AC01475F5F4F01E010E020E0DA :100810004E5F5F4F2417350748F04E0F5F1F409320
:1008200030E060EFD1DE80E090E01F910F910895FD :100820004C3F50934D3F8193919302C0E0E0F0E044
:100830000F931F9331E0611101C030E0FC01E95AD0 :10083000CF01DF91CF911F910F910895CF93DF9357
:10084000FF4F208130FB25F9208331E0411101C0A9 :10084000009709F481C0FC01329712821382A091B3
:1008500030E0AC01495A5F4FFA01208130FB27F9A3 :100850004E3FB0914F3F109781F420813181820F3C
:10086000208301E010E020E030E061EBADDE80E0CD :10086000931F20914C3F30914D3F2817390751F588
:1008700090E01F910F910895AF92BF92CF92DF92B7 :10087000E0934C3FF0934D3F67C0ED0120E030E046
:10088000EF92FF920F931F93CF93DF93EC016623B8 :10088000CE17DF0740F44A815B819E014115510577
:1008900019F0613001F13DC042708E898C7F482B88 :10089000F1F0EA01F5CFC283D38340815181840F07
:1008A0004E8B3F8B288FD801C70188279927AF70BF :1008A000951FC817D90759F488819981840F951F1E
:1008B000BB27FA8EEB8E8A2F8F70898FBC8AAD8A08 :1008B0000296808391838A819B8182839383211511
:1008C00008E010E020E030E0AE014C5E5F4F6AE1EE :1008C000310529F4E0934E3FF0934F3F3DC0E901DD
:1008D000CE017ADE1EC042708E8D8C7F482B4E8FEB :1008D000EA83FB8349915991C40FD51FEC17FD079B
:1008E0003F8F28A3D801C70188279927AF70BB275E :1008E00061F480819181840F951F0296E9018883CC
:1008F000FAA2EBA28A2F8F7089A3BC8EAD8E08E07E :1008F0009983828193818A839B83E0E0F0E0129662
:1009000010E020E030E0AE01445E5F4F62E2CE01D5 :100900008D919C911397009719F0FD01DC01F7CFB1
:100910005BDE41E061E0CE018BDF80E090E0DF91C3 :100910008D919C9111979D012E5F3F4F820F931FE8
:10092000CF911F910F91FF90EF90DF90CF90BF90EC :1009200020914C3F30914D3F2817390769F430979B
:10093000AF900895EF92FF920F931F93CF93DF93A1 :1009300029F410924E3F10924F3F02C01282138250
:100940001F92CDB7DEB7009709F485C06115710518 :10094000A0934C3FB0934D3FDF91CF910895FB01B1
:1009500009F484C04115510509F483C07C01DC0110 :10095000DC0102C001900D9241505040D8F708953B
:100960006D937C93119712964D935C931397FC01B2 :04096000F894FFCF39
:10097000349684E5DF011D928A95E9F78FEF89832C :050964004F5A31434D24
:1009800001E010E020E030E0AE014F5F5F4F63E038 :060969000000503F2000D9
:10099000C7011ADE80E8898301E010E020E030E042
:1009A000AE014F5F5F4F60E1C7010EDE01E010E076
:1009B00020E030E0AE014F5F5F4F61E1C70104DE30
:1009C00001E010E020E030E0AE014F5F5F4F62E1F8
:1009D000C701FADD01E010E020E030E0AE014F5F3A
:1009E0005F4F63E1C701F0DD01E010E020E030E09F
:1009F000AE014F5F5F4F64E1C701E6DD01E010E04B
:100A000020E030E0AE014F5F5F4F65E1C701DCDD04
:100A100001E010E020E030E0AE014F5F5F4F66E1A3
:100A2000C701D2DD01E010E020E030E0AE014F5F11
:100A30005F4F67E1C701C8DD80EC898301E010E00A
:100A400020E030E0AE014F5F5F4F67EBC701BCDDD8
:100A500080E090E008C08FEF9FEF05C08FEF9FEF21
:100A600002C08FEF9FEF0F90DF91CF911F910F91F9
:100A7000FF90EF9008950F931F93CF93DF938230F1
:100A8000910510F482E090E0E0910D3FF0910E3F6F
:100A900020E030E0A0E0B0E0309719F140815181D2
:100AA0000281138148175907C8F08417950769F424
:100AB000109731F012960C93129713961C9327C03F
:100AC00000930D3F10930E3F22C02115310519F000
:100AD0004217530718F49A01BD01EF01DF01F80135
:100AE000DBCF21153105F9F0281B390B24303105F6
:100AF00080F48A819B816115710521F0FB0182835D
:100B0000938304C080930D3F90930E3FFE01329675
:100B100044C0FE01E20FF31F8193919322503109EB
:100B2000288339833AC020910B3F30910C3F232B0F
:100B300041F42091023F3091033F20930B3F3093CB
:100B40000C3F2091003F3091013F2115310541F4C8
:100B50002DB73EB74091043F5091053F241B350B04
:100B6000E0910B3FF0910C3FE217F307A0F42E1B2E
:100B70003F0B2817390778F0AC014E5F5F4F241701
:100B8000350748F04E0F5F1F40930B3F50930C3FCB
:100B90008193919302C0E0E0F0E0CF01DF91CF912B
:100BA0001F910F910895CF93DF93009709F481C0AF
:100BB000FC01329712821382A0910D3FB0910E3F3B
:100BC000109781F420813181820F931F20910B3F78
:100BD00030910C3F2817390751F5E0930B3FF09304
:100BE0000C3F67C0ED0120E030E0CE17DF0740F496
:100BF0004A815B819E0141155105F1F0EA01F5CF73
:100C0000C283D38340815181840F951FC817D907B0
:100C100059F488819981840F951F0296808391836E
:100C20008A819B81828393832115310529F4E09386
:100C30000D3FF0930E3F3DC0E901EA83FB834991EC
:100C40005991C40FD51FEC17FD0761F48081918184
:100C5000840F951F0296E90188839983828193818D
:100C60008A839B83E0E0F0E012968D919C9113972C
:100C7000009719F0FD01DC01F7CF8D919C91119740
:100C80009D012E5F3F4F820F931F20910B3F3091AC
:100C90000C3F2817390769F4309729F410920D3F5B
:100CA00010920E3F02C012821382A0930B3FB093AA
:100CB0000C3FDF91CF910895FB01DC0102C0019050
:0E0CC0000D9241505040D8F70895F894FFCFA0
:060CCE0000000F3F2000B2
:00000001FF :00000001FF

File diff suppressed because it is too large Load Diff

View File

@@ -43,7 +43,7 @@ c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/..
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o)
C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o (exit) C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o (exit)
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o) c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_clear_bss.o)
main.o (__do_clear_bss) avr_uart_driver/avr_uart.o (__do_clear_bss)
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o)
si5351_driver/si5351_driver.o (malloc) si5351_driver/si5351_driver.o (malloc)
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o) c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o)
@@ -54,7 +54,7 @@ c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/..
Allocating common symbols Allocating common symbols
Common symbol size file Common symbol size file
storno_xtal_app 0x4 main.o storno_xtal_app 0x6 main.o
__brkval 0x2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) __brkval 0x2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o)
__flp 0x2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) __flp 0x2 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o)
@@ -62,13 +62,42 @@ Discarded input sections
.data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o
.bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o
.text 0x00000000 0x0 avr_eeprom_driver/avr_eeprom_driver.o
.data 0x00000000 0x0 avr_eeprom_driver/avr_eeprom_driver.o
.bss 0x00000000 0x0 avr_eeprom_driver/avr_eeprom_driver.o
.text.cm_EEPROM_write
0x00000000 0x40 avr_eeprom_driver/avr_eeprom_driver.o
.text.cm_EEPROM_read
0x00000000 0x34 avr_eeprom_driver/avr_eeprom_driver.o
.debug_info 0x00000000 0x2e9 avr_eeprom_driver/avr_eeprom_driver.o
.debug_abbrev 0x00000000 0x130 avr_eeprom_driver/avr_eeprom_driver.o
.debug_loc 0x00000000 0x3e avr_eeprom_driver/avr_eeprom_driver.o
.debug_aranges
0x00000000 0x28 avr_eeprom_driver/avr_eeprom_driver.o
.debug_ranges 0x00000000 0x18 avr_eeprom_driver/avr_eeprom_driver.o
.debug_line 0x00000000 0x1b1 avr_eeprom_driver/avr_eeprom_driver.o
.debug_str 0x00000000 0x36b avr_eeprom_driver/avr_eeprom_driver.o
.comment 0x00000000 0x31 avr_eeprom_driver/avr_eeprom_driver.o
.debug_frame 0x00000000 0x34 avr_eeprom_driver/avr_eeprom_driver.o
.text 0x00000000 0x0 avr_gpio_driver/avr_gpio.o .text 0x00000000 0x0 avr_gpio_driver/avr_gpio.o
.data 0x00000000 0x0 avr_gpio_driver/avr_gpio.o .data 0x00000000 0x0 avr_gpio_driver/avr_gpio.o
.bss 0x00000000 0x0 avr_gpio_driver/avr_gpio.o .bss 0x00000000 0x0 avr_gpio_driver/avr_gpio.o
.text.gpio_set_level .text.gpio_set_level
0x00000000 0x34 avr_gpio_driver/avr_gpio.o 0x00000000 0x34 avr_gpio_driver/avr_gpio.o
.text.gpio_get_level
0x00000000 0x24 avr_gpio_driver/avr_gpio.o
.text.gpio_init .text.gpio_init
0x00000000 0x34 avr_gpio_driver/avr_gpio.o 0x00000000 0x34 avr_gpio_driver/avr_gpio.o
.debug_info 0x00000000 0x320 avr_gpio_driver/avr_gpio.o
.debug_abbrev 0x00000000 0x107 avr_gpio_driver/avr_gpio.o
.debug_loc 0x00000000 0xae avr_gpio_driver/avr_gpio.o
.debug_aranges
0x00000000 0x30 avr_gpio_driver/avr_gpio.o
.debug_ranges 0x00000000 0x20 avr_gpio_driver/avr_gpio.o
.debug_line 0x00000000 0x196 avr_gpio_driver/avr_gpio.o
.debug_str 0x00000000 0x319 avr_gpio_driver/avr_gpio.o
.comment 0x00000000 0x31 avr_gpio_driver/avr_gpio.o
.debug_frame 0x00000000 0x44 avr_gpio_driver/avr_gpio.o
.text 0x00000000 0x0 avr_i2c_driver/avr_i2c.o .text 0x00000000 0x0 avr_i2c_driver/avr_i2c.o
.data 0x00000000 0x0 avr_i2c_driver/avr_i2c.o .data 0x00000000 0x0 avr_i2c_driver/avr_i2c.o
.bss 0x00000000 0x0 avr_i2c_driver/avr_i2c.o .bss 0x00000000 0x0 avr_i2c_driver/avr_i2c.o
@@ -80,20 +109,43 @@ Discarded input sections
.data 0x00000000 0x0 avr_uart_driver/avr_uart.o .data 0x00000000 0x0 avr_uart_driver/avr_uart.o
.bss 0x00000000 0x0 avr_uart_driver/avr_uart.o .bss 0x00000000 0x0 avr_uart_driver/avr_uart.o
.text.cm_uart_receive .text.cm_uart_receive
0x00000000 0x10 avr_uart_driver/avr_uart.o 0x00000000 0x12 avr_uart_driver/avr_uart.o
.text.cm_uart_receive_busyWait .text.cm_uart_receive_busyWait
0x00000000 0xe avr_uart_driver/avr_uart.o 0x00000000 0xe avr_uart_driver/avr_uart.o
.text 0x00000000 0x0 cm_msg/cm_msg.o
.data 0x00000000 0x0 cm_msg/cm_msg.o
.bss 0x00000000 0x0 cm_msg/cm_msg.o
.text 0x00000000 0x0 cqm6xx_app.o .text 0x00000000 0x0 cqm6xx_app.o
.data 0x00000000 0x0 cqm6xx_app.o .data 0x00000000 0x0 cqm6xx_app.o
.bss 0x00000000 0x0 cqm6xx_app.o .bss 0x00000000 0x0 cqm6xx_app.o
.text.isStructValid
0x00000000 0x1a cqm6xx_app.o
.text.cqm6xx_app_updateOsc
0x00000000 0x76 cqm6xx_app.o
.text.cqm6xx_app_statemachine
0x00000000 0x56 cqm6xx_app.o
.text 0x00000000 0x0 main.o .text 0x00000000 0x0 main.o
.data 0x00000000 0x0 main.o .data 0x00000000 0x0 main.o
.bss 0x00000000 0x0 main.o .bss 0x00000000 0x0 main.o
.text.uart_test
0x00000000 0x2 main.o
.text 0x00000000 0x0 si5351_driver/si5351_driver.o .text 0x00000000 0x0 si5351_driver/si5351_driver.o
.data 0x00000000 0x0 si5351_driver/si5351_driver.o .data 0x00000000 0x0 si5351_driver/si5351_driver.o
.bss 0x00000000 0x0 si5351_driver/si5351_driver.o .bss 0x00000000 0x0 si5351_driver/si5351_driver.o
.text.readRegister .text.readRegister
0x00000000 0x80 si5351_driver/si5351_driver.o 0x00000000 0x80 si5351_driver/si5351_driver.o
.text.cm_setOutputMultiSynth
0x00000000 0x116 si5351_driver/si5351_driver.o
.text.cm_setOutputEnable
0x00000000 0x40 si5351_driver/si5351_driver.o
.text.cm_setCLKControl
0x00000000 0x5c si5351_driver/si5351_driver.o
.text.cm_setInputSource
0x00000000 0x3e si5351_driver/si5351_driver.o
.text.cm_resetPLLs
0x00000000 0x48 si5351_driver/si5351_driver.o
.text.cm_setPllParamRaw
0x00000000 0xbc si5351_driver/si5351_driver.o
.text.cm_setPLLParameters .text.cm_setPLLParameters
0x00000000 0x2ce si5351_driver/si5351_driver.o 0x00000000 0x2ce si5351_driver/si5351_driver.o
.text.cm_si5351_getRevisionNumber .text.cm_si5351_getRevisionNumber
@@ -280,9 +332,11 @@ Linker script and memory map
Address of section .data set to 0x803f00 Address of section .data set to 0x803f00
0x00008000 __RODATA_PM_OFFSET__ = 0x8000 0x00008000 __RODATA_PM_OFFSET__ = 0x8000
LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o
LOAD avr_eeprom_driver/avr_eeprom_driver.o
LOAD avr_gpio_driver/avr_gpio.o LOAD avr_gpio_driver/avr_gpio.o
LOAD avr_i2c_driver/avr_i2c.o LOAD avr_i2c_driver/avr_i2c.o
LOAD avr_uart_driver/avr_uart.o LOAD avr_uart_driver/avr_uart.o
LOAD cm_msg/cm_msg.o
LOAD cqm6xx_app.o LOAD cqm6xx_app.o
LOAD main.o LOAD main.o
LOAD si5351_driver/si5351_driver.o LOAD si5351_driver/si5351_driver.o
@@ -396,7 +450,7 @@ END GROUP
.rela.plt .rela.plt
*(.rela.plt) *(.rela.plt)
.text 0x00000000 0xcce .text 0x00000000 0x964
*(.vectors) *(.vectors)
.vectors 0x00000000 0x34 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .vectors 0x00000000 0x34 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o
0x00000000 __vector_default 0x00000000 __vector_default
@@ -482,88 +536,75 @@ END GROUP
0x0000006a __vector_20 0x0000006a __vector_20
0x0000006c . = ALIGN (0x2) 0x0000006c . = ALIGN (0x2)
*(.text.*) *(.text.*)
.text.gpio_get_level
0x0000006c 0x24 avr_gpio_driver/avr_gpio.o
0x0000006c gpio_get_level
.text.i2c_reset .text.i2c_reset
0x00000090 0x10 avr_i2c_driver/avr_i2c.o 0x0000006c 0x10 avr_i2c_driver/avr_i2c.o
.text.i2c_write_devAddr .text.i2c_write_devAddr
0x000000a0 0x22 avr_i2c_driver/avr_i2c.o 0x0000007c 0x22 avr_i2c_driver/avr_i2c.o
0x000000a0 i2c_write_devAddr 0x0000007c i2c_write_devAddr
.text.i2c_write .text.i2c_write
0x000000c2 0x92 avr_i2c_driver/avr_i2c.o 0x0000009e 0x92 avr_i2c_driver/avr_i2c.o
0x000000c2 i2c_write 0x0000009e i2c_write
.text.i2c_read .text.i2c_read
0x00000154 0x8c avr_i2c_driver/avr_i2c.o 0x00000130 0x8c avr_i2c_driver/avr_i2c.o
0x00000154 i2c_read 0x00000130 i2c_read
.text.i2c_IsDeviceReady .text.i2c_IsDeviceReady
0x000001e0 0x2c avr_i2c_driver/avr_i2c.o 0x000001bc 0x2c avr_i2c_driver/avr_i2c.o
0x000001e0 i2c_IsDeviceReady 0x000001bc i2c_IsDeviceReady
.text.cm_i2c_init .text.cm_i2c_init
0x0000020c 0x34 avr_i2c_driver/avr_i2c.o 0x000001e8 0x34 avr_i2c_driver/avr_i2c.o
0x0000020c cm_i2c_init 0x000001e8 cm_i2c_init
.text.cm_i2c_addDev .text.cm_i2c_addDev
0x00000240 0x3c avr_i2c_driver/avr_i2c.o 0x0000021c 0x3c avr_i2c_driver/avr_i2c.o
0x00000240 cm_i2c_addDev 0x0000021c cm_i2c_addDev
.text.cm_i2c_transfer .text.cm_i2c_transfer
0x0000027c 0x34 avr_i2c_driver/avr_i2c.o 0x00000258 0x34 avr_i2c_driver/avr_i2c.o
0x0000027c cm_i2c_transfer 0x00000258 cm_i2c_transfer
.text.cm_uart_init .text.cm_uart_init
0x000002b0 0x48 avr_uart_driver/avr_uart.o 0x0000028c 0x60 avr_uart_driver/avr_uart.o
0x000002b0 cm_uart_init 0x0000028c cm_uart_init
.text.cm_uart_send .text.cm_uart_send
0x000002f8 0xe avr_uart_driver/avr_uart.o 0x000002ec 0xe avr_uart_driver/avr_uart.o
0x000002f8 cm_uart_send 0x000002ec cm_uart_send
.text.__vector_22 .text.__vector_22
0x00000306 0x4e avr_uart_driver/avr_uart.o 0x000002fa 0x70 avr_uart_driver/avr_uart.o
0x00000306 __vector_22 0x000002fa __vector_22
.text.isStructValid .text.cm_msgSync_Byte_DecodeSC
0x00000354 0x1a cqm6xx_app.o 0x0000036a 0x9e cm_msg/cm_msg.o
.text.cqm6xx_app_updateOsc 0x0000036a cm_msgSync_Byte_DecodeSC
0x0000036e 0x76 cqm6xx_app.o .text.cm_msg_DecodeMsg_Byte
.text.cqm6xx_app_statemachine 0x00000408 0x9e cm_msg/cm_msg.o
0x000003e4 0x166 cqm6xx_app.o 0x00000408 cm_msg_DecodeMsg_Byte
0x000003e4 cqm6xx_app_statemachine .text.cm_MsgCompleteEvt_Register
0x000004a6 0x1c cm_msg/cm_msg.o
0x000004a6 cm_MsgCompleteEvt_Register
.text.programPLL_Parameters
0x000004c2 0x6 cqm6xx_app.o
0x000004c2 programPLL_Parameters
.text.uart_rx_event
0x000004c8 0xe cqm6xx_app.o
0x000004c8 uart_rx_event
.text.cqm6xx_app_init .text.cqm6xx_app_init
0x0000054a 0x16 cqm6xx_app.o 0x000004d6 0x2c cqm6xx_app.o
0x0000054a cqm6xx_app_init 0x000004d6 cqm6xx_app_init
.text.main 0x00000560 0x68 main.o .text.main 0x00000502 0x50 main.o
0x00000560 main 0x00000502 main
.text.writeRegister .text.writeRegister
0x000005c8 0x78 si5351_driver/si5351_driver.o 0x00000552 0x78 si5351_driver/si5351_driver.o
.text.cm_setOutputMultiSynth
0x00000640 0x116 si5351_driver/si5351_driver.o
0x00000640 cm_setOutputMultiSynth
.text.cm_setOutputEnable
0x00000756 0x40 si5351_driver/si5351_driver.o
0x00000756 cm_setOutputEnable
.text.cm_setCLKControl
0x00000796 0x5c si5351_driver/si5351_driver.o
0x00000796 cm_setCLKControl
.text.cm_setInputSource
0x000007f2 0x3e si5351_driver/si5351_driver.o
0x000007f2 cm_setInputSource
.text.cm_resetPLLs
0x00000830 0x48 si5351_driver/si5351_driver.o
0x00000830 cm_resetPLLs
.text.cm_setPllParamRaw
0x00000878 0xbc si5351_driver/si5351_driver.o
0x00000878 cm_setPllParamRaw
.text.cm_si5351_init .text.cm_si5351_init
0x00000934 0x142 si5351_driver/si5351_driver.o 0x000005ca 0x142 si5351_driver/si5351_driver.o
0x00000934 cm_si5351_init 0x000005ca cm_si5351_init
.text.avr-libc .text.avr-libc
0x00000a76 0x242 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) 0x0000070c 0x242 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o)
0x00000a76 malloc 0x0000070c malloc
0x00000ba6 free 0x0000083c free
.text.avr-libc .text.avr-libc
0x00000cb8 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o) 0x0000094e 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(memcpy.o)
0x00000cb8 memcpy 0x0000094e memcpy
0x00000cca . = ALIGN (0x2) 0x00000960 . = ALIGN (0x2)
*(.fini9) *(.fini9)
.fini9 0x00000cca 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) .fini9 0x00000960 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o)
0x00000cca _exit 0x00000960 _exit
0x00000cca exit 0x00000960 exit
*(.fini9) *(.fini9)
*(.fini8) *(.fini8)
*(.fini8) *(.fini8)
@@ -582,16 +623,18 @@ END GROUP
*(.fini1) *(.fini1)
*(.fini1) *(.fini1)
*(.fini0) *(.fini0)
.fini0 0x00000cca 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o) .fini0 0x00000960 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avrxmega3/short-calls\libgcc.a(_exit.o)
*(.fini0) *(.fini0)
0x00000cce _etext = . 0x00000964 _etext = .
.rodata .rodata 0x00008964 0x5 load address 0x00000964
*(.rodata) *(.rodata)
*(.rodata*) *(.rodata*)
.rodata.startCode
0x00008964 0x5 cm_msg/cm_msg.o
*(.gnu.linkonce.r*) *(.gnu.linkonce.r*)
.data 0x00803f00 0x6 load address 0x00000cce .data 0x00803f00 0x6 load address 0x00000969
0x00803f00 PROVIDE (__data_start, .) 0x00803f00 PROVIDE (__data_start, .)
*(.data) *(.data)
.data 0x00803f00 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) .data 0x00803f00 0x6 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o)
@@ -604,29 +647,42 @@ END GROUP
0x00803f06 _edata = . 0x00803f06 _edata = .
0x00803f06 PROVIDE (__data_end, .) 0x00803f06 PROVIDE (__data_end, .)
.bss 0x00803f06 0x9 .bss 0x00803f06 0x4a
0x00803f06 PROVIDE (__bss_start, .) 0x00803f06 PROVIDE (__bss_start, .)
*(.bss) *(.bss)
*(.bss*) *(.bss*)
.bss.received_data .bss.uart_rx_evt_fpt
0x00803f06 0x1 main.o 0x00803f06 0x2 avr_uart_driver/avr_uart.o
0x00803f06 received_data 0x00803f06 uart_rx_evt_fpt
.bss.data_bytes_idx.1845
0x00803f08 0x1 cm_msg/cm_msg.o
.bss.msg.1844 0x00803f09 0x37 cm_msg/cm_msg.o
.bss.state.1843
0x00803f40 0x1 cm_msg/cm_msg.o
.bss.state.1832
0x00803f41 0x1 cm_msg/cm_msg.o
.bss.s_msg_cmplete_evt_inst
0x00803f42 0x2 cm_msg/cm_msg.o
0x00803f42 s_msg_cmplete_evt_inst
.bss.s_msg_cmplete_evt_fpt
0x00803f44 0x2 cm_msg/cm_msg.o
0x00803f44 s_msg_cmplete_evt_fpt
*(COMMON) *(COMMON)
COMMON 0x00803f07 0x4 main.o COMMON 0x00803f46 0x6 main.o
0x00803f07 storno_xtal_app 0x00803f46 storno_xtal_app
COMMON 0x00803f0b 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o) COMMON 0x00803f4c 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avrxmega3/short-calls\libc.a(malloc.o)
0x00803f0b __brkval 0x00803f4c __brkval
0x00803f0d __flp 0x00803f4e __flp
0x00803f0f PROVIDE (__bss_end, .) 0x00803f50 PROVIDE (__bss_end, .)
0x00000cce __data_load_start = LOADADDR (.data) 0x00000969 __data_load_start = LOADADDR (.data)
0x00000cd4 __data_load_end = (__data_load_start + SIZEOF (.data)) 0x0000096f __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00803f0f 0x0 .noinit 0x00803f50 0x0
[!provide] PROVIDE (__noinit_start, .) [!provide] PROVIDE (__noinit_start, .)
*(.noinit*) *(.noinit*)
[!provide] PROVIDE (__noinit_end, .) [!provide] PROVIDE (__noinit_end, .)
0x00803f0f _end = . 0x00803f50 _end = .
0x00803f0f PROVIDE (__heap_start, .) 0x00803f50 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0 .eeprom 0x00810000 0x0
*(.eeprom*) *(.eeprom*)
@@ -667,10 +723,10 @@ END GROUP
.comment 0x00000000 0x30 .comment 0x00000000 0x30
*(.comment) *(.comment)
.comment 0x00000000 0x30 avr_gpio_driver/avr_gpio.o .comment 0x00000000 0x30 avr_i2c_driver/avr_i2c.o
0x31 (size before relaxing) 0x31 (size before relaxing)
.comment 0x00000030 0x31 avr_i2c_driver/avr_i2c.o
.comment 0x00000030 0x31 avr_uart_driver/avr_uart.o .comment 0x00000030 0x31 avr_uart_driver/avr_uart.o
.comment 0x00000030 0x31 cm_msg/cm_msg.o
.comment 0x00000030 0x31 cqm6xx_app.o .comment 0x00000030 0x31 cqm6xx_app.o
.comment 0x00000030 0x31 main.o .comment 0x00000030 0x31 main.o
.comment 0x00000030 0x31 si5351_driver/si5351_driver.o .comment 0x00000030 0x31 si5351_driver/si5351_driver.o
@@ -696,87 +752,87 @@ END GROUP
.debug_sfnames .debug_sfnames
*(.debug_sfnames) *(.debug_sfnames)
.debug_aranges 0x00000000 0x1a0 .debug_aranges 0x00000000 0x1b8
*(.debug_aranges) *(.debug_aranges)
.debug_aranges .debug_aranges
0x00000000 0x30 avr_gpio_driver/avr_gpio.o 0x00000000 0x68 avr_i2c_driver/avr_i2c.o
.debug_aranges .debug_aranges
0x00000030 0x68 avr_i2c_driver/avr_i2c.o 0x00000068 0x40 avr_uart_driver/avr_uart.o
.debug_aranges .debug_aranges
0x00000098 0x40 avr_uart_driver/avr_uart.o 0x000000a8 0x30 cm_msg/cm_msg.o
.debug_aranges .debug_aranges
0x000000d8 0x38 cqm6xx_app.o 0x000000d8 0x48 cqm6xx_app.o
.debug_aranges .debug_aranges
0x00000110 0x20 main.o 0x00000120 0x28 main.o
.debug_aranges .debug_aranges
0x00000130 0x70 si5351_driver/si5351_driver.o 0x00000148 0x70 si5351_driver/si5351_driver.o
.debug_pubnames .debug_pubnames
*(.debug_pubnames) *(.debug_pubnames)
.debug_info 0x00000000 0x4b29 .debug_info 0x00000000 0x496c
*(.debug_info .gnu.linkonce.wi.*) *(.debug_info .gnu.linkonce.wi.*)
.debug_info 0x00000000 0x11d6 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .debug_info 0x00000000 0x11d6 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o
.debug_info 0x000011d6 0x320 avr_gpio_driver/avr_gpio.o .debug_info 0x000011d6 0x6da avr_i2c_driver/avr_i2c.o
.debug_info 0x000014f6 0x6da avr_i2c_driver/avr_i2c.o .debug_info 0x000018b0 0x518 avr_uart_driver/avr_uart.o
.debug_info 0x00001bd0 0x4b5 avr_uart_driver/avr_uart.o .debug_info 0x00001dc8 0x2b4 cm_msg/cm_msg.o
.debug_info 0x00002085 0x7dc cqm6xx_app.o .debug_info 0x0000207c 0x628 cqm6xx_app.o
.debug_info 0x00002861 0xce3 main.o .debug_info 0x000026a4 0xce3 main.o
.debug_info 0x00003544 0x15e5 si5351_driver/si5351_driver.o .debug_info 0x00003387 0x15e5 si5351_driver/si5351_driver.o
.debug_abbrev 0x00000000 0x1b2d .debug_abbrev 0x00000000 0x1bfd
*(.debug_abbrev) *(.debug_abbrev)
.debug_abbrev 0x00000000 0x10de C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .debug_abbrev 0x00000000 0x10de C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o
.debug_abbrev 0x000010de 0x107 avr_gpio_driver/avr_gpio.o .debug_abbrev 0x000010de 0x1bb avr_i2c_driver/avr_i2c.o
.debug_abbrev 0x000011e5 0x1bb avr_i2c_driver/avr_i2c.o .debug_abbrev 0x00001299 0x1ed avr_uart_driver/avr_uart.o
.debug_abbrev 0x000013a0 0x1ad avr_uart_driver/avr_uart.o .debug_abbrev 0x00001486 0x14b cm_msg/cm_msg.o
.debug_abbrev 0x0000154d 0x1b1 cqm6xx_app.o .debug_abbrev 0x000015d1 0x1df cqm6xx_app.o
.debug_abbrev 0x000016fe 0x1e5 main.o .debug_abbrev 0x000017b0 0x203 main.o
.debug_abbrev 0x000018e3 0x24a si5351_driver/si5351_driver.o .debug_abbrev 0x000019b3 0x24a si5351_driver/si5351_driver.o
.debug_line 0x00000000 0x126c .debug_line 0x00000000 0x12f2
*(.debug_line .debug_line.* .debug_line_end) *(.debug_line .debug_line.* .debug_line_end)
.debug_line 0x00000000 0x136 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .debug_line 0x00000000 0x136 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o
.debug_line 0x00000136 0x196 avr_gpio_driver/avr_gpio.o .debug_line 0x00000136 0x3ff avr_i2c_driver/avr_i2c.o
.debug_line 0x000002cc 0x3ff avr_i2c_driver/avr_i2c.o .debug_line 0x00000535 0x227 avr_uart_driver/avr_uart.o
.debug_line 0x000006cb 0x1e8 avr_uart_driver/avr_uart.o .debug_line 0x0000075c 0x208 cm_msg/cm_msg.o
.debug_line 0x000008b3 0x319 cqm6xx_app.o .debug_line 0x00000964 0x323 cqm6xx_app.o
.debug_line 0x00000bcc 0x1d0 main.o .debug_line 0x00000c87 0x19b main.o
.debug_line 0x00000d9c 0x4d0 si5351_driver/si5351_driver.o .debug_line 0x00000e22 0x4d0 si5351_driver/si5351_driver.o
.debug_frame 0x00000000 0x534 .debug_frame 0x00000000 0x558
*(.debug_frame) *(.debug_frame)
.debug_frame 0x00000000 0x44 avr_gpio_driver/avr_gpio.o .debug_frame 0x00000000 0x118 avr_i2c_driver/avr_i2c.o
.debug_frame 0x00000044 0x118 avr_i2c_driver/avr_i2c.o .debug_frame 0x00000118 0xcc avr_uart_driver/avr_uart.o
.debug_frame 0x0000015c 0xbc avr_uart_driver/avr_uart.o .debug_frame 0x000001e4 0x44 cm_msg/cm_msg.o
.debug_frame 0x00000218 0x94 cqm6xx_app.o .debug_frame 0x00000228 0x98 cqm6xx_app.o
.debug_frame 0x000002ac 0x34 main.o .debug_frame 0x000002c0 0x44 main.o
.debug_frame 0x000002e0 0x254 si5351_driver/si5351_driver.o .debug_frame 0x00000304 0x254 si5351_driver/si5351_driver.o
.debug_str 0x00000000 0x1ec6 .debug_str 0x00000000 0x2131
*(.debug_str) *(.debug_str)
.debug_str 0x00000000 0x7a9 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o .debug_str 0x00000000 0x7a9 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.10.348/gcc/dev/attiny402/avrxmega3/short-calls/crtattiny402.o
.debug_str 0x000007a9 0x2d1 avr_gpio_driver/avr_gpio.o .debug_str 0x000007a9 0x4c2 avr_i2c_driver/avr_i2c.o
0x315 (size before relaxing) 0x506 (size before relaxing)
.debug_str 0x00000a7a 0x2ab avr_i2c_driver/avr_i2c.o .debug_str 0x00000c6b 0x283 avr_uart_driver/avr_uart.o
0x502 (size before relaxing) 0x4f8 (size before relaxing)
.debug_str 0x00000d25 0x24f avr_uart_driver/avr_uart.o .debug_str 0x00000eee 0x23a cm_msg/cm_msg.o
0x4c0 (size before relaxing) 0x3fe (size before relaxing)
.debug_str 0x00000f74 0x2d7 cqm6xx_app.o .debug_str 0x00001128 0x2d8 cqm6xx_app.o
0x4bb (size before relaxing) 0x4db (size before relaxing)
.debug_str 0x0000124b 0x8ff main.o .debug_str 0x00001400 0x909 main.o
0xc39 (size before relaxing) 0xc4e (size before relaxing)
.debug_str 0x00001b4a 0x37c si5351_driver/si5351_driver.o .debug_str 0x00001d09 0x428 si5351_driver/si5351_driver.o
0xf91 (size before relaxing) 0xf95 (size before relaxing)
.debug_loc 0x00000000 0x1ce2 .debug_loc 0x00000000 0x1c80
*(.debug_loc) *(.debug_loc)
.debug_loc 0x00000000 0xae avr_gpio_driver/avr_gpio.o .debug_loc 0x00000000 0x73d avr_i2c_driver/avr_i2c.o
.debug_loc 0x000000ae 0x73d avr_i2c_driver/avr_i2c.o .debug_loc 0x0000073d 0x16e avr_uart_driver/avr_uart.o
.debug_loc 0x000007eb 0x113 avr_uart_driver/avr_uart.o .debug_loc 0x000008ab 0x160 cm_msg/cm_msg.o
.debug_loc 0x000008fe 0x49c cqm6xx_app.o .debug_loc 0x00000a0b 0x32d cqm6xx_app.o
.debug_loc 0x00000d9a 0x48 main.o .debug_loc 0x00000d38 0x48 main.o
.debug_loc 0x00000de2 0xf00 si5351_driver/si5351_driver.o .debug_loc 0x00000d80 0xf00 si5351_driver/si5351_driver.o
.debug_macinfo .debug_macinfo
*(.debug_macinfo) *(.debug_macinfo)
@@ -796,14 +852,14 @@ END GROUP
.debug_pubtypes .debug_pubtypes
*(.debug_pubtypes) *(.debug_pubtypes)
.debug_ranges 0x00000000 0x140 .debug_ranges 0x00000000 0x158
*(.debug_ranges) *(.debug_ranges)
.debug_ranges 0x00000000 0x20 avr_gpio_driver/avr_gpio.o .debug_ranges 0x00000000 0x58 avr_i2c_driver/avr_i2c.o
.debug_ranges 0x00000020 0x58 avr_i2c_driver/avr_i2c.o .debug_ranges 0x00000058 0x30 avr_uart_driver/avr_uart.o
.debug_ranges 0x00000078 0x30 avr_uart_driver/avr_uart.o .debug_ranges 0x00000088 0x20 cm_msg/cm_msg.o
.debug_ranges 0x000000a8 0x28 cqm6xx_app.o .debug_ranges 0x000000a8 0x38 cqm6xx_app.o
.debug_ranges 0x000000d0 0x10 main.o .debug_ranges 0x000000e0 0x18 main.o
.debug_ranges 0x000000e0 0x60 si5351_driver/si5351_driver.o .debug_ranges 0x000000f8 0x60 si5351_driver/si5351_driver.o
.debug_macro .debug_macro
*(.debug_macro) *(.debug_macro)

View File

@@ -1,208 +1,155 @@
S022000073746F726E6F5F6371703678785F6469676974616C5F7874616C2E737265633F S022000073746F726E6F5F6371703678785F6469676974616C5F7874616C2E737265633F
S113000019C033C032C031C030C02FC02EC02DC083 S113000019C033C032C031C030C02FC02EC02DC083
S11300102CC02BC02AC029C028C027C026C025C098 S11300102CC02BC02AC029C028C027C026C025C098
S113002024C023C022C021C020C01FC06CC11DC079 S113002024C023C022C021C020C01FC066C11DC07F
S11300301CC01BC011241FBECFEFCDBFDFE3DEBF4A S11300301CC01BC011241FBECFEFCDBFDFE3DEBF4A
S11300402FE3A6E0BFE301C01D92AF30B207E1F792 S11300402FE3A6E0BFE301C01D92A035B207E1F79C
S11300501FE3A0E0BFE3EEECFCE002C005900D92CC S11300501FE3A0E0BFE3E9E6F9E002C005900D92DA
S1130060A630B107D9F77CD230C6CACF81110DC0F2 S1130060A630B107D9F74DD27BC4CACFE0E1F8E09E
S11300702091080430E002C0359527956A95E2F78F S113007084818860848381E0858308958093170850
S113008081E020FF80E090E0089580E090E0089512 S113008080911508807CE1F390911508892F807187
S1130090E0E1F8E084818860848381E085830895C9 S113009094FF04C083E08093140881E00895CF9214
S11300A08093170880911508807CE1F390911508DE S11300A0DF92EF92FF92CF93DF93EB0169017A0124
S11300B0892F807194FF04C083E08093140881E049 S11300B0232B242B252B81F1E1DF811130C09E01FC
S11300C00895CF92DF92EF92FF92CF93DF93EB01EB S11300C02F5F3F4F8881809318088091150886FF21
S11300D069017A01232B242B252B81F1E1DF811186 S11300D0FCCF8091150884FF06C083E08093140848
S11300E030C09E012F5F3F4F888180931808809114 S11300E081E090E01EC0809115088C7021F0BEDF85
S11300F0150886FFFCCF8091150884FF06C083E0B5 S11300F081E090E016C08091150884FD07C081E07E
S11301008093140881E090E01EC0809115088C70E3 S1130100C81AD108E108F108E901C9F683E080932F
S113011021F0BEDF81E090E016C08091150884FDD7 S1130110140880E090E005C08FEF9FEF02C08FEFDE
S113012007C081E0C81AD108E108F108E901C9F65D S11301209FEFDF91CF91FF90EF90DF90CF900895F4
S113013083E08093140880E090E005C08FEF9FEF88 S1130130CF92DF92EF92FF92CF93DF93EB016901AD
S113014002C08FEF9FEFDF91CF91FF90EF90DF9090 S11301407A01232B242B252B69F1816097DF8823E7
S1130150CF900895CF92DF92EF92FF92CF93DF93E7 S1130150C9F02BC080911508807CE1F3CE01019693
S1130160EB0169017A01232B242B252B69F1816092 S1130160209118082883411551056105710521F472
S113017097DF8823C9F02BC080911508807CE1F3B8 S113017024E02093140803C022E0209314086A01A9
S1130180CE01019620911808288341155105610577 S11301807B01EC01B701A6014150510961097109D4
S1130190710521F424E02093140803C022E0209385 S1130190CD28CE28CF28F1F683E08093140880E0A0
S11301A014086A017B01EC01B701A6014150510911 S11301A090E005C081E090E002C08FEF9FEFDF9107
S11301B061097109CD28CE28CF28F1F683E0809318 S11301B0CF91FF90EF90DF90CF9008958093170830
S11301C0140880E090E005C081E090E002C08FEF69 S11301C08091150886FFFCCF8091150884FF06C036
S11301D09FEFDF91CF91FF90EF90DF90CF90089544 S11301D083E08093140881E090E0089583E08093A5
S11301E0809317088091150886FFFCCF809115082D S11301E0140880E090E00895E0E0F4E080818B7FE3
S11301F084FF06C083E08093140881E090E00895B2 S11301F080838081877F8083A0E1B8E08BE01696BE
S113020083E08093140880E090E00895E0E0F4E057 S11302008C93169781E013968C93139715968C9381
S113021080818B7F80838081877F8083A0E1B8E0A9 S113021088E0828B838B80E090E00895EF92FF92D8
S11302208BE016968C93169781E013968C93139714 S11302200F931F93CF938C017B01C42F842F880FCE
S113023015968C9388E0828B838B80E090E0089500 S1130230C5DF009749F4F801E082F1824C2F50E0C9
S1130240EF92FF920F931F93CF938C017B01C42FE6 S1130240440F551F428302C08EEF9FEFCF911F9141
S1130250842F880FC5DF009749F4F801E082F1820A S11302500F91FF90EF9008950F93009781F0FC01A8
S11302604C2F50E0440F551F428302C08EEF9FEF86 S1130260002319F0013031F00DC0828161DF80E09C
S1130270CF911F910F91FF90EF9008950F930097E6 S113027090E00AC0828113DF80E090E005C08FEF38
S113028081F0FC01002319F0013031F00DC08281AE S11302809FEF02C080E090E00F910895CF93DF9339
S113029061DF80E090E00AC0828113DF80E090E0BB S11302901F92CDB7DEB7AC01F894E0E0F8E02CE6AD
S11302A005C08FEF9FEF02C080E090E00F910895AA S11302A035E02087318793E0978390EC968361153E
S11302B0CF93DF931F92CDB7DEB7F894E0E0F8E078 S11302B0710511F4452B39F080E8809305086093AB
S11302C08CE695E08087918783E0878380EC868342 S11302C0063F7093073F80910408882324F48091AB
S11302D080E885838481882324F4809100088983BD S11302D0000889838981E0E0F4E080E4818380E898
S11302E08981E0E0F4E080E4818380E8828378948B S11302E0828378940F90DF91CF91089590910408C0
S11302F00F90DF91CF9108959091040895FFFCCF62 S11302F095FFFCCF8093020808951F920F920FB6CA
S11303008093020808951F920F920FB60F92112442 S11303000F9211242F933F934F935F936F937F9397
S11303102F933F934F935F936F937F938F939F9309 S11303108F939F93AF93BF93EF93FF93CF93DF9309
S1130320AF93BF93EF93FF93809100088093063FB0 S11303201F92CDB7DEB7E091063FF091073F3097BB
S1130330E3DFFF91EF91BF91AF919F918F917F91F7 S113033019F08091000809958091000889838981CA
S11303406F915F914F913F912F910F900FBE0F903E S1130340D5DF0F90DF91CF91FF91EF91BF91AF91E6
S11303501F901895FC0122813381232B21F0892BD6 S11303509F918F917F916F915F914F913F912F91D9
S113036021F481E0089581E0089580E00895CF9319 S11303600F900FBE0F901F901895E091413FE2301F
S1130370DF93EC01EFDF811132C089819881891705 S113037029F128F4EE2341F0E13091F040C0E3305C
S113038071F1813019F08230B1F029C081E493E039 S113038059F1E430B9F13BC0F0E0EC59F647208173
S11303900197F1F7000040E060E08A819B81DBD1A6 S113039091E0281390E09093413F81E090E008952C
S11303A081E493E00197F1F7000041E061E08A8184 S11303A0F0E0EC59F6479081891302C082E001C065
S11303B09B81D1D114C081E493E00197F1F700004F S11303B080E08093413F81E090E00895F0E0EC59C3
S11303C041E060E08A819B81C6D181E493E001979A S11303C0F6479081891302C083E001C080E08093E6
S11303D0F1F7000040E061E08A819B81BCD1DF91AC S11303D0413F81E090E00895F0E0EC59F6479081C8
S11303E0CF910895AF92BF92CF92DF92EF92FF9296 S11303E0891302C084E001C080E08093413F81E032
S11303F00F931F93CF93DF93EC01ACDF81119AC06D S11303F090E008951092413F80E090E008951092BB
S11304008981813009F47FC020F0823009F487C0EB S1130400413F81E090E008959091403F9330C1F0E6
S113041091C0888381E493E00197F1F7000060E0E4 S113041028F4992341F0913069F042C09430C1F03E
S11304208A819B81E6D181E493E00197F1F7000092 S1130420953001F13DC0A1DF892BD1F581E08093A6
S11304300F2EFBE5AF2EF8E4BF2EF0E1CF2ED12C2A S1130430403F36C08093093F83E08093403F30C003
S1130440F02D16EFE12E1CE2F12E00E010E023E483 S1130440E9E0FFE31182828384E08093403F28C087
S11304503DE040E050E060E08A819B810DD281E480 S1130450E9E0FFE321813281282B2183328395E077
S113046093E00197F1F700000F2EF0ECAF2EF8E4C3 S11304609093403F9091083FE92FF0E0E75FF04C14
S1130470BF2EF0E1CF2ED12CF02D12E0E12E1FE3A0 S1130470838381E0890F8093083F9091093F981707
S1130480F12E00E010E028EC3CE040E050E061E0B8 S113048078F4E091443FF091453F6CE07FE3809144
S11304908A819B81F1D181E493E00197F1F7000017 S1130490423F9091433F09951092403F1092083F8C
S11304A0A12CB12C6501A394E12CF12C870122E14C S11304A080E090E00895009759F06115710541F0DE
S11304B030E040E050E060E08A819B81C1D081E47B S11304B08093423F9093433F6093443F7093453F02
S11304C093E00197F1F7000020E430E040E050E0D1 S11304C00895FC0111820895FC0164837583F9DFAA
S11304D061E08A819B81B4D081E493E00197F1F7D4 S11304D080E090E00895CF93DF936115710571F08A
S11304E0000040E060E08A819B8155D181E493E083 S11304E0009761F0EC01198218826A837B8364E6C9
S11304F00197F1F7000040E061E08A819B814BD1D4 S11304F072E0D9DF64E072E0CE01C8DEDF91CF9113
S113050081E0898317C0CE0132DF8981888363E06B S11305000895CF93DF93CDB7DEB7CB55D109CDBFD7
S113051080E0ACDD019771F482E089830BC0CE01E9 S1130510DEBF80E090E068DE40E660E070E0CE019F
S113052026DF8981888363E080E0A0DD892B11F4D4 S113052001967CDE4CE251E0BE016F5F7F4FCE014D
S113053081E08983DF91CF911F910F91FF90EF901C S113053004964BD0BE016C5F7F4F86E49FE3CBDF14
S1130540DF90CF90BF90AF900895FC0161157105C5 S11305402AE684E091E0215080409040E1F700C029
S113055031F0892B21F01182108262837383089514 S1130550F7CF8F929F92AF92BF92CF92DF92EF929A
S1130560CF93DF93CDB7DEB7CB55D109CDBFDEBF77 S1130560FF920F931F93CF93DF93EC01862E5A01D2
S113057080E090E04BDE40E660E070E0CE01019662 S113057068017901C8010196C9D0982E192FFC0190
S11305805FDE4EE351E0BE016F5F7F4FCE01049604 S11305808192CF01A601B501E2D1EA81FB81A701E5
S1130590D1D1BE016C5F7F4F87E09FE3D6DF88DE59 S113059096012F5F3F4F4F4F5F4F01E0692D712F41
S11305A082E7AADE82E7A8DE8AE0A6DE8DE0A4DE8A S11305A0888199810995892D912F48D180E090E027
S11305B087E09FE317DF2AE684E091E02150804042 S11305B0DF91CF911F910F91FF90EF90DF90CF903B
S11305C09040E1F700C0F4CF8F929F92AF92BF9218 S11305C0BF90AF909F908F900895EF92FF920F93FA
S11305D0CF92DF92EF92FF920F931F93CF93DF930B S11305D01F93CF93DF931F92CDB7DEB7009709F433
S11305E0EC01862E5A0168017901C801019643D2B3 S11305E085C06115710509F484C04115510509F4EC
S11305F0982E192FFC018192CF01A601B5015CD37D S11305F083C07C01DC016D937C93119712964D931B
S1130600EA81FB81A70196012F5F3F4F4F4F5F4F58 S11306005C931397FC01349684E5DF011D928A956F
S113061001E0692D712F888199810995892D912F88 S1130610E9F78FEF898301E010E020E030E0AE01DC
S1130620C2D280E090E0DF91CF911F910F91FF90B3 S11306204F5F5F4F63E0C70194DF80E8898301E097
S1130630EF90DF90CF90BF90AF909F908F900895F0 S113063010E020E030E0AE014F5F5F4F60E1C701A2
S1130640AF92BF92CF92DF92EF92FF920F931F93DC S113064088DF01E010E020E030E0AE014F5F5F4F53
S1130650FC01862FBA01A9014450510961097E4F5A S113065061E1C7017EDF01E010E020E030E0AE019F
S1130660440F551F661F771F440F551F661F771FC2 S11306604F5F5F4F62E1C70174DF01E010E020E0FB
S1130670440F551F661F771F440F551F661F771FB2 S113067030E0AE014F5F5F4F63E1C7016ADF01E025
S1130680440F551F661F771F440F551F661F771FA2 S113068010E020E030E0AE014F5F5F4F64E1C7014E
S1130690440F551F661F771F882319F0813049F1D5 S113069060DF01E010E020E030E0AE014F5F5F4F2B
S11306A04FC0962F937086A18C7F892B86A357A366 S11306A065E1C70156DF01E010E020E030E0AE0173
S11306B040A7F2A6E3A6D601C501072E7CE0B695B5 S11306B04F5F5F4F66E1C7014CDF01E010E020E0CF
S11306C0A795979587957A95D1F7702D8370829524 S11306C030E0AE014F5F5F4F67E1C70142DF80EC6E
S11306D0807F0370802B81A7B4A2A5A2AF014C5DDB S11306D0898301E010E020E030E0AE014F5F5F4F1E
S11306E05F4F08E010E020E030E06AE2CF016CDF09 S11306E067EBC70136DF80E090E008C08FEF9FEF33
S11306F027C0962F937086A58C7F892B86A757A732 S11306F005C08FEF9FEF02C08FEF9FEF0F90DF9148
S113070040ABF2AAE3AAD601C501072E7CE0B69558 S1130700CF911F910F91FF90EF9008950F931F9336
S1130710A795979587957A95D1F7702D83708295D3 S1130710CF93DF938230910510F482E090E0E09172
S1130720807F0370802B81ABB4A6A5A6AF01445D86 S11307204E3FF0914F3F20E030E0A0E0B0E0309742
S11307305F4F08E010E020E030E062E3CF0144DFE7 S113073019F1408151810281138148175907C8F08A
S113074080E090E01F910F91FF90EF90DF90CF90A9 S11307408417950769F4109731F012960C93129759
S1130750BF90AF9008950F931F93662319F06130F3 S113075013961C9327C000934E3F10934F3F22C023
S113076039F00BC0FC01278140FB20F9278305C029 S11307602115310519F04217530718F49A01BD01F8
S1130770FC01278140FB21F92783AC01495F5F4FCE S1130770EF01DF01F801DBCF21153105F9F0281B6A
S113078001E010E020E030E063E01EDF80E090E074 S1130780390B2430310580F48A819B816115710510
S11307901F910F9108950F931F93662319F06130F1 S113079021F0FB018283938304C080934E3F9093A6
S11307A0A1F022C0FC01228540FB27F933853F7D5F S11307A04F3FFE01329644C0FE01E20FF31F8193D6
S11307B033872F642287AC01465F5F4F01E010E06E S11307B0919322503109288339833AC020914C3FC8
S11307C020E030E060E100DF0FC0FC01238540FB46 S11307C030914D3F232B41F42091023F3091033F60
S11307D027F92F662387AC01455F5F4F01E010E0E6 S11307D020934C3F30934D3F2091003F3091013F97
S11307E020E030E061E1F0DE80E090E01F910F91C5 S11307E02115310541F42DB73EB74091043F509196
S11307F008950F931F93662319F0613039F00AC0EE S11307F0053F241B350BE0914C3FF0914D3FE21730
S1130800FC0121852B7F277F218704C0FC012185E2 S1130800F307A0F42E1B3F0B2817390778F0AC012F
S113081024602187AC01475F5F4F01E010E020E0D6 S11308104E5F5F4F2417350748F04E0F5F1F40931C
S113082030E060EFD1DE80E090E01F910F910895F9 S11308204C3F50934D3F8193919302C0E0E0F0E040
S11308300F931F9331E0611101C030E0FC01E95ACC S1130830CF01DF91CF911F910F910895CF93DF9353
S1130840FF4F208130FB25F9208331E0411101C0A5 S1130840009709F481C0FC01329712821382A091AF
S113085030E0AC01495A5F4FFA01208130FB27F99F S11308504E3FB0914F3F109781F420813181820F38
S1130860208301E010E020E030E061EBADDE80E0C9 S1130860931F20914C3F30914D3F2817390751F584
S113087090E01F910F910895AF92BF92CF92DF92B3 S1130870E0934C3FF0934D3F67C0ED0120E030E042
S1130880EF92FF920F931F93CF93DF93EC016623B4 S1130880CE17DF0740F44A815B819E014115510573
S113089019F0613001F13DC042708E898C7F482B84 S1130890F1F0EA01F5CFC283D38340815181840F03
S11308A04E8B3F8B288FD801C70188279927AF70BB S11308A0951FC817D90759F488819981840F951F1A
S11308B0BB27FA8EEB8E8A2F8F70898FBC8AAD8A04 S11308B00296808391838A819B818283938321150D
S11308C008E010E020E030E0AE014C5E5F4F6AE1EA S11308C0310529F4E0934E3FF0934F3F3DC0E901D9
S11308D0CE017ADE1EC042708E8D8C7F482B4E8FE7 S11308D0EA83FB8349915991C40FD51FEC17FD0797
S11308E03F8F28A3D801C70188279927AF70BB275A S11308E061F480819181840F951F0296E9018883C8
S11308F0FAA2EBA28A2F8F7089A3BC8EAD8E08E07A S11308F09983828193818A839B83E0E0F0E012965E
S113090010E020E030E0AE01445E5F4F62E2CE01D1 S11309008D919C911397009719F0FD01DC01F7CFAD
S11309105BDE41E061E0CE018BDF80E090E0DF91BF S11309108D919C9111979D012E5F3F4F820F931FE4
S1130920CF911F910F91FF90EF90DF90CF90BF90E8 S113092020914C3F30914D3F2817390769F4309797
S1130930AF900895EF92FF920F931F93CF93DF939D S113093029F410924E3F10924F3F02C0128213824C
S11309401F92CDB7DEB7009709F485C06115710514 S1130940A0934C3FB0934D3FDF91CF910895FB01AD
S113095009F484C04115510509F483C07C01DC010C S1130950DC0102C001900D9241505040D8F7089537
S11309606D937C93119712964D935C931397FC01AE S1070960F894FFCF35
S1130970349684E5DF011D928A95E9F78FEF898328 S10809644F5A31434D20
S113098001E010E020E030E0AE014F5F5F4F63E034 S10909690000503F2000D5
S1130990C7011ADE80E8898301E010E020E030E03E
S11309A0AE014F5F5F4F60E1C7010EDE01E010E072
S11309B020E030E0AE014F5F5F4F61E1C70104DE2C
S11309C001E010E020E030E0AE014F5F5F4F62E1F4
S11309D0C701FADD01E010E020E030E0AE014F5F36
S11309E05F4F63E1C701F0DD01E010E020E030E09B
S11309F0AE014F5F5F4F64E1C701E6DD01E010E047
S1130A0020E030E0AE014F5F5F4F65E1C701DCDD00
S1130A1001E010E020E030E0AE014F5F5F4F66E19F
S1130A20C701D2DD01E010E020E030E0AE014F5F0D
S1130A305F4F67E1C701C8DD80EC898301E010E006
S1130A4020E030E0AE014F5F5F4F67EBC701BCDDD4
S1130A5080E090E008C08FEF9FEF05C08FEF9FEF1D
S1130A6002C08FEF9FEF0F90DF91CF911F910F91F5
S1130A70FF90EF9008950F931F93CF93DF938230ED
S1130A80910510F482E090E0E0910D3FF0910E3F6B
S1130A9020E030E0A0E0B0E0309719F140815181CE
S1130AA00281138148175907C8F08417950769F420
S1130AB0109731F012960C93129713961C9327C03B
S1130AC000930D3F10930E3F22C02115310519F0FC
S1130AD04217530718F49A01BD01EF01DF01F80131
S1130AE0DBCF21153105F9F0281B390B24303105F2
S1130AF080F48A819B816115710521F0FB01828359
S1130B00938304C080930D3F90930E3FFE01329671
S1130B1044C0FE01E20FF31F8193919322503109E7
S1130B20288339833AC020910B3F30910C3F232B0B
S1130B3041F42091023F3091033F20930B3F3093C7
S1130B400C3F2091003F3091013F2115310541F4C4
S1130B502DB73EB74091043F5091053F241B350B00
S1130B60E0910B3FF0910C3FE217F307A0F42E1B2A
S1130B703F0B2817390778F0AC014E5F5F4F2417FD
S1130B80350748F04E0F5F1F40930B3F50930C3FC7
S1130B908193919302C0E0E0F0E0CF01DF91CF9127
S1130BA01F910F910895CF93DF93009709F481C0AB
S1130BB0FC01329712821382A0910D3FB0910E3F37
S1130BC0109781F420813181820F931F20910B3F74
S1130BD030910C3F2817390751F5E0930B3FF09300
S1130BE00C3F67C0ED0120E030E0CE17DF0740F492
S1130BF04A815B819E0141155105F1F0EA01F5CF6F
S1130C00C283D38340815181840F951FC817D907AC
S1130C1059F488819981840F951F0296808391836A
S1130C208A819B81828393832115310529F4E09382
S1130C300D3FF0930E3F3DC0E901EA83FB834991E8
S1130C405991C40FD51FEC17FD0761F48081918180
S1130C50840F951F0296E901888399838281938189
S1130C608A839B83E0E0F0E012968D919C91139728
S1130C70009719F0FD01DC01F7CF8D919C9111973C
S1130C809D012E5F3F4F820F931F20910B3F3091A8
S1130C900C3F2817390769F4309729F410920D3F57
S1130CA010920E3F02C012821382A0930B3FB093A6
S1130CB00C3FDF91CF910895FB01DC0102C001904C
S1110CC00D9241505040D8F70895F894FFCF9C
S1090CCE00000F3F2000AE
S9030000FC S9030000FC

View File

@@ -7,9 +7,15 @@
#include "cqm6xx_app.h" #include "cqm6xx_app.h"
#include "si5351_driver/include/si5351_driver.h" #include "si5351_driver/include/si5351_driver.h"
#include "avr_gpio_driver/avr_gpio.h" #include "avr_gpio_driver/avr_gpio.h"
#include "avr_uart_driver/avr_uart.h"
#include "avr_global_config.h" #include "avr_global_config.h"
#include "avr_eeprom_driver/avr_eeprom_driver.h"
#include "cm_msg/cm_msg.h"
#include <util/delay.h> #include <util/delay.h>
#define PLLA_SETTINGS_EEPROM_ADDR 0x00 // addr 0
#define PLLB_SETTINGS_EEPROM_ADDR 0x20 // addr 32 (64 bytes total memory)
static uint8_t isStructValid(storno_xtal_app_t *inst){ static uint8_t isStructValid(storno_xtal_app_t *inst){
if(inst->si5351_dev == NULL) return 1; if(inst->si5351_dev == NULL) return 1;
@@ -51,6 +57,43 @@ static void cqm6xx_app_updateOsc(storno_xtal_app_t *inst){
} }
static void cqm_setPLLParam(storno_xtal_app_t *inst, si5351_PLLs pll_num, si5351_Outputs output){
cm_setPllParamRaw(inst->si5351_dev,pll_num, inst->pll_param_ptr->MSNx_P1, inst->pll_param_ptr->MSNx_P2, inst->pll_param_ptr->MSNx_P3);
_delay_ms(1);
cm_setOutputMultiSynth(inst->si5351_dev,output, inst->pll_param_ptr->MSx_P1, inst->pll_param_ptr->MSx_P2, inst->pll_param_ptr->MSx_P3);
_delay_ms(1);
cm_setCLKControl(inst->si5351_dev,output,SI5351_CLK_POWER_UP);
}
static void cqm6xx_app_loadPLLParam(storno_xtal_app_t *inst){
cm_setInputSource(inst->si5351_dev, SI5351_CLK_SOURCE_XTAL);
_delay_ms(1);
storno_pll_param_msg temp_msg;
uint8_t *msg_ptr = (void*)&temp_msg;
cm_EEPROM_read(PLLA_SETTINGS_EEPROM_ADDR,msg_ptr,sizeof(storno_pll_param_msg));
inst->pll_param_ptr = &temp_msg;
cqm_setPLLParam(inst, SI5351_PLL_A, SI5351_OUTPUT_0);
cm_setCLKControl(inst->si5351_dev,SI5351_OUTPUT_0,SI5351_CLK_POWER_UP);
_delay_ms(1);
cm_EEPROM_read(PLLB_SETTINGS_EEPROM_ADDR,msg_ptr,sizeof(storno_pll_param_msg));
inst->pll_param_ptr = &temp_msg;
cqm_setPLLParam(inst, SI5351_PLL_B, SI5351_OUTPUT_1);
cm_setCLKControl(inst->si5351_dev,SI5351_OUTPUT_1,SI5351_CLK_POWER_UP);
inst->pll_param_ptr = NULL;
}
void cqm6xx_app_statemachine(storno_xtal_app_t *inst){ void cqm6xx_app_statemachine(storno_xtal_app_t *inst){
// Check Struct // Check Struct
@@ -59,22 +102,11 @@ void cqm6xx_app_statemachine(storno_xtal_app_t *inst){
switch (inst->state_next) switch (inst->state_next)
{ {
case STORNO_APP_PROGRAM_OSC: case STORNO_APP_PROGRAM_OSC:
// Program PLL values here: // Read PLL parameters from EEPROM and Program PLL values here:
inst->state_now = inst->state_next; inst->state_now = inst->state_next;
_delay_ms(1);
cm_setInputSource(inst->si5351_dev, SI5351_CLK_SOURCE_XTAL); //cqm6xx_app_loadPLLParam(inst);
_delay_ms(1);
cm_setPllParamRaw(inst->si5351_dev,SI5351_PLL_A, 3395, 11510, 1067099);
_delay_ms(1);
cm_setPllParamRaw(inst->si5351_dev,SI5351_PLL_B, 3272, 16130, 1067200);
_delay_ms(1);
cm_setOutputMultiSynth(inst->si5351_dev,SI5351_OUTPUT_0, 18, 0, 1);
_delay_ms(1);
cm_setOutputMultiSynth(inst->si5351_dev,SI5351_OUTPUT_1, 64, 0, 1);
_delay_ms(1);
cm_setCLKControl(inst->si5351_dev,SI5351_OUTPUT_0,SI5351_CLK_POWER_UP);
_delay_ms(1);
cm_setCLKControl(inst->si5351_dev,SI5351_OUTPUT_1,SI5351_CLK_POWER_UP);
// if ok, then go to RX mode: // if ok, then go to RX mode:
inst->state_next = STORNO_APP_RX_MODE; inst->state_next = STORNO_APP_RX_MODE;
@@ -116,6 +148,39 @@ void cqm6xx_app_statemachine(storno_xtal_app_t *inst){
} }
void programPLL_Parameters(storno_xtal_app_t *inst){
//Burn settings into eeprom here:
switch(inst->pll_param_ptr->PLL_Ident){
case MSG_PLLA_PARAM:
//cm_EEPROM_write(PLLA_SETTINGS_EEPROM_ADDR,(uint8_t*)(inst->pll_param_ptr), sizeof(storno_pll_param_msg));
break;
case MSG_PLLB_PARAM:
//cm_EEPROM_write(PLLB_SETTINGS_EEPROM_ADDR,(uint8_t*)(inst->pll_param_ptr), sizeof(storno_pll_param_msg));
break;
}
// Send status back maybe..
//Force state machine to load new settings from eeprom:
inst->state_next = STORNO_APP_PROGRAM_OSC;
}
int uart_rx_event(storno_xtal_app_t *inst, void *rxData){
inst->pll_param_ptr = rxData;
programPLL_Parameters(inst);
return 0;
}
void cqm6xx_app_init(storno_xtal_app_t *inst, void *si5351_dev){ void cqm6xx_app_init(storno_xtal_app_t *inst, void *si5351_dev){
if(si5351_dev == NULL) return; if(si5351_dev == NULL) return;
@@ -126,5 +191,8 @@ void cqm6xx_app_init(storno_xtal_app_t *inst, void *si5351_dev){
inst->si5351_dev = si5351_dev; inst->si5351_dev = si5351_dev;
//cm_uart_init(inst,(get_UART_Event_fpt)uart_rx_event);
cm_MsgCompleteEvt_Register(inst,(Get_msgComplete_Event_fpt)uart_rx_event);
cm_uart_init(inst,(get_UART_Event_fpt)cm_msg_DecodeMsg_Byte);
} }

View File

@@ -12,7 +12,11 @@
#include "stdio.h" #include "stdio.h"
#include "stdint.h" #include "stdint.h"
enum{
MSG_PLLA_PARAM = 0,
MSG_PLLB_PARAM = 1,
};
typedef struct { typedef struct {
@@ -36,8 +40,7 @@ typedef enum {
STORNO_APP_PROGRAM_OSC = 0, STORNO_APP_PROGRAM_OSC = 0,
STORNO_APP_RX_MODE = 1, STORNO_APP_RX_MODE = 1,
STORNO_APP_TX_MODE = 2, STORNO_APP_TX_MODE = 2,
STORNO_APP_PROGRAM_MODE = 3, STORNO_APP_RST_TO_BOOTLOADER = 5,
STORNO_APP_RST_TO_BOOTLOADER = 4,
}storno_app_states; }storno_app_states;
@@ -47,6 +50,7 @@ typedef struct {
storno_app_states state_next; storno_app_states state_next;
void *si5351_dev; void *si5351_dev;
storno_pll_param_msg *pll_param_ptr;

View File

@@ -13,10 +13,13 @@
#include "cqm6xx_app.h" #include "cqm6xx_app.h"
storno_xtal_app_t storno_xtal_app; storno_xtal_app_t storno_xtal_app;
uint8_t received_data = 0;
void uart_test(uint8_t data){
if(data == 'O'){
return;
}
}
int main(void) int main(void)
{ {
@@ -35,35 +38,43 @@ int main(void)
cqm6xx_app_init(&storno_xtal_app, &si5351_dev); cqm6xx_app_init(&storno_xtal_app, &si5351_dev);
cm_uart_init();
cm_uart_send('r');
cm_uart_send('r');
cm_uart_send('\n');
cm_uart_send('\r');
/* cm_setInputSource(&si5351_dev, SI5351_CLK_SOURCE_XTAL);
cm_setPllParamRaw(&si5351_dev,SI5351_PLL_A, 3395, 11510, 1067099);
cm_setPllParamRaw(&si5351_dev,SI5351_PLL_B, 3272, 16130, 1067200);
//cm_setOutputMultiSynth(&si5351_dev,SI5351_OUTPUT_0, 18, 0, 1);
cm_setOutputMultiSynth(&si5351_dev,SI5351_OUTPUT_1, 64, 0, 1);
//cm_setCLKControl(&si5351_dev,SI5351_OUTPUT_0,SI5351_CLK_POWER_UP);
cm_setCLKControl(&si5351_dev,SI5351_OUTPUT_1,SI5351_CLK_POWER_UP);
cm_setOutputEnable(&si5351_dev,SI5351_OUTPUT_1,SI5351_OUTPUT_ENABLE); // TX
*/
while (1) while (1)
{ {
cqm6xx_app_statemachine(&storno_xtal_app); //cqm6xx_app_statemachine(&storno_xtal_app);
_delay_ms(100); _delay_ms(100);
} }
} }
/*
storno_pll_param_msg StockPLLParam[2] = {
{
.PLL_Ident = 0,
.MSNx_P1 = 3395,
.MSNx_P2 = 11510,
.MSNx_P3 = 1067099,
.MSx_P1 = 18,
.MSx_P2 = 0,
.MSx_P3 = 1,
},
{
.PLL_Ident = 0,
.MSNx_P1 = 3395,
.MSNx_P2 = 11510,
.MSNx_P3 = 1067099,
.MSx_P1 = 18,
.MSx_P2 = 0,
.MSx_P3 = 1,
}
};*/

View File

@@ -103,50 +103,56 @@
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings> <ToolchainSettings>
<AvrGcc> <AvrGcc>
<avrgcc.common.Device>-mmcu=attiny402 -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402"</avrgcc.common.Device> <avrgcc.common.Device>-mmcu=attiny402 -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402"</avrgcc.common.Device>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols> <avrgcc.compiler.symbols.DefSymbols>
<ListValues> <ListValues>
<Value>DEBUG</Value> <Value>DEBUG</Value>
</ListValues> </ListValues>
</avrgcc.compiler.symbols.DefSymbols> </avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths> <avrgcc.compiler.directories.IncludePaths>
<ListValues> <ListValues>
<Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\</Value> <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\</Value>
</ListValues> </ListValues>
</avrgcc.compiler.directories.IncludePaths> </avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize debugging experience (-Og)</avrgcc.compiler.optimization.level> <avrgcc.compiler.optimization.level>Optimize debugging experience (-Og)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcc.linker.libraries.Libraries> <avrgcc.linker.libraries.Libraries>
<ListValues> <ListValues>
<Value>libm</Value> <Value>libm</Value>
</ListValues> </ListValues>
</avrgcc.linker.libraries.Libraries> </avrgcc.linker.libraries.Libraries>
<avrgcc.linker.libraries.LibrarySearchPaths> <avrgcc.linker.libraries.LibrarySearchPaths>
<ListValues> <ListValues>
<Value>D:\cm_projects\microchip_studio_projects\storno_cqp6xx_digital_xtal\storno_cqp6xx_digital_xtal\si5351_driver\include</Value> <Value>D:\cm_projects\microchip_studio_projects\storno_cqp6xx_digital_xtal\storno_cqp6xx_digital_xtal\si5351_driver\include</Value>
<Value>../avr_uart_driver</Value> <Value>../avr_uart_driver</Value>
</ListValues> </ListValues>
</avrgcc.linker.libraries.LibrarySearchPaths> </avrgcc.linker.libraries.LibrarySearchPaths>
<avrgcc.assembler.general.IncludePaths> <avrgcc.assembler.general.IncludePaths>
<ListValues> <ListValues>
<Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\</Value> <Value>%24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\</Value>
</ListValues> </ListValues>
</avrgcc.assembler.general.IncludePaths> </avrgcc.assembler.general.IncludePaths>
<avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
</AvrGcc> </AvrGcc>
</ToolchainSettings> </ToolchainSettings>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="avr_eeprom_driver\avr_eeprom_driver.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="avr_eeprom_driver\avr_eeprom_driver.h">
<SubType>compile</SubType>
</Compile>
<Compile Include="avr_global_config.h"> <Compile Include="avr_global_config.h">
<SubType>compile</SubType> <SubType>compile</SubType>
</Compile> </Compile>
@@ -194,6 +200,7 @@
</Compile> </Compile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="avr_eeprom_driver\" />
<Folder Include="avr_gpio_driver\" /> <Folder Include="avr_gpio_driver\" />
<Folder Include="avr_i2c_driver\" /> <Folder Include="avr_i2c_driver\" />
<Folder Include="avr_uart_driver\" /> <Folder Include="avr_uart_driver\" />
@@ -202,6 +209,15 @@
<Folder Include="si5351_driver\include\" /> <Folder Include="si5351_driver\include\" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="avr_eeprom_driver\.git">
<SubType>compile</SubType>
</None>
<None Include="avr_eeprom_driver\.gitignore">
<SubType>compile</SubType>
</None>
<None Include="avr_eeprom_driver\README.md">
<SubType>compile</SubType>
</None>
<None Include="avr_gpio_driver\.git"> <None Include="avr_gpio_driver\.git">
<SubType>compile</SubType> <SubType>compile</SubType>
</None> </None>