diff --git a/.gitmodules b/.gitmodules index 22343c8..89b9aed 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "storno_cqp6xx_digital_xtal/avr_i2c_driver"] path = storno_cqp6xx_digital_xtal/avr_i2c_driver url = https://OZ1CM@bitbucket.org/oz1cm/avr_i2c_driver.git +[submodule "storno_cqp6xx_digital_xtal/avr_uart_driver"] + path = storno_cqp6xx_digital_xtal/avr_uart_driver + url = https://OZ1CM@bitbucket.org/oz1cm/avr_uart_driver.git diff --git a/storno_cqp6xx_digital_xtal/Debug/Makefile b/storno_cqp6xx_digital_xtal/Debug/Makefile index 051cbf8..7162ea7 100644 --- a/storno_cqp6xx_digital_xtal/Debug/Makefile +++ b/storno_cqp6xx_digital_xtal/Debug/Makefile @@ -34,6 +34,8 @@ LINKER_SCRIPT_DEP:= # Every subdirectory with source files must be described here SUBDIRS := \ ../avr_i2c_driver/ \ +../avr_uart_driver/ \ +../avr_uart_driver/include \ ../si5351_driver/ \ ../si5351_driver/include/ @@ -41,6 +43,7 @@ SUBDIRS := \ # Add inputs and outputs from these tool invocations to the build variables C_SRCS += \ ../avr_i2c_driver/avr_i2c.c \ +../avr_uart_driver/avr_uart.c \ ../cqm6xx_app.c \ ../main.c \ ../si5351_driver/si5351_driver.c @@ -54,24 +57,28 @@ ASM_SRCS += OBJS += \ avr_i2c_driver/avr_i2c.o \ +avr_uart_driver/avr_uart.o \ cqm6xx_app.o \ main.o \ si5351_driver/si5351_driver.o OBJS_AS_ARGS += \ avr_i2c_driver/avr_i2c.o \ +avr_uart_driver/avr_uart.o \ cqm6xx_app.o \ main.o \ si5351_driver/si5351_driver.o C_DEPS += \ avr_i2c_driver/avr_i2c.d \ +avr_uart_driver/avr_uart.d \ cqm6xx_app.d \ main.d \ si5351_driver/si5351_driver.d C_DEPS_AS_ARGS += \ avr_i2c_driver/avr_i2c.d \ +avr_uart_driver/avr_uart.d \ cqm6xx_app.d \ main.d \ si5351_driver/si5351_driver.d @@ -97,6 +104,13 @@ avr_i2c_driver/avr_i2c.o: ../avr_i2c_driver/avr_i2c.c @echo Finished building: $< +avr_uart_driver/avr_uart.o: ../avr_uart_driver/avr_uart.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: $< + + ./cqm6xx_app.o: .././cqm6xx_app.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : 5.4.0 @@ -144,7 +158,7 @@ all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES) $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP) @echo Building target: $@ @echo Invoking: AVR/GNU Linker : 5.4.0 - $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="storno_cqp6xx_digital_xtal.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,-L"D:\cm_projects\microchip_studio_projects\storno_cqp6xx_digital_xtal\storno_cqp6xx_digital_xtal\si5351_driver\include" -Wl,--gc-sections -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" + $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="storno_cqp6xx_digital_xtal.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,-L"D:\cm_projects\microchip_studio_projects\storno_cqp6xx_digital_xtal\storno_cqp6xx_digital_xtal\si5351_driver\include" -Wl,-L"../avr_uart_driver" -Wl,--gc-sections -mmcu=attiny402 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" @echo Finished building target: $@ "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "storno_cqp6xx_digital_xtal.elf" "storno_cqp6xx_digital_xtal.hex" "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "storno_cqp6xx_digital_xtal.elf" "storno_cqp6xx_digital_xtal.eep" || exit 0 diff --git a/storno_cqp6xx_digital_xtal/Debug/main.d b/storno_cqp6xx_digital_xtal/Debug/main.d index b7396e1..bf66685 100644 --- a/storno_cqp6xx_digital_xtal/Debug/main.d +++ b/storno_cqp6xx_digital_xtal/Debug/main.d @@ -1,4 +1,4 @@ -main.d main.o: .././main.c \ +main.d main.o: .././main.c .././avr_global_config.h \ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ @@ -11,9 +11,10 @@ main.d main.o: .././main.c \ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.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 \ - .././storno_frq_lst.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\stddef.h + .././avr_uart_driver/include/avr_uart.h \ + .././avr_uart_driver/include/../../avr_global_config.h + +.././avr_global_config.h: c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: @@ -39,8 +40,6 @@ 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\avr\include\avr\lock.h: -.././storno_frq_lst.h: +.././avr_uart_driver/include/avr_uart.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\stddef.h: +.././avr_uart_driver/include/../../avr_global_config.h: diff --git a/storno_cqp6xx_digital_xtal/Debug/main.o b/storno_cqp6xx_digital_xtal/Debug/main.o index 2227679..8d4d990 100644 Binary files a/storno_cqp6xx_digital_xtal/Debug/main.o and b/storno_cqp6xx_digital_xtal/Debug/main.o differ diff --git a/storno_cqp6xx_digital_xtal/Debug/makedep.mk b/storno_cqp6xx_digital_xtal/Debug/makedep.mk index 6fdccac..53ea844 100644 --- a/storno_cqp6xx_digital_xtal/Debug/makedep.mk +++ b/storno_cqp6xx_digital_xtal/Debug/makedep.mk @@ -4,6 +4,8 @@ avr_i2c_driver\avr_i2c.c +avr_uart_driver\avr_uart.c + cqm6xx_app.c main.c diff --git a/storno_cqp6xx_digital_xtal/Debug/si5351_driver/si5351_driver.o b/storno_cqp6xx_digital_xtal/Debug/si5351_driver/si5351_driver.o index 9060b76..99c0e9f 100644 Binary files a/storno_cqp6xx_digital_xtal/Debug/si5351_driver/si5351_driver.o and b/storno_cqp6xx_digital_xtal/Debug/si5351_driver/si5351_driver.o differ diff --git a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.elf b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.elf index 222da9a..53635dc 100644 Binary files a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.elf and b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.elf differ diff --git a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.lss b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.lss index 4d0aa06..3185320 100644 --- a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.lss +++ b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.lss @@ -13,17 +13,17 @@ Idx Name Size VMA LMA File off Algn CONTENTS, READONLY 4 .debug_aranges 00000020 00000000 00000000 0000010c 2**0 CONTENTS, READONLY, DEBUGGING - 5 .debug_info 000012c2 00000000 00000000 0000012c 2**0 + 5 .debug_info 0000125a 00000000 00000000 0000012c 2**0 CONTENTS, READONLY, DEBUGGING - 6 .debug_abbrev 0000117a 00000000 00000000 000013ee 2**0 + 6 .debug_abbrev 00001127 00000000 00000000 00001386 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_line 000001e5 00000000 00000000 00002568 2**0 + 7 .debug_line 0000016f 00000000 00000000 000024ad 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_frame 00000024 00000000 00000000 00002750 2**2 + 8 .debug_frame 00000024 00000000 00000000 0000261c 2**2 CONTENTS, READONLY, DEBUGGING - 9 .debug_str 00000960 00000000 00000000 00002774 2**0 + 9 .debug_str 00000919 00000000 00000000 00002640 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_ranges 00000010 00000000 00000000 000030d4 2**0 + 10 .debug_ranges 00000010 00000000 00000000 00002f59 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -71,7 +71,7 @@ Disassembly of section .text: 00000046
: //#include "avr_i2c_driver/avr_i2c.h" -#include "storno_frq_lst.h" +//#include "storno_frq_lst.h" int main(void) diff --git a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.map b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.map index 04c9cbd..7d62ab2 100644 --- a/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.map +++ b/storno_cqp6xx_digital_xtal/Debug/storno_cqp6xx_digital_xtal.map @@ -49,6 +49,20 @@ Discarded input sections .debug_line 0x00000000 0x1a avr_i2c_driver/avr_i2c.o .debug_str 0x00000000 0x1af avr_i2c_driver/avr_i2c.o .comment 0x00000000 0x31 avr_i2c_driver/avr_i2c.o + .text 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 + .text.cm_uart_init + 0x00000000 0x6 avr_uart_driver/avr_uart.o + .debug_info 0x00000000 0x208 avr_uart_driver/avr_uart.o + .debug_abbrev 0x00000000 0xa2 avr_uart_driver/avr_uart.o + .debug_aranges + 0x00000000 0x20 avr_uart_driver/avr_uart.o + .debug_ranges 0x00000000 0x10 avr_uart_driver/avr_uart.o + .debug_line 0x00000000 0x114 avr_uart_driver/avr_uart.o + .debug_str 0x00000000 0x276 avr_uart_driver/avr_uart.o + .comment 0x00000000 0x31 avr_uart_driver/avr_uart.o + .debug_frame 0x00000000 0x24 avr_uart_driver/avr_uart.o .text 0x00000000 0x0 cqm6xx_app.o .data 0x00000000 0x0 cqm6xx_app.o .bss 0x00000000 0x0 cqm6xx_app.o @@ -58,8 +72,6 @@ Discarded input sections .text 0x00000000 0x0 main.o .data 0x00000000 0x0 main.o .bss 0x00000000 0x0 main.o - .rodata.storno_cqp632_lst - 0x00000000 0x1908 main.o .text 0x00000000 0x0 si5351_driver/si5351_driver.o .data 0x00000000 0x0 si5351_driver/si5351_driver.o .bss 0x00000000 0x0 si5351_driver/si5351_driver.o @@ -68,7 +80,7 @@ Discarded input sections .text.writeRegister 0x00000000 0x7e si5351_driver/si5351_driver.o .text.cm_setPLLParameters - 0x00000000 0x302 si5351_driver/si5351_driver.o + 0x00000000 0x306 si5351_driver/si5351_driver.o .text.cm_setInputSource 0x00000000 0x3c si5351_driver/si5351_driver.o .text.cm_si5351_getRevisionNumber @@ -211,6 +223,7 @@ Address of section .data set to 0x803f00 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 avr_i2c_driver/avr_i2c.o +LOAD avr_uart_driver/avr_uart.o LOAD cqm6xx_app.o LOAD main.o LOAD si5351_driver/si5351_driver.o @@ -536,30 +549,30 @@ END GROUP .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0x12c2 +.debug_info 0x00000000 0x125a *(.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 0x000011d6 0xec main.o + .debug_info 0x000011d6 0x84 main.o -.debug_abbrev 0x00000000 0x117a +.debug_abbrev 0x00000000 0x1127 *(.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 0x000010de 0x9c main.o + .debug_abbrev 0x000010de 0x49 main.o -.debug_line 0x00000000 0x1e5 +.debug_line 0x00000000 0x16f *(.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 0x00000136 0xaf main.o + .debug_line 0x00000136 0x39 main.o .debug_frame 0x00000000 0x24 *(.debug_frame) .debug_frame 0x00000000 0x24 main.o -.debug_str 0x00000000 0x960 +.debug_str 0x00000000 0x919 *(.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 0x000007a9 0x1b7 main.o - 0x1eb (size before relaxing) + .debug_str 0x000007a9 0x170 main.o + 0x1a4 (size before relaxing) .debug_loc *(.debug_loc) diff --git a/storno_cqp6xx_digital_xtal/avr_global_config.h b/storno_cqp6xx_digital_xtal/avr_global_config.h new file mode 100644 index 0000000..603de4b --- /dev/null +++ b/storno_cqp6xx_digital_xtal/avr_global_config.h @@ -0,0 +1,19 @@ +/* + * avr_global_config.h + * + * Created: 25-10-2024 17:34:24 + * Author: Christian Lind Vie Madsen - OZ1CM + */ + + +#ifndef AVR_GLOBAL_CONFIG_H_ +#define AVR_GLOBAL_CONFIG_H_ + +#define AVR_ATTINY_402 + +#define F_CPU 8000000 // Internal CPU Clock + + + + +#endif /* AVR_GLOBAL_CONFIG_H_ */ \ No newline at end of file diff --git a/storno_cqp6xx_digital_xtal/avr_uart_driver b/storno_cqp6xx_digital_xtal/avr_uart_driver new file mode 160000 index 0000000..3c304e8 --- /dev/null +++ b/storno_cqp6xx_digital_xtal/avr_uart_driver @@ -0,0 +1 @@ +Subproject commit 3c304e80ce359aee1ae1f697c9ca1b4ac87eadf8 diff --git a/storno_cqp6xx_digital_xtal/main.c b/storno_cqp6xx_digital_xtal/main.c index 081b7b3..265e9a7 100644 --- a/storno_cqp6xx_digital_xtal/main.c +++ b/storno_cqp6xx_digital_xtal/main.c @@ -4,10 +4,11 @@ * Created: 21-08-2024 20:28:13 * Author : Chris */ -#define F_CPU 16000000 +#include "avr_global_config.h" #include +#include "avr_uart_driver/include/avr_uart.h" //#include "avr_i2c_driver/avr_i2c.h" -#include "storno_frq_lst.h" +//#include "storno_frq_lst.h" int main(void) diff --git a/storno_cqp6xx_digital_xtal/si5351_driver b/storno_cqp6xx_digital_xtal/si5351_driver index ba98f5b..1d1a65c 160000 --- a/storno_cqp6xx_digital_xtal/si5351_driver +++ b/storno_cqp6xx_digital_xtal/si5351_driver @@ -1 +1 @@ -Subproject commit ba98f5b35e40249168a080ee69d14f82a595b48f +Subproject commit 1d1a65c4756deeb3959937ea407ca8fc4f0a7302 diff --git a/storno_cqp6xx_digital_xtal/storno_config_msg.h b/storno_cqp6xx_digital_xtal/storno_config_msg.h new file mode 100644 index 0000000..d00a75b --- /dev/null +++ b/storno_cqp6xx_digital_xtal/storno_config_msg.h @@ -0,0 +1,33 @@ +/* + * storno_config_msg.h + * + * Created: 25-10-2024 17:07:27 + * Author: Chris + */ + + +#ifndef STORNO_CONFIG_MSG_H_ +#define STORNO_CONFIG_MSG_H_ + +typedef struct +{ + uint8_t crystal_freq; + + // Feedback Divider: + uint32_t a_feedback_div; + uint32_t b_feedback_div; + uint32_t c_feedback_div; + + // MultiSynthDivider: + uint32_t d_multisynth_div; + + // 'R' Output Divider: + uint32_t r_output_div; + + uint8_t selected_pll; + +}si5351_config_msg_t; + + + +#endif /* STORNO_CONFIG_MSG_H_ */ \ No newline at end of file diff --git a/storno_cqp6xx_digital_xtal/storno_cqp6xx_digital_xtal.cproj b/storno_cqp6xx_digital_xtal/storno_cqp6xx_digital_xtal.cproj index 78d4fcd..71786c8 100644 --- a/storno_cqp6xx_digital_xtal/storno_cqp6xx_digital_xtal.cproj +++ b/storno_cqp6xx_digital_xtal/storno_cqp6xx_digital_xtal.cproj @@ -20,10 +20,10 @@ false true true - + 0x20000000 true - + exception_table 2 0 0 @@ -32,44 +32,44 @@ - -mmcu=attiny402 -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" - True - True - True - True - False - True - True - - - NDEBUG - - - - - %24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\ - - - Optimize for size (-Os) - True - True - True - - - libm - - - - - D:\cm_projects\microchip_studio_projects\storno_cqp6xx_digital_xtal\storno_cqp6xx_digital_xtal\si5351_driver\include - - - - - %24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\ - - - + -mmcu=attiny402 -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\gcc\dev\attiny402" + True + True + True + True + False + True + True + + + NDEBUG + + + + + %24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\ + + + Optimize for size (-Os) + True + True + True + + + libm + + + + + D:\cm_projects\microchip_studio_projects\storno_cqp6xx_digital_xtal\storno_cqp6xx_digital_xtal\si5351_driver\include + + + + + %24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\ + + + @@ -106,6 +106,7 @@ D:\cm_projects\microchip_studio_projects\storno_cqp6xx_digital_xtal\storno_cqp6xx_digital_xtal\si5351_driver\include + ../avr_uart_driver @@ -118,12 +119,21 @@ + + compile + compile compile + + compile + + + compile + compile @@ -139,12 +149,17 @@ compile + + compile + compile + + @@ -155,6 +170,12 @@ compile + + compile + + + compile + compile