From 9e7f1040f87409d352fd77ab58a942156d884115 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Sun, 6 Oct 2024 16:29:22 +0100 Subject: [PATCH] Move and delete files in readiness. --- .gitmodules | 6 - BUILD.txt | 125 ------ MMDVM.ino | 207 --------- Makefile | 413 ------------------ Makefile.Arduino | 189 -------- STM32F4XX_Lib | 1 - STM32F7XX_Lib | 1 - Tools/FMGenerateFilterCoefficients.py | 46 -- Tools/emphasis.txt | 58 --- openocd.cfg | 2 - AX25Defines.h => src/AX25Defines.h | 0 .../AX25Demodulator.cpp | 0 AX25Demodulator.h => src/AX25Demodulator.h | 0 AX25Frame.cpp => src/AX25Frame.cpp | 0 AX25Frame.h => src/AX25Frame.h | 0 AX25RX.cpp => src/AX25RX.cpp | 0 AX25RX.h => src/AX25RX.h | 0 AX25TX.cpp => src/AX25TX.cpp | 0 AX25TX.h => src/AX25TX.h | 0 AX25Twist.cpp => src/AX25Twist.cpp | 0 AX25Twist.h => src/AX25Twist.h | 0 CWIdTX.cpp => src/CWIdTX.cpp | 0 CWIdTX.h => src/CWIdTX.h | 0 CalDMR.cpp => src/CalDMR.cpp | 0 CalDMR.h => src/CalDMR.h | 0 CalDStarRX.cpp => src/CalDStarRX.cpp | 0 CalDStarRX.h => src/CalDStarRX.h | 0 CalDStarTX.cpp => src/CalDStarTX.cpp | 0 CalDStarTX.h => src/CalDStarTX.h | 0 CalFM.cpp => src/CalFM.cpp | 0 CalFM.h => src/CalFM.h | 0 CalM17.cpp => src/CalM17.cpp | 0 CalM17.h => src/CalM17.h | 0 CalNXDN.cpp => src/CalNXDN.cpp | 0 CalNXDN.h => src/CalNXDN.h | 0 CalP25.cpp => src/CalP25.cpp | 0 CalP25.h => src/CalP25.h | 0 CalPOCSAG.cpp => src/CalPOCSAG.cpp | 0 CalPOCSAG.h => src/CalPOCSAG.h | 0 CalRSSI.cpp => src/CalRSSI.cpp | 0 CalRSSI.h => src/CalRSSI.h | 0 Config.h => src/Config.h | 0 DMRDMORX.cpp => src/DMRDMORX.cpp | 0 DMRDMORX.h => src/DMRDMORX.h | 0 DMRDMOTX.cpp => src/DMRDMOTX.cpp | 0 DMRDMOTX.h => src/DMRDMOTX.h | 0 DMRDefines.h => src/DMRDefines.h | 0 DMRIdleRX.cpp => src/DMRIdleRX.cpp | 0 DMRIdleRX.h => src/DMRIdleRX.h | 0 DMRRX.cpp => src/DMRRX.cpp | 0 DMRRX.h => src/DMRRX.h | 0 DMRSlotRX.cpp => src/DMRSlotRX.cpp | 0 DMRSlotRX.h => src/DMRSlotRX.h | 0 DMRSlotType.cpp => src/DMRSlotType.cpp | 0 DMRSlotType.h => src/DMRSlotType.h | 0 DMRTX.cpp => src/DMRTX.cpp | 0 DMRTX.h => src/DMRTX.h | 0 DStarDefines.h => src/DStarDefines.h | 0 DStarRX.cpp => src/DStarRX.cpp | 0 DStarRX.h => src/DStarRX.h | 0 DStarTX.cpp => src/DStarTX.cpp | 0 DStarTX.h => src/DStarTX.h | 0 Debug.h => src/Debug.h | 0 FM.cpp => src/FM.cpp | 0 FM.h => src/FM.h | 0 FMBlanking.cpp => src/FMBlanking.cpp | 0 FMBlanking.h => src/FMBlanking.h | 0 FMCTCSSRX.cpp => src/FMCTCSSRX.cpp | 0 FMCTCSSRX.h => src/FMCTCSSRX.h | 0 FMCTCSSTX.cpp => src/FMCTCSSTX.cpp | 0 FMCTCSSTX.h => src/FMCTCSSTX.h | 0 FMDirectForm1.h => src/FMDirectForm1.h | 0 FMDownSampler.cpp => src/FMDownSampler.cpp | 0 FMDownSampler.h => src/FMDownSampler.h | 0 FMKeyer.cpp => src/FMKeyer.cpp | 0 FMKeyer.h => src/FMKeyer.h | 0 FMNoiseSquelch.cpp => src/FMNoiseSquelch.cpp | 0 FMNoiseSquelch.h => src/FMNoiseSquelch.h | 0 FMSamplePairPack.h => src/FMSamplePairPack.h | 0 FMTimeout.cpp => src/FMTimeout.cpp | 0 FMTimeout.h => src/FMTimeout.h | 0 FMTimer.cpp => src/FMTimer.cpp | 0 FMTimer.h => src/FMTimer.h | 0 FMUpSampler.cpp => src/FMUpSampler.cpp | 0 FMUpSampler.h => src/FMUpSampler.h | 0 Globals.h => src/Globals.h | 0 IO.cpp => src/IO.cpp | 0 IO.h => src/IO.h | 0 IODue.cpp => src/IODue.cpp | 0 IOPins.h => src/IOPins.h | 0 IOSTM.cpp => src/IOSTM.cpp | 0 IOTeensy.cpp => src/IOTeensy.cpp | 0 M17Defines.h => src/M17Defines.h | 0 M17RX.cpp => src/M17RX.cpp | 0 M17RX.h => src/M17RX.h | 0 M17TX.cpp => src/M17TX.cpp | 0 M17TX.h => src/M17TX.h | 0 MMDVM.cpp => src/MMDVM.cpp | 0 NXDNDefines.h => src/NXDNDefines.h | 0 NXDNRX.cpp => src/NXDNRX.cpp | 0 NXDNRX.h => src/NXDNRX.h | 0 NXDNTX.cpp => src/NXDNTX.cpp | 0 NXDNTX.h => src/NXDNTX.h | 0 P25Defines.h => src/P25Defines.h | 0 P25RX.cpp => src/P25RX.cpp | 0 P25RX.h => src/P25RX.h | 0 P25TX.cpp => src/P25TX.cpp | 0 P25TX.h => src/P25TX.h | 0 POCSAGTX.cpp => src/POCSAGTX.cpp | 0 POCSAGTX.h => src/POCSAGTX.h | 0 RingBuffer.h => src/RingBuffer.h | 0 RingBuffer.impl.h => src/RingBuffer.impl.h | 0 STM32Utils.h => src/STM32Utils.h | 0 STMUART.cpp => src/STMUART.cpp | 0 STMUART.h => src/STMUART.h | 0 SerialArduino.cpp => src/SerialArduino.cpp | 0 SerialPort.cpp => src/SerialPort.cpp | 0 SerialPort.h => src/SerialPort.h | 0 SerialSTM.cpp => src/SerialSTM.cpp | 0 SerialTeensy.cpp => src/SerialTeensy.cpp | 0 Utils.cpp => src/Utils.cpp | 0 Utils.h => src/Utils.h | 0 Version.h => src/Version.h | 0 YSFDefines.h => src/YSFDefines.h | 0 YSFRX.cpp => src/YSFRX.cpp | 0 YSFRX.h => src/YSFRX.h | 0 YSFTX.cpp => src/YSFTX.cpp | 0 YSFTX.h => src/YSFTX.h | 0 {pins => src/pins}/pins_f4_discovery.h | 0 {pins => src/pins}/pins_f4_drcc_hhp446.h | 0 {pins => src/pins}/pins_f4_drcc_nqf.h | 0 {pins => src/pins}/pins_f4_f4m.h | 0 {pins => src/pins}/pins_f4_nucleo_arduino.h | 0 {pins => src/pins}/pins_f4_nucleo_morpho.h | 0 {pins => src/pins}/pins_f4_pi.h | 0 {pins => src/pins}/pins_f4_rpt_tgo.h | 0 {pins => src/pins}/pins_f4_stm32dvm_v3.h | 0 {pins => src/pins}/pins_f4_stm32eda.h | 0 {pins => src/pins}/pins_f7_f7m.h | 0 {pins => src/pins}/pins_f7_nucleo.h | 0 {pins => src/pins}/pins_f7_pi.h | 0 {pins => src/pins}/pins_f7_rpt_hat.h | 0 {pins => src/pins}/pins_f7_stm32dvm_v5.h | 0 stm32f4xx_link.ld | 138 ------ stm32f722_link.ld | 137 ------ stm32f767_link.ld | 137 ------ 146 files changed, 1460 deletions(-) delete mode 100644 BUILD.txt delete mode 100644 MMDVM.ino delete mode 100644 Makefile delete mode 100644 Makefile.Arduino delete mode 160000 STM32F4XX_Lib delete mode 160000 STM32F7XX_Lib delete mode 100644 Tools/FMGenerateFilterCoefficients.py delete mode 100644 Tools/emphasis.txt delete mode 100644 openocd.cfg rename AX25Defines.h => src/AX25Defines.h (100%) rename AX25Demodulator.cpp => src/AX25Demodulator.cpp (100%) rename AX25Demodulator.h => src/AX25Demodulator.h (100%) rename AX25Frame.cpp => src/AX25Frame.cpp (100%) rename AX25Frame.h => src/AX25Frame.h (100%) rename AX25RX.cpp => src/AX25RX.cpp (100%) rename AX25RX.h => src/AX25RX.h (100%) rename AX25TX.cpp => src/AX25TX.cpp (100%) rename AX25TX.h => src/AX25TX.h (100%) rename AX25Twist.cpp => src/AX25Twist.cpp (100%) rename AX25Twist.h => src/AX25Twist.h (100%) rename CWIdTX.cpp => src/CWIdTX.cpp (100%) rename CWIdTX.h => src/CWIdTX.h (100%) rename CalDMR.cpp => src/CalDMR.cpp (100%) rename CalDMR.h => src/CalDMR.h (100%) rename CalDStarRX.cpp => src/CalDStarRX.cpp (100%) rename CalDStarRX.h => src/CalDStarRX.h (100%) rename CalDStarTX.cpp => src/CalDStarTX.cpp (100%) rename CalDStarTX.h => src/CalDStarTX.h (100%) rename CalFM.cpp => src/CalFM.cpp (100%) rename CalFM.h => src/CalFM.h (100%) rename CalM17.cpp => src/CalM17.cpp (100%) rename CalM17.h => src/CalM17.h (100%) rename CalNXDN.cpp => src/CalNXDN.cpp (100%) rename CalNXDN.h => src/CalNXDN.h (100%) rename CalP25.cpp => src/CalP25.cpp (100%) rename CalP25.h => src/CalP25.h (100%) rename CalPOCSAG.cpp => src/CalPOCSAG.cpp (100%) rename CalPOCSAG.h => src/CalPOCSAG.h (100%) rename CalRSSI.cpp => src/CalRSSI.cpp (100%) rename CalRSSI.h => src/CalRSSI.h (100%) rename Config.h => src/Config.h (100%) rename DMRDMORX.cpp => src/DMRDMORX.cpp (100%) rename DMRDMORX.h => src/DMRDMORX.h (100%) rename DMRDMOTX.cpp => src/DMRDMOTX.cpp (100%) rename DMRDMOTX.h => src/DMRDMOTX.h (100%) rename DMRDefines.h => src/DMRDefines.h (100%) rename DMRIdleRX.cpp => src/DMRIdleRX.cpp (100%) rename DMRIdleRX.h => src/DMRIdleRX.h (100%) rename DMRRX.cpp => src/DMRRX.cpp (100%) rename DMRRX.h => src/DMRRX.h (100%) rename DMRSlotRX.cpp => src/DMRSlotRX.cpp (100%) rename DMRSlotRX.h => src/DMRSlotRX.h (100%) rename DMRSlotType.cpp => src/DMRSlotType.cpp (100%) rename DMRSlotType.h => src/DMRSlotType.h (100%) rename DMRTX.cpp => src/DMRTX.cpp (100%) rename DMRTX.h => src/DMRTX.h (100%) rename DStarDefines.h => src/DStarDefines.h (100%) rename DStarRX.cpp => src/DStarRX.cpp (100%) rename DStarRX.h => src/DStarRX.h (100%) rename DStarTX.cpp => src/DStarTX.cpp (100%) rename DStarTX.h => src/DStarTX.h (100%) rename Debug.h => src/Debug.h (100%) rename FM.cpp => src/FM.cpp (100%) rename FM.h => src/FM.h (100%) rename FMBlanking.cpp => src/FMBlanking.cpp (100%) rename FMBlanking.h => src/FMBlanking.h (100%) rename FMCTCSSRX.cpp => src/FMCTCSSRX.cpp (100%) rename FMCTCSSRX.h => src/FMCTCSSRX.h (100%) rename FMCTCSSTX.cpp => src/FMCTCSSTX.cpp (100%) rename FMCTCSSTX.h => src/FMCTCSSTX.h (100%) rename FMDirectForm1.h => src/FMDirectForm1.h (100%) rename FMDownSampler.cpp => src/FMDownSampler.cpp (100%) rename FMDownSampler.h => src/FMDownSampler.h (100%) rename FMKeyer.cpp => src/FMKeyer.cpp (100%) rename FMKeyer.h => src/FMKeyer.h (100%) rename FMNoiseSquelch.cpp => src/FMNoiseSquelch.cpp (100%) rename FMNoiseSquelch.h => src/FMNoiseSquelch.h (100%) rename FMSamplePairPack.h => src/FMSamplePairPack.h (100%) rename FMTimeout.cpp => src/FMTimeout.cpp (100%) rename FMTimeout.h => src/FMTimeout.h (100%) rename FMTimer.cpp => src/FMTimer.cpp (100%) rename FMTimer.h => src/FMTimer.h (100%) rename FMUpSampler.cpp => src/FMUpSampler.cpp (100%) rename FMUpSampler.h => src/FMUpSampler.h (100%) rename Globals.h => src/Globals.h (100%) rename IO.cpp => src/IO.cpp (100%) rename IO.h => src/IO.h (100%) rename IODue.cpp => src/IODue.cpp (100%) rename IOPins.h => src/IOPins.h (100%) rename IOSTM.cpp => src/IOSTM.cpp (100%) rename IOTeensy.cpp => src/IOTeensy.cpp (100%) rename M17Defines.h => src/M17Defines.h (100%) rename M17RX.cpp => src/M17RX.cpp (100%) rename M17RX.h => src/M17RX.h (100%) rename M17TX.cpp => src/M17TX.cpp (100%) rename M17TX.h => src/M17TX.h (100%) rename MMDVM.cpp => src/MMDVM.cpp (100%) rename NXDNDefines.h => src/NXDNDefines.h (100%) rename NXDNRX.cpp => src/NXDNRX.cpp (100%) rename NXDNRX.h => src/NXDNRX.h (100%) rename NXDNTX.cpp => src/NXDNTX.cpp (100%) rename NXDNTX.h => src/NXDNTX.h (100%) rename P25Defines.h => src/P25Defines.h (100%) rename P25RX.cpp => src/P25RX.cpp (100%) rename P25RX.h => src/P25RX.h (100%) rename P25TX.cpp => src/P25TX.cpp (100%) rename P25TX.h => src/P25TX.h (100%) rename POCSAGTX.cpp => src/POCSAGTX.cpp (100%) rename POCSAGTX.h => src/POCSAGTX.h (100%) rename RingBuffer.h => src/RingBuffer.h (100%) rename RingBuffer.impl.h => src/RingBuffer.impl.h (100%) rename STM32Utils.h => src/STM32Utils.h (100%) rename STMUART.cpp => src/STMUART.cpp (100%) rename STMUART.h => src/STMUART.h (100%) rename SerialArduino.cpp => src/SerialArduino.cpp (100%) rename SerialPort.cpp => src/SerialPort.cpp (100%) rename SerialPort.h => src/SerialPort.h (100%) rename SerialSTM.cpp => src/SerialSTM.cpp (100%) rename SerialTeensy.cpp => src/SerialTeensy.cpp (100%) rename Utils.cpp => src/Utils.cpp (100%) rename Utils.h => src/Utils.h (100%) rename Version.h => src/Version.h (100%) rename YSFDefines.h => src/YSFDefines.h (100%) rename YSFRX.cpp => src/YSFRX.cpp (100%) rename YSFRX.h => src/YSFRX.h (100%) rename YSFTX.cpp => src/YSFTX.cpp (100%) rename YSFTX.h => src/YSFTX.h (100%) rename {pins => src/pins}/pins_f4_discovery.h (100%) rename {pins => src/pins}/pins_f4_drcc_hhp446.h (100%) rename {pins => src/pins}/pins_f4_drcc_nqf.h (100%) rename {pins => src/pins}/pins_f4_f4m.h (100%) rename {pins => src/pins}/pins_f4_nucleo_arduino.h (100%) rename {pins => src/pins}/pins_f4_nucleo_morpho.h (100%) rename {pins => src/pins}/pins_f4_pi.h (100%) rename {pins => src/pins}/pins_f4_rpt_tgo.h (100%) rename {pins => src/pins}/pins_f4_stm32dvm_v3.h (100%) rename {pins => src/pins}/pins_f4_stm32eda.h (100%) rename {pins => src/pins}/pins_f7_f7m.h (100%) rename {pins => src/pins}/pins_f7_nucleo.h (100%) rename {pins => src/pins}/pins_f7_pi.h (100%) rename {pins => src/pins}/pins_f7_rpt_hat.h (100%) rename {pins => src/pins}/pins_f7_stm32dvm_v5.h (100%) delete mode 100644 stm32f4xx_link.ld delete mode 100644 stm32f722_link.ld delete mode 100644 stm32f767_link.ld diff --git a/.gitmodules b/.gitmodules index 78686ee..e69de29 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +0,0 @@ -[submodule "STM32F4XX_Lib"] - path = STM32F4XX_Lib - url = https://github.com/juribeparada/STM32F4XX_Lib.git -[submodule "STM32F7XX_Lib"] - path = STM32F7XX_Lib - url = https://github.com/juribeparada/STM32F7XX_Lib.git diff --git a/BUILD.txt b/BUILD.txt deleted file mode 100644 index 17c7c15..0000000 --- a/BUILD.txt +++ /dev/null @@ -1,125 +0,0 @@ -In order to build MMDVM, you need to tell the Arduino GUI to link with the -CMSIS DSP library, which is doesn't do by default. - -My development is on Windows and so I can vouch for the following instructions. - -For Arduino 1.6.3 with SAM 1.6.4 --------------------------------- - -1. Go to the where the platform.txt file is located. On my Windows machine it's -in: - -C:\Users\Jonathan\AppData\Roaming\Arduino15\packages\arduino\hardware\sam\1.6.4 - -On Mac OS X it's located in: - -/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/sam -Or -~/Library/Arduino15/packages/arduino/hardware/sam/1.6.6 - -2. You'll need to open the file in a text editor and find the line: - -## Combine gc-sections, archives, and objects -recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group "{build.path}/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--end-group -lm -gcc - -In my version it's line 73. - -3. Modify it to read as follows: - -## Combine gc-sections, archives, and objects -recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group "{build.path}/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.system.path}/CMSIS/CMSIS/Lib/ARM/arm_cortexM3l_math.lib" "{build.path}/{archive_file}" -Wl,--end-group -lm -gcc - -The change is near the end, and is the addition of: - -"{build.system.path}/CMSIS/CMSIS/Lib/ARM/arm_cortexM3l_math.lib" - -Which is the CMSIS AMR3 DSP library for little-endian operation. - -4. Save the file and start up the Arduino GUI and build MMDVM. - -I would like to get instructions for doing the same on a Linux platform. As a -starter find the relevent platform.txt and try adding: - -"{build.system.path}/CMSIS/CMSIS/Lib/ARM/libarm_cortexM3l_math.a" - -or maybe: - -"{build.variant.path}/libarm_cortexM3l_math.a" - -Likely on Linux - -"{build.system.path}/CMSIS/CMSIS/Lib/GCC/libarm_cortexM3l_math.a" - -As with Arduino 1.6.7 with SAM 1.6.6, see below. - - -For Arduino 1.6.7 with SAM 1.6.6 --------------------------------- -(checked OK on Arduino 1.6.11 and SAM 1.6.9) - -1. Go to the where the platform.txt file is located. On my Windows machine it's -in: - -C:\Users\Jonathan\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.6 - -On Mac OS X it's located in: - -/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/sam - -On Linux, it's located in my home directory, downloaded and extracted from Arduino website, but must be installed. - -/home/m1geo/arduino-1.6.7/hardware/arduino/sam - -or - -/home/m1geo/.arduino15/packages/arduino/hardware/sam/1.6.9 (if you let the board/library manager install SAM) - - -I (M1GEO) found it was necessary to download SAM-1.6.6 outside of the Arduino IDE, and manually extract the files. - The Board Manager didn't seem to install the SAM files correctly. Here's how I did it: - - a) wget http://downloads.arduino.cc/cores/sam-1.6.6.tar.bz2 -O /tmp/sam-1.6.6.tar.bz2 (download and save in /tmp) - b) cd arduino-1.6.7/hardware/arduino/ (Arduino root, here, in my home directory) - c) tar xvfj /tmp/sam-1.6.6.tar.bz2 - -2. You'll need to open the file (platform.txt) in a text editor and find the line: - -## Combine gc-sections, archives, and objects -recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" -mcpu={build.mcu} -mthumb {compiler.c.elf.flags} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--start-group "{build.path}/core/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--end-group -lm -gcc - -In my version it's line 73. - -3. Modify it to read as follows: - -## Combine gc-sections, archives, and objects -recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" -mcpu={build.mcu} -mthumb {compiler.c.elf.flags} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--start-group "{build.path}/core/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.system.path}/CMSIS/CMSIS/Lib/ARM/arm_cortexM3l_math.lib" "{build.path}/{archive_file}" -Wl,--end-group -lm -gcc - -The change is near the end, and is the addition of: - -"{build.system.path}/CMSIS/CMSIS/Lib/ARM/arm_cortexM3l_math.lib" - -On Linux, the path was found to differ slightly (GCC instead of ARM): - -"{build.system.path}/CMSIS/CMSIS/Lib/GCC/libarm_cortexM3l_math.a" - -Which is the CMSIS AMR3 DSP library for little-endian operation. - -4. Save the file and start up the Arduino GUI and build MMDVM. - -For Arduino 1.6.9 with SAM 1.6.8 --------------------------------- - -1. Locate platform.txt. On Ubuntu 14.04 LTS x86_64 OS it is in: - -/home/$user/.arduino15/packages/arduino/hardware/sam/1.6.8/ - -2. Open the file in a text editor and change the line: - -## Combine gc-sections, archives, and objects -recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" -mcpu={build.mcu} -mthumb {compiler.c.elf.flags} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--start-group {compiler.combine.flags} {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--end-group -lm -gcc - -to - -recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" -mcpu={build.mcu} -mthumb {compiler.c.elf.flags} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--start-group {compiler.combine.flags} {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.system.path}/CMSIS/CMSIS/Lib/GCC/libarm_cortexM3l_math.a" "{build.path}/{archive_file}" -Wl,--end-group -lm -gcc - -3. Save the file, open the Arduino IDE and build MMDVM diff --git a/MMDVM.ino b/MMDVM.ino deleted file mode 100644 index b8754a3..0000000 --- a/MMDVM.ino +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Copyright (C) 2015,2016,2017,2018,2020,2021 by Jonathan Naylor G4KLX - * Copyright (C) 2016 by Colin Durbridge G4EML - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#include "Config.h" -#include "Globals.h" - -// Global variables -MMDVM_STATE m_modemState = STATE_IDLE; - -bool m_dstarEnable = true; -bool m_dmrEnable = true; -bool m_ysfEnable = true; -bool m_p25Enable = true; -bool m_nxdnEnable = true; -bool m_m17Enable = true; -bool m_pocsagEnable = true; -bool m_fmEnable = true; -bool m_ax25Enable = true; - -bool m_duplex = true; - -bool m_tx = false; -bool m_dcd = false; - -#if defined(MODE_DSTAR) -CDStarRX dstarRX; -CDStarTX dstarTX; - -CCalDStarRX calDStarRX; -CCalDStarTX calDStarTX; -#endif - -#if defined(MODE_DMR) -CDMRIdleRX dmrIdleRX; -CDMRRX dmrRX; -CDMRTX dmrTX; - -CDMRDMORX dmrDMORX; -CDMRDMOTX dmrDMOTX; - -CCalDMR calDMR; -#endif - -#if defined(MODE_YSF) -CYSFRX ysfRX; -CYSFTX ysfTX; -#endif - -#if defined(MODE_P25) -CP25RX p25RX; -CP25TX p25TX; - -CCalP25 calP25; -#endif - -#if defined(MODE_NXDN) -CNXDNRX nxdnRX; -CNXDNTX nxdnTX; - -CCalNXDN calNXDN; -#endif - -#if defined(MODE_M17) -CM17RX m17RX; -CM17TX m17TX; - -CCalM17 calM17; -#endif - -#if defined(MODE_POCSAG) -CPOCSAGTX pocsagTX; -CCalPOCSAG calPOCSAG; -#endif - -#if defined(MODE_FM) -CFM fm; -CCalFM calFM; -#endif - -#if defined(MODE_AX25) -CAX25RX ax25RX; -CAX25TX ax25TX; -#endif - -CCalRSSI calRSSI; - -CCWIdTX cwIdTX; - -CSerialPort serial; -CIO io; - -void setup() -{ - serial.start(); -} - -void loop() -{ - serial.process(); - - io.process(); - - // The following is for transmitting -#if defined(MODE_DSTAR) - if (m_dstarEnable && m_modemState == STATE_DSTAR) - dstarTX.process(); -#endif - -#if defined(MODE_DMR) - if (m_dmrEnable && m_modemState == STATE_DMR) { - if (m_duplex) - dmrTX.process(); - else - dmrDMOTX.process(); - } -#endif - -#if defined(MODE_YSF) - if (m_ysfEnable && m_modemState == STATE_YSF) - ysfTX.process(); -#endif - -#if defined(MODE_P25) - if (m_p25Enable && m_modemState == STATE_P25) - p25TX.process(); -#endif - -#if defined(MODE_NXDN) - if (m_nxdnEnable && m_modemState == STATE_NXDN) - nxdnTX.process(); -#endif - -#if defined(MODE_M17) - if (m_m17Enable && m_modemState == STATE_M17) - m17TX.process(); -#endif - -#if defined(MODE_POCSAG) - if (m_pocsagEnable && (m_modemState == STATE_POCSAG || pocsagTX.busy())) - pocsagTX.process(); -#endif - -#if defined(MODE_AX25) - if (m_ax25Enable && (m_modemState == STATE_IDLE || m_modemState == STATE_FM)) - ax25TX.process(); -#endif - -#if defined(MODE_FM) - if (m_fmEnable && m_modemState == STATE_FM) - fm.process(); -#endif - -#if defined(MODE_DSTAR) - if (m_modemState == STATE_DSTARCAL) - calDStarTX.process(); -#endif - -#if defined(MODE_DMR) - if (m_modemState == STATE_DMRCAL || m_modemState == STATE_LFCAL || m_modemState == STATE_DMRCAL1K || m_modemState == STATE_DMRDMO1K) - calDMR.process(); -#endif - -#if defined(MODE_FM) - if (m_modemState == STATE_FMCAL10K || m_modemState == STATE_FMCAL12K || m_modemState == STATE_FMCAL15K || m_modemState == STATE_FMCAL20K || m_modemState == STATE_FMCAL25K || m_modemState == STATE_FMCAL30K) - calFM.process(); -#endif - -#if defined(MODE_P25) - if (m_modemState == STATE_P25CAL1K) - calP25.process(); -#endif - -#if defined(MODE_NXDN) - if (m_modemState == STATE_NXDNCAL1K) - calNXDN.process(); -#endif - -#if defined(MODE_M17) - if (m_modemState == STATE_M17CAL) - calM17.process(); -#endif - -#if defined(MODE_POCSAG) - if (m_modemState == STATE_POCSAGCAL) - calPOCSAG.process(); -#endif - - if (m_modemState == STATE_IDLE) - cwIdTX.process(); -} - diff --git a/Makefile b/Makefile deleted file mode 100644 index 230af0c..0000000 --- a/Makefile +++ /dev/null @@ -1,413 +0,0 @@ -# Copyright (C) 2016,2017,2018 by Andy Uribe CA6JAU -# Copyright (C) 2016 by Jim McLaughlin KI6ZUM - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -# MMDVM source files -MMDVM_PATH=. - -# STM32 library paths -F4_LIB_PATH=./STM32F4XX_Lib -F7_LIB_PATH=./STM32F7XX_Lib - -# MCU external clock frequency (Hz) -CLK_MMDVM_PI=12000000 -CLK_NUCLEO=8000000 -CLK_12MHZ=12000000 - -# Directory Structure -BINDIR=bin -OBJDIR_F4=obj_f4 -OBJDIR_F7=obj_f7 - -# Output files -BINELF_F4=mmdvm_f4.elf -BINHEX_F4=mmdvm_f4.hex -BINBIN_F4=mmdvm_f4.bin -BINELF_F7=mmdvm_f7.elf -BINHEX_F7=mmdvm_f7.hex -BINBIN_F7=mmdvm_f7.bin - -# Header directories -INC_F4= . $(F4_LIB_PATH)/CMSIS/Include/ $(F4_LIB_PATH)/Device/ $(F4_LIB_PATH)/STM32F4xx_StdPeriph_Driver/include/ -INCLUDES_F4=$(INC_F4:%=-I%) -INC_F7= . $(F7_LIB_PATH)/CMSIS/Include/ $(F7_LIB_PATH)/Device/ $(F7_LIB_PATH)/STM32F7xx_StdPeriph_Driver/inc/ -INCLUDES_F7=$(INC_F7:%=-I%) - -# CMSIS libraries -INCLUDES_LIBS_F4=$(F4_LIB_PATH)/CMSIS/Lib/GCC/libarm_cortexM4lf_math.a -INCLUDES_LIBS_F7=$(F7_LIB_PATH)/CMSIS/Lib/GCC/libarm_cortexM7lfsp_math.a - -# STM32F4 Standard Peripheral Libraries source path -STD_LIB_F4=$(F4_LIB_PATH)/STM32F4xx_StdPeriph_Driver/source - -# STM32F7 Standard Peripheral Libraries source path -STD_LIB_F7=$(F7_LIB_PATH)/STM32F7xx_StdPeriph_Driver/src - -# STM32F4 system source path -SYS_DIR_F4=$(F4_LIB_PATH)/Device -STARTUP_DIR_F4=$(F4_LIB_PATH)/Device/startup - -# STM32F7 system source path -SYS_DIR_F7=$(F7_LIB_PATH)/Device -STARTUP_DIR_F7=$(F7_LIB_PATH)/Device/startup - -# GNU ARM Embedded Toolchain -CC=arm-none-eabi-gcc -CXX=arm-none-eabi-g++ -LD=arm-none-eabi-ld -AR=arm-none-eabi-ar -AS=arm-none-eabi-as -CP=arm-none-eabi-objcopy -OD=arm-none-eabi-objdump -NM=arm-none-eabi-nm -SIZE=arm-none-eabi-size -A2L=arm-none-eabi-addr2line - -# "SystemRoot" is only defined in Windows -ifdef SYSTEMROOT - CLEANCMD=del /S *.o *.hex *.bin *.elf GitVersion.h - MDDIRS=md $@ -else ifdef SystemRoot - CLEANCMD=del /S *.o *.hex *.bin *.elf GitVersion.h - MDDIRS=md $@ -else - CLEANCMD=rm -f $(OBJ_F4) $(OBJ_F7) $(BINDIR)/*.hex $(BINDIR)/*.bin $(BINDIR)/*.elf GitVersion.h - MDDIRS=mkdir $@ -endif - -# Default reference oscillator frequencies -ifndef $(OSC) - ifeq ($(MAKECMDGOALS),pi) - OSC=$(CLK_MMDVM_PI) - else ifeq ($(MAKECMDGOALS),pi-f722) - OSC=$(CLK_MMDVM_PI) - else ifeq ($(MAKECMDGOALS),drcc_nqf) - OSC=$(CLK_12MHZ) - else - OSC=$(CLK_NUCLEO) - endif -endif - -# Build object lists -CXXSRC=$(wildcard $(MMDVM_PATH)/*.cpp) -CSRC_STD_F4=$(wildcard $(STD_LIB_F4)/*.c) -SYS_F4=$(wildcard $(SYS_DIR_F4)/*.c) -STARTUP_F4=$(wildcard $(STARTUP_DIR_F4)/*.c) -CSRC_STD_F7=$(wildcard $(STD_LIB_F7)/*.c) -SYS_F7=$(wildcard $(SYS_DIR_F7)/*.c) -STARTUP_F7=$(wildcard $(STARTUP_DIR_F7)/*.c) -OBJ_F4=$(CXXSRC:$(MMDVM_PATH)/%.cpp=$(OBJDIR_F4)/%.o) $(CSRC_STD_F4:$(STD_LIB_F4)/%.c=$(OBJDIR_F4)/%.o) $(SYS_F4:$(SYS_DIR_F4)/%.c=$(OBJDIR_F4)/%.o) $(STARTUP_F4:$(STARTUP_DIR_F4)/%.c=$(OBJDIR_F4)/%.o) -OBJ_F7=$(CXXSRC:$(MMDVM_PATH)/%.cpp=$(OBJDIR_F7)/%.o) $(CSRC_STD_F7:$(STD_LIB_F7)/%.c=$(OBJDIR_F7)/%.o) $(SYS_F7:$(SYS_DIR_F7)/%.c=$(OBJDIR_F7)/%.o) $(STARTUP_F7:$(STARTUP_DIR_F7)/%.c=$(OBJDIR_F7)/%.o) - -# MCU flags -MCFLAGS_F4=-mcpu=cortex-m4 -mthumb -mlittle-endian -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb-interwork -MCFLAGS_F7=-mcpu=cortex-m7 -mthumb -mlittle-endian -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb-interwork - -# Compile flags -# STM32F4 Discovery board: -DEFS_DIS=-DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DSTM32F40_41xxx -DSTM32F4_DISCOVERY -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# MMDVM-Pi board: -DEFS_PI=-DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DSTM32F446xx -DSTM32F4_PI -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# MMDVM-F4M F0DEI board: -DEFS_F4M=-DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DSTM32F446xx -DSTM32F4_F4M -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# STM32F4 Nucleo-64 F446RE board: -DEFS_NUCLEO=-DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DSTM32F446xx -DSTM32F4_NUCLEO -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# STM32F7 Nucleo-144 F767ZI board: -DEFS_NUCLEO_F767=-DUSE_HAL_DRIVER -DSTM32F767xx -DSTM32F7XX -DSTM32F7_NUCLEO -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# MMDVM-Pi F722 board: -DEFS_PI_F722=-DUSE_HAL_DRIVER -DSTM32F722xx -DSTM32F7XX -DSTM32F722_PI -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# MMDVM-F7M F0DEI board: -DEFS_F7M=-DUSE_HAL_DRIVER -DSTM32F722xx -DSTM32F7XX -DSTM32F722_F7M -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# MMDVM_RPT_Hat F0DEI, DB9MAT, DF2ET board: -DEFS_RPT_HAT=-DUSE_HAL_DRIVER -DSTM32F722xx -DSTM32F7XX -DSTM32F722_RPT_HAT -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# RB STM32F4_DVM board: -DEFS_DVM=-DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DSTM32F446xx -DSTM32F4_DVM -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# RB STM32F7 DVM board: -DEFS_DVM722=-DUSE_HAL_DRIVER -DSTM32F722xx -DSTM32F7XX -DSTM32F7_DVM -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# MMDVM_RPT_Hat BG4TGO, BG5HHP board: -DEFS_RPT_HAT_TGO=-DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DSTM32F40_41xxx -DSTM32F4_RPT_HAT_TGO -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# DRCC_DVM BG7NQF board: -DEFS_DRCC_DVM=-DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DSTM32F446xx -DDRCC_DVM -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# WA0EDA F405 MTR2K, MASTR3 board: -DEFS_EDA_405=-DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DSTM32F40_41xxx -DSTM32F4_EDA_405 -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE -# WA0EDA F446 MTR2K, MASTR3 board: -DEFS_EDA_446=-DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DSTM32F446xx -DSTM32F4_EDA_446 -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE - - -# Build compiler flags -CFLAGS_F4=-c $(MCFLAGS_F4) $(INCLUDES_F4) -CXXFLAGS_F4=-c $(MCFLAGS_F4) $(INCLUDES_F4) -CFLAGS_F7=-c $(MCFLAGS_F7) $(INCLUDES_F7) -CXXFLAGS_F7=-c $(MCFLAGS_F7) $(INCLUDES_F7) - -# Linker flags -LDFLAGS_F4 =-T stm32f4xx_link.ld $(MCFLAGS_F4) --specs=nosys.specs $(INCLUDES_LIBS_F4) -LDFLAGS_F767 =-T stm32f767_link.ld $(MCFLAGS_F7) --specs=nosys.specs $(INCLUDES_LIBS_F7) -LDFLAGS_F722 =-T stm32f722_link.ld $(MCFLAGS_F7) --specs=nosys.specs $(INCLUDES_LIBS_F7) - -# Common flags -CFLAGS=-Os -ffunction-sections -fdata-sections -fno-builtin -Wno-implicit -DCUSTOM_NEW -DNO_EXCEPTIONS -CXXFLAGS=-Os -fno-exceptions -ffunction-sections -fdata-sections -fno-builtin -fno-rtti -DCUSTOM_NEW -DNO_EXCEPTIONS -LDFLAGS=-Os --specs=nano.specs -Wl,-Map=bin/mmdvm.map - -# Build Rules -.PHONY: all release dis pi pi-f722 f4m nucleo f767 dvm drcc_nqf clean - -# Default target: Nucleo-64 F446RE board -all: nucleo - -pi: GitVersion.h -pi: CFLAGS+=$(CFLAGS_F4) $(DEFS_PI) -pi: CXXFLAGS+=$(CXXFLAGS_F4) $(DEFS_PI) -pi: LDFLAGS+=$(LDFLAGS_F4) -pi: release_f4 - -pi-f722: GitVersion.h -pi-f722: CFLAGS+=$(CFLAGS_F7) $(DEFS_PI_F722) -pi-f722: CXXFLAGS+=$(CXXFLAGS_F7) $(DEFS_PI_F722) -pi-f722: LDFLAGS+=$(LDFLAGS_F722) -pi-f722: release_f7 - -f4m: GitVersion.h -f4m: CFLAGS+=$(CFLAGS_F4) $(DEFS_F4M) -f4m: CXXFLAGS+=$(CXXFLAGS_F4) $(DEFS_F4M) -f4m: LDFLAGS+=$(LDFLAGS_F4) -f4m: release_f4 - -f7m: GitVersion.h -f7m: CFLAGS+=$(CFLAGS_F7) $(DEFS_F7M) -f7m: CXXFLAGS+=$(CXXFLAGS_F7) $(DEFS_F7M) -f7m: LDFLAGS+=$(LDFLAGS_F722) -f7m: release_f7 - -rpt_hat: GitVersion.h -rpt_hat: CFLAGS+=$(CFLAGS_F7) $(DEFS_RPT_HAT) -rpt_hat: CXXFLAGS+=$(CXXFLAGS_F7) $(DEFS_RPT_HAT) -rpt_hat: LDFLAGS+=$(LDFLAGS_F722) -rpt_hat: release_f7 - -rpt_hat_tgo: GitVersion.h -rpt_hat_tgo: CFLAGS+=$(CFLAGS_F4) $(DEFS_RPT_HAT_TGO) -rpt_hat_tgo: CXXFLAGS+=$(CXXFLAGS_F4) $(DEFS_RPT_HAT_TGO) -rpt_hat_tgo: LDFLAGS+=$(LDFLAGS_F4) -rpt_hat_tgo: release_f4 - -nucleo: GitVersion.h -nucleo: CFLAGS+=$(CFLAGS_F4) $(DEFS_NUCLEO) -nucleo: CXXFLAGS+=$(CXXFLAGS_F4) $(DEFS_NUCLEO) -nucleo: LDFLAGS+=$(LDFLAGS_F4) -nucleo: release_f4 - -dis: GitVersion.h -dis: CFLAGS+=$(CFLAGS_F4) $(DEFS_DIS) -dis: CXXFLAGS+=$(CXXFLAGS_F4) $(DEFS_DIS) -dis: LDFLAGS+=$(LDFLAGS_F4) -dis: release_f4 - -f767: GitVersion.h -f767: CFLAGS+=$(CFLAGS_F7) $(DEFS_NUCLEO_F767) -f767: CXXFLAGS+=$(CXXFLAGS_F7) $(DEFS_NUCLEO_F767) -f767: LDFLAGS+=$(LDFLAGS_F767) -f767: release_f7 - -dvm: GitVersion.h -dvm: CFLAGS+=$(CFLAGS_F4) $(DEFS_DVM) -DDRCC_DVM_446 -dvm: CXXFLAGS+=$(CXXFLAGS_F4) $(DEFS_DVM) -DDRCC_DVM_446 -dvm: LDFLAGS+=$(LDFLAGS_F4) -dvm: release_f4 - -dvm722: GitVersion.h -dvm722: CFLAGS+=$(CFLAGS_F7) $(DEFS_DVM722) -DDRCC_DVM_722 -dvm722: CXXFLAGS+=$(CXXFLAGS_F7) $(DEFS_DVM722) -DDRCC_DVM_722 -dvm722: LDFLAGS+=$(LDFLAGS_F722) -dvm722: release_f7 - -drcc_nqf: GitVersion.h -drcc_nqf: CFLAGS+=$(CFLAGS_F4) $(DEFS_DRCC_DVM) -DDRCC_DVM_NQF -drcc_nqf: CXXFLAGS+=$(CXXFLAGS_F4) $(DEFS_DRCC_DVM) -DDRCC_DVM_NQF -drcc_nqf: LDFLAGS+=$(LDFLAGS_F4) -drcc_nqf: release_f4 - -hhp446: GitVersion.h -hhp446: CFLAGS+=$(CFLAGS_F4) $(DEFS_DRCC_DVM) -DDRCC_DVM_HHP446 -hhp446: CXXFLAGS+=$(CXXFLAGS_F4) $(DEFS_DRCC_DVM) -DDRCC_DVM_HHP446 -hhp446: LDFLAGS+=$(LDFLAGS_F4) -hhp446: release_f4 - -eda405: GitVersion.h -eda405: CFLAGS+=$(CFLAGS_F4) $(DEFS_EDA_405) -eda405: CXXFLAGS+=$(CXXFLAGS_F4) $(DEFS_EDA_405) -eda405: LDFLAGS+=$(LDFLAGS_F4) -eda405: release_f4 - -eda446: GitVersion.h -eda446: CFLAGS+=$(CFLAGS_F4) $(DEFS_EDA_446) -eda446: CXXFLAGS+=$(CXXFLAGS_F4) $(DEFS_EDA_446) -eda446: LDFLAGS+=$(LDFLAGS_F4) -eda446: release_f4 - -release_f4: $(BINDIR) -release_f4: $(OBJDIR_F4) -release_f4: $(BINDIR)/$(BINHEX_F4) -release_f4: $(BINDIR)/$(BINBIN_F4) - -release_f7: $(BINDIR) -release_f7: $(OBJDIR_F7) -release_f7: $(BINDIR)/$(BINHEX_F7) -release_f7: $(BINDIR)/$(BINBIN_F7) - -$(BINDIR): - $(MDDIRS) - -$(OBJDIR_F4): - $(MDDIRS) - -$(OBJDIR_F7): - $(MDDIRS) - -$(BINDIR)/$(BINHEX_F4): $(BINDIR)/$(BINELF_F4) - $(CP) -O ihex $< $@ - @echo "Objcopy from ELF to IHEX complete!\n" - -$(BINDIR)/$(BINBIN_F4): $(BINDIR)/$(BINELF_F4) - $(CP) -O binary $< $@ - @echo "Objcopy from ELF to BINARY complete!\n" - -$(BINDIR)/$(BINELF_F4): $(OBJ_F4) - $(CXX) $(OBJ_F4) $(LDFLAGS) -o $@ - @echo "Linking complete!\n" - $(SIZE) $(BINDIR)/$(BINELF_F4) - -$(BINDIR)/$(BINHEX_F7): $(BINDIR)/$(BINELF_F7) - $(CP) -O ihex $< $@ - @echo "Objcopy from ELF to IHEX complete!\n" - -$(BINDIR)/$(BINBIN_F7): $(BINDIR)/$(BINELF_F7) - $(CP) -O binary $< $@ - @echo "Objcopy from ELF to BINARY complete!\n" - -$(BINDIR)/$(BINELF_F7): $(OBJ_F7) - $(CXX) $(OBJ_F7) $(LDFLAGS) -o $@ - @echo "Linking complete!\n" - $(SIZE) $(BINDIR)/$(BINELF_F7) - -$(OBJDIR_F4)/%.o: $(MMDVM_PATH)/%.cpp - $(CXX) $(CXXFLAGS) $< -o $@ - @echo "Compiled "$<"!\n" - -$(OBJDIR_F7)/%.o: $(MMDVM_PATH)/%.cpp - $(CXX) $(CXXFLAGS) $< -o $@ - @echo "Compiled "$<"!\n" - -$(OBJDIR_F4)/%.o: $(STD_LIB_F4)/%.c - $(CC) $(CFLAGS) $< -o $@ - @echo "Compiled "$<"!\n" - -$(OBJDIR_F7)/%.o: $(STD_LIB_F7)/%.c - $(CC) $(CFLAGS) $< -o $@ - @echo "Compiled "$<"!\n" - -$(OBJDIR_F4)/%.o: $(SYS_DIR_F4)/%.c - $(CC) $(CFLAGS) $< -o $@ - @echo "Compiled "$<"!\n" - -$(OBJDIR_F4)/%.o: $(STARTUP_DIR_F4)/%.c - $(CC) $(CFLAGS) $< -o $@ - @echo "Compiled "$<"!\n" - -$(OBJDIR_F7)/%.o: $(SYS_DIR_F7)/%.c - $(CC) $(CFLAGS) $< -o $@ - @echo "Compiled "$<"!\n" - -$(OBJDIR_F7)/%.o: $(STARTUP_DIR_F7)/%.c - $(CC) $(CFLAGS) $< -o $@ - @echo "Compiled "$<"!\n" - -clean: - $(CLEANCMD) - -deploy: -ifneq ($(wildcard /usr/bin/openocd),) - /usr/bin/openocd -f /usr/share/openocd/scripts/interface/stlink-v2-1.cfg -f /usr/share/openocd/scripts/target/stm32f4x.cfg -c "program bin/$(BINELF_F4) verify reset exit" -endif - -ifneq ($(wildcard /usr/local/bin/openocd),) - /usr/local/bin/openocd -f /usr/local/share/openocd/scripts/interface/stlink-v2-1.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg -c "program bin/$(BINELF_F4) verify reset exit" -endif - -ifneq ($(wildcard /opt/openocd/bin/openocd),) - /opt/openocd/bin/openocd -f /opt/openocd/share/openocd/scripts/interface/stlink-v2-1.cfg -f /opt/openocd/share/openocd/scripts/target/stm32f4x.cfg -c "program bin/$(BINELF_F4) verify reset exit" -endif - -deploy-f7: -ifneq ($(wildcard /usr/bin/openocd),) - /usr/bin/openocd -f /usr/share/openocd/scripts/interface/stlink-v2-1.cfg -f /usr/share/openocd/scripts/target/stm32f7x.cfg -c "program bin/$(BINELF_F7) verify reset exit" -endif - -ifneq ($(wildcard /usr/local/bin/openocd),) - /usr/local/bin/openocd -f /usr/local/share/openocd/scripts/interface/stlink-v2-1.cfg -f /usr/local/share/openocd/scripts/target/stm32f7x.cfg -c "program bin/$(BINELF_F7) verify reset exit" -endif - -ifneq ($(wildcard /opt/openocd/bin/openocd),) - /opt/openocd/bin/openocd -f /opt/openocd/share/openocd/scripts/interface/stlink-v2-1.cfg -f /opt/openocd/share/openocd/scripts/target/stm32f7x.cfg -c "program bin/$(BINELF_F7) verify reset exit" -endif - -deploy-pi: -ifneq ($(wildcard /usr/local/bin/stm32flash),) - -/usr/local/bin/stm32flash -i 20,-21,21:-20,21 /dev/ttyAMA0 - /usr/local/bin/stm32flash -v -w bin/$(BINBIN_F4) -g 0x0 -R /dev/ttyAMA0 -endif - -ifneq ($(wildcard /usr/bin/stm32flash),) - -/usr/bin/stm32flash -i 20,-21,21:-20,21 /dev/ttyAMA0 - /usr/bin/stm32flash -v -w bin/$(BINBIN_F4) -g 0x0 -R /dev/ttyAMA0 -endif - -deploy-f4m: deploy-pi -deploy-dvm: deploy-pi -deploy-eda405: deploy-pi -deploy-eda446: deploy-pi - -deploy-pi-f7: -ifneq ($(wildcard /usr/local/bin/stm32flash),) - -/usr/local/bin/stm32flash -i 20,-21,21:-20,21 /dev/ttyAMA0 - /usr/local/bin/stm32flash -v -w bin/$(BINBIN_F7) -g 0x0 -R /dev/ttyAMA0 - -else ifneq ($(wildcard /usr/bin/stm32flash),) - -/usr/bin/stm32flash -i 20,-21,21:-20,21 /dev/ttyAMA0 - /usr/bin/stm32flash -v -w bin/$(BINBIN_F7) -g 0x0 -R /dev/ttyAMA0 -endif - -deploy-f7m: deploy-pi-f7 -deploy-rpt_hat: deploy-pi-f7 - -# Export the current git version if the index file exists, else 000... -GitVersion.h: -ifdef SYSTEMROOT - echo #define GITVERSION "0000000" > $@ -else ifdef SystemRoot - echo #define GITVERSION "0000000" > $@ -else -ifneq ("$(wildcard .git/index)","") - echo "#define GITVERSION \"$(shell git rev-parse --short HEAD)\"" > $@ -else - echo "#define GITVERSION \"0000000\"" > $@ -endif -endif - -flash_f4: - @echo "flashing firmware..." - st-flash write bin/$(BINBIN_F4) 0x8000000 diff --git a/Makefile.Arduino b/Makefile.Arduino deleted file mode 100644 index 0afa96a..0000000 --- a/Makefile.Arduino +++ /dev/null @@ -1,189 +0,0 @@ -#!/usr/bin/make -# makefile for the arduino due (works with arduino IDE 1.6.12) -# -# The original file can be found at https://github.com/pauldreik/arduino-due-makefile -# -# USAGE: put this file in the same dir as your .ino file is. -# configure the PORT variable and ADIR at the top of the file -# to match your local configuration. -# Type make upload to compile and upload. -# - -#user specific settings: -#where to find the IDE -ADIR:=$(HOME)/.arduino15 -#which serial port to use (add a file with SUBSYSTEMS=="usb", -#ATTRS{product}=="Arduino Due Prog. Port", ATTRS{idProduct}=="003d", -#ATTRS{idVendor}=="2341", SYMLINK+="arduino_due" in /etc/udev/rules.d/ -#to get this working). Do not prefix the port with /dev/, just take -#the basename. -PORT:=ttyACM0 -#if you want to verify the bossac upload, define this to -v -VERIFY:=-v - - -#end of user configuration. - - -#then some general settings. They should not be necessary to modify. -#CXX:=$(ADIR)/tools/g++_arm_none_eabi/bin/arm-none-eabi-g++ -CXX:=$(ADIR)/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-g++ -#CC:=$(ADIR)/tools/g++_arm_none_eabi/bin/arm-none-eabi-gcc -CC:=$(ADIR)/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-gcc -OBJCOPY:=$(ADIR)/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-objcopy - -C:=$(CC) -#SAM:=arduino/sam/ -SAM:=$(ADIR)/packages/arduino/hardware/sam/1.6.12 -#CMSIS:=arduino/sam/system/CMSIS/ -#LIBSAM:=arduino/sam/system/libsam -TMPDIR:=$(PWD)/build -AR:=$(ADIR)/tools/g++_arm_none_eabi/bin/arm-none-eabi-ar -AR:=$(ADIR)/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-ar - - -#all these values are hard coded and should maybe be configured somehow else, -#like olikraus does in his makefile. -DEFINES:=-Dprintf=iprintf -DF_CPU=84000000 -DARDUINO=10611 -D__SAM3X8E__ -DUSB_PID=0x003e -DUSB_VID=0x2341 -DUSBCON \ - -DARDUINO_SAM_DUE -DARDUINO_ARCH_SAM '-DUSB_MANUFACTURER="Arduino LLC"' '-DUSB_PRODUCT="Arduino Due"' \ - -DMADEBYMAKEFILE - -INCLUDES:=-I$(SAM)/system/libsam -I$(SAM)/system/CMSIS/CMSIS/Include/ \ - -I$(SAM)/system/CMSIS/Device/ATMEL/ -I$(SAM)/cores/arduino \ - -I$(SAM)/variants/arduino_due_x - -#also include the current dir for convenience -INCLUDES += -I. - -#compilation flags common to both c and c++ -COMMON_FLAGS:=-g -Os -w -ffunction-sections -fdata-sections -nostdlib \ - --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb \ - -fno-threadsafe-statics -#for compiling c (do not warn, this is not our code) -CFLAGS:=$(COMMON_FLAGS) -std=gnu11 -#for compiling c++ -CXXFLAGS:=$(COMMON_FLAGS) -fno-rtti -fno-exceptions -std=gnu++11 -Wall -Wextra - -#let the results be named after the project -PROJNAME:=$(shell basename *.ino .ino) - -#we will make a new mainfile from the ino file. -NEWMAINFILE:=$(TMPDIR)/$(PROJNAME).ino.cpp - -#our own sourcefiles is the (converted) ino file and any local cpp files -MYSRCFILES:=$(NEWMAINFILE) $(shell ls *.cpp 2>/dev/null) -MYOBJFILES:=$(addsuffix .o,$(addprefix $(TMPDIR)/,$(notdir $(MYSRCFILES)))) - -#These source files are the ones forming core.a -CORESRCXX:=$(shell ls ${SAM}/cores/arduino/*.cpp ${SAM}/cores/arduino/USB/*.cpp ${SAM}/variants/arduino_due_x/variant.cpp) -CORESRC:=$(shell ls ${SAM}/cores/arduino/*.c) - -#hey this one is needed too: $(SAM)/cores/arduino/wiring_pulse_asm.S" add -x assembler-with-cpp -#and this one: /1.6.11/cores/arduino/avr/dtostrf.c but it seems to work -#anyway, probably because I do not use that functionality. - -#convert the core source files to object files. assume no clashes. -COREOBJSXX:=$(addprefix $(TMPDIR)/core/,$(notdir $(CORESRCXX)) ) -COREOBJSXX:=$(addsuffix .o,$(COREOBJSXX)) -COREOBJS:=$(addprefix $(TMPDIR)/core/,$(notdir $(CORESRC)) ) -COREOBJS:=$(addsuffix .o,$(COREOBJS)) - -default: - @echo default rule, does nothing. Try make compile or make upload. - -#This rule is good to just make sure stuff compiles, without having to wait -#for bossac. -compile: GitVersion.h $(TMPDIR)/$(PROJNAME).elf $(TMPDIR)/$(PROJNAME).bin - -#This is a make rule template to create object files from the source files. -# arg 1=src file -# arg 2=object file -# arg 3= XX if c++, empty if c -define OBJ_template -$(2): $(1) - $(C$(3)) -MD -c $(C$(3)FLAGS) $(DEFINES) $(INCLUDES) $(1) -o $(2) -endef -#now invoke the template both for c++ sources -$(foreach src,$(CORESRCXX), $(eval $(call OBJ_template,$(src),$(addsuffix .o,$(addprefix $(TMPDIR)/core/,$(notdir $(src)))),XX) ) ) -#...and for c sources: -$(foreach src,$(CORESRC), $(eval $(call OBJ_template,$(src),$(addsuffix .o,$(addprefix $(TMPDIR)/core/,$(notdir $(src)))),) ) ) - -#and our own c++ sources -$(foreach src,$(MYSRCFILES), $(eval $(call OBJ_template,$(src),$(addsuffix .o,$(addprefix $(TMPDIR)/,$(notdir $(src)))),XX) ) ) - - -clean: - test ! -d $(TMPDIR) || rm -rf $(TMPDIR) - $(RM) GitVersion.h - -.PHONY: .FORCE upload default - -$(TMPDIR): - mkdir -p $(TMPDIR) - -$(TMPDIR)/core: - mkdir -p $(TMPDIR)/core - -#creates the cpp file from the .ino file -$(NEWMAINFILE): $(PROJNAME).ino - cat $(SAM)/cores/arduino/main.cpp > $(NEWMAINFILE) - cat $(PROJNAME).ino >> $(NEWMAINFILE) - echo 'extern "C" void __cxa_pure_virtual() {while (true);}' >> $(NEWMAINFILE) - -#include the dependencies for our own files --include $(MYOBJFILES:.o=.d) - -#create the core library from the core objects. Do this EXACTLY as the -#arduino IDE does it, seems *really* picky about this. -#Sorry for the hard coding. -$(TMPDIR)/core.a: $(TMPDIR)/core $(COREOBJS) $(COREOBJSXX) - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/wiring_shift.c.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/wiring_analog.c.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/itoa.c.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/cortex_handlers.c.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/hooks.c.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/wiring.c.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/WInterrupts.c.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/syscalls_sam3.c.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/iar_calls_sam3.c.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/wiring_digital.c.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/Print.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/USARTClass.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/WString.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/PluggableUSB.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/USBCore.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/CDC.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/wiring_pulse.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/UARTClass.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/main.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/new.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/watchdog.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/Stream.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/RingBuffer.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/IPAddress.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/Reset.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/WMath.cpp.o - $(AR) rcs $(TMPDIR)/core.a $(TMPDIR)/core/variant.cpp.o - -#link our own object files with core to form the elf file -$(TMPDIR)/$(PROJNAME).elf: $(TMPDIR)/core.a $(TMPDIR)/core/syscalls_sam3.c.o $(MYOBJFILES) - $(CC) -mcpu=cortex-m3 -mthumb -Os -Wl,--gc-sections -T$(SAM)/variants/arduino_due_x/linker_scripts/gcc/flash.ld -Wl,-Map,$(NEWMAINFILE).map -o $@ -L$(TMPDIR) -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--start-group -u _sbrk -u link -u _close -u _fstat -u _isatty -u _lseek -u _read -u _write -u _exit -u kill -u _getpid $(MYOBJFILES) $(TMPDIR)/core/variant.cpp.o $(SAM)/variants/arduino_due_x/libsam_sam3x8e_gcc_rel.a $(SAM)/system/CMSIS/CMSIS/Lib/GCC/libarm_cortexM3l_math.a $(TMPDIR)/core.a -Wl,--end-group -lm -gcc - -#copy from the hex to our bin file (why?) -$(TMPDIR)/$(PROJNAME).bin: $(TMPDIR)/$(PROJNAME).elf - $(OBJCOPY) -O binary $< $@ - -#upload to the arduino by first resetting it (stty) and the running bossac -upload: compile - stty -F /dev/$(PORT) cs8 1200 hupcl - $(ADIR)/packages/arduino/tools/bossac/1.6.1-arduino/bossac -i --port=$(PORT) -U false -e -w $(VERIFY) -b $(TMPDIR)/$(PROJNAME).bin -R - -# Export the current git version if the index file exists, else 000... -GitVersion.h: .FORCE -ifneq ("$(wildcard .git/index)","") - echo "#define GITVERSION \"$(shell git rev-parse --short HEAD)\"" > $@ -else - echo "#define GITVERSION \"0000000\"" > $@ -endif - -.FORCE: diff --git a/STM32F4XX_Lib b/STM32F4XX_Lib deleted file mode 160000 index 18aeb6e..0000000 --- a/STM32F4XX_Lib +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 18aeb6ea3a236088fc9f376077c651098e3a495e diff --git a/STM32F7XX_Lib b/STM32F7XX_Lib deleted file mode 160000 index 6241f7c..0000000 --- a/STM32F7XX_Lib +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6241f7c05eeb6cf1ecd16ca0274bf310efee853f diff --git a/Tools/FMGenerateFilterCoefficients.py b/Tools/FMGenerateFilterCoefficients.py deleted file mode 100644 index 4eb81d8..0000000 --- a/Tools/FMGenerateFilterCoefficients.py +++ /dev/null @@ -1,46 +0,0 @@ -# based on https://github.com/berndporr/iir_fixed_point/blob/master/gen_coeff.py - -import numpy as np -import scipy.signal as signal -import pylab as pl - -# Calculate the coefficients for a pure fixed point -# integer filter - -# sampling rate -fs = 24000 - -# cutoffs -f1 = 300 -f2 = 2700 -# ripple -rp = 0.2 - -# scaling factor in bits, do not change ! -q = 15 -# scaling factor as facor... -scaling_factor = 2**q - -# let's generate a sequence of 2nd order IIR filters -sos = signal.cheby1(3,rp,[f1, f2],'bandpass', output='sos', fs=fs) -#os = signal.cheby1(4, rp, f2, 'lowpass', output='sos', fs=fs) #deemphasis filter -#sos = signal.cheby1(1, rp, 2122, 'highpass', output='sos', fs=fs) #deemphasis filter - -sosrounded = np.round((sos) * scaling_factor) - -# print coefficients -for biquad in sosrounded: - for coeff in biquad: - print(int(coeff),",",sep="",end="") - #print((coeff),",",sep="",end="") - print("") - -# plot the frequency response -b,a = signal.sos2tf(sos) -w,h = signal.freqz(b,a, worN=2048) -pl.plot(w/np.pi/2*fs,20*np.log(np.abs(h))) -pl.xlabel('frequency/Hz'); -pl.ylabel('gain/dB'); -pl.ylim(top=1,bottom=-30); -pl.xlim(left=250, right=12000); -pl.show() \ No newline at end of file diff --git a/Tools/emphasis.txt b/Tools/emphasis.txt deleted file mode 100644 index 39660d1..0000000 --- a/Tools/emphasis.txt +++ /dev/null @@ -1,58 +0,0 @@ -% GNU Octave script to generate pre and deemphasis filters -% https://dsp.stackexchange.com/questions/34605/biquad-cookbook-formula-for-broadcast-fm-de-emphasis -% PACKAGES - -pkg load control -pkg load signal - -clear all; -clc; - -fs = 24000; -samplingtime = 1/fs; - -% analog prototype -A2 = [1]; -B2 = [0.000075 1]; - -% Pre -Ds = tf(B2, A2); -% De -% Ds = tf(A2, B2); - -Ds = Ds/dcgain(Ds); - -% MZT -T1 = 0.000075; % 75us -z1 = -exp(-1.0/(fs*T1)); -p1 = 1+z1; - -a0 = 1.0; -a1 = p1; -a2 = 0; - -b0 = 1.0; -b1 = z1; -b2 = 0; - -% swap between a1, b1 to select pre- or de-emphasis - -# Pre -Bmzt = [b0 a1 b2] -Amzt = [a0 b1 a2] -% De -% Bmzt = [b0 b1 b2] -% Amzt = [a0 a1 a2] - -DzMZT = tf(Amzt, Bmzt, samplingtime); -DzMZT = DzMZT/dcgain(DzMZT); - -%% Plot -wmin = 2 * pi * 20.0; % 20Hz -wmax = 2 * pi * ((fs/2.0) - (fs/2 - 20000)); %20kHz - -figure(1); -bode(Ds, 'b', DzMZT, 'c', {wmin, wmax}); -legend('Analog prototype', 'MZT 2nd order','location', 'northwest'); -grid on; -pause(); diff --git a/openocd.cfg b/openocd.cfg deleted file mode 100644 index b00e2bf..0000000 --- a/openocd.cfg +++ /dev/null @@ -1,2 +0,0 @@ -source [find interface/stlink-v2.cfg] -source [find target/stm32f1x.cfg] diff --git a/AX25Defines.h b/src/AX25Defines.h similarity index 100% rename from AX25Defines.h rename to src/AX25Defines.h diff --git a/AX25Demodulator.cpp b/src/AX25Demodulator.cpp similarity index 100% rename from AX25Demodulator.cpp rename to src/AX25Demodulator.cpp diff --git a/AX25Demodulator.h b/src/AX25Demodulator.h similarity index 100% rename from AX25Demodulator.h rename to src/AX25Demodulator.h diff --git a/AX25Frame.cpp b/src/AX25Frame.cpp similarity index 100% rename from AX25Frame.cpp rename to src/AX25Frame.cpp diff --git a/AX25Frame.h b/src/AX25Frame.h similarity index 100% rename from AX25Frame.h rename to src/AX25Frame.h diff --git a/AX25RX.cpp b/src/AX25RX.cpp similarity index 100% rename from AX25RX.cpp rename to src/AX25RX.cpp diff --git a/AX25RX.h b/src/AX25RX.h similarity index 100% rename from AX25RX.h rename to src/AX25RX.h diff --git a/AX25TX.cpp b/src/AX25TX.cpp similarity index 100% rename from AX25TX.cpp rename to src/AX25TX.cpp diff --git a/AX25TX.h b/src/AX25TX.h similarity index 100% rename from AX25TX.h rename to src/AX25TX.h diff --git a/AX25Twist.cpp b/src/AX25Twist.cpp similarity index 100% rename from AX25Twist.cpp rename to src/AX25Twist.cpp diff --git a/AX25Twist.h b/src/AX25Twist.h similarity index 100% rename from AX25Twist.h rename to src/AX25Twist.h diff --git a/CWIdTX.cpp b/src/CWIdTX.cpp similarity index 100% rename from CWIdTX.cpp rename to src/CWIdTX.cpp diff --git a/CWIdTX.h b/src/CWIdTX.h similarity index 100% rename from CWIdTX.h rename to src/CWIdTX.h diff --git a/CalDMR.cpp b/src/CalDMR.cpp similarity index 100% rename from CalDMR.cpp rename to src/CalDMR.cpp diff --git a/CalDMR.h b/src/CalDMR.h similarity index 100% rename from CalDMR.h rename to src/CalDMR.h diff --git a/CalDStarRX.cpp b/src/CalDStarRX.cpp similarity index 100% rename from CalDStarRX.cpp rename to src/CalDStarRX.cpp diff --git a/CalDStarRX.h b/src/CalDStarRX.h similarity index 100% rename from CalDStarRX.h rename to src/CalDStarRX.h diff --git a/CalDStarTX.cpp b/src/CalDStarTX.cpp similarity index 100% rename from CalDStarTX.cpp rename to src/CalDStarTX.cpp diff --git a/CalDStarTX.h b/src/CalDStarTX.h similarity index 100% rename from CalDStarTX.h rename to src/CalDStarTX.h diff --git a/CalFM.cpp b/src/CalFM.cpp similarity index 100% rename from CalFM.cpp rename to src/CalFM.cpp diff --git a/CalFM.h b/src/CalFM.h similarity index 100% rename from CalFM.h rename to src/CalFM.h diff --git a/CalM17.cpp b/src/CalM17.cpp similarity index 100% rename from CalM17.cpp rename to src/CalM17.cpp diff --git a/CalM17.h b/src/CalM17.h similarity index 100% rename from CalM17.h rename to src/CalM17.h diff --git a/CalNXDN.cpp b/src/CalNXDN.cpp similarity index 100% rename from CalNXDN.cpp rename to src/CalNXDN.cpp diff --git a/CalNXDN.h b/src/CalNXDN.h similarity index 100% rename from CalNXDN.h rename to src/CalNXDN.h diff --git a/CalP25.cpp b/src/CalP25.cpp similarity index 100% rename from CalP25.cpp rename to src/CalP25.cpp diff --git a/CalP25.h b/src/CalP25.h similarity index 100% rename from CalP25.h rename to src/CalP25.h diff --git a/CalPOCSAG.cpp b/src/CalPOCSAG.cpp similarity index 100% rename from CalPOCSAG.cpp rename to src/CalPOCSAG.cpp diff --git a/CalPOCSAG.h b/src/CalPOCSAG.h similarity index 100% rename from CalPOCSAG.h rename to src/CalPOCSAG.h diff --git a/CalRSSI.cpp b/src/CalRSSI.cpp similarity index 100% rename from CalRSSI.cpp rename to src/CalRSSI.cpp diff --git a/CalRSSI.h b/src/CalRSSI.h similarity index 100% rename from CalRSSI.h rename to src/CalRSSI.h diff --git a/Config.h b/src/Config.h similarity index 100% rename from Config.h rename to src/Config.h diff --git a/DMRDMORX.cpp b/src/DMRDMORX.cpp similarity index 100% rename from DMRDMORX.cpp rename to src/DMRDMORX.cpp diff --git a/DMRDMORX.h b/src/DMRDMORX.h similarity index 100% rename from DMRDMORX.h rename to src/DMRDMORX.h diff --git a/DMRDMOTX.cpp b/src/DMRDMOTX.cpp similarity index 100% rename from DMRDMOTX.cpp rename to src/DMRDMOTX.cpp diff --git a/DMRDMOTX.h b/src/DMRDMOTX.h similarity index 100% rename from DMRDMOTX.h rename to src/DMRDMOTX.h diff --git a/DMRDefines.h b/src/DMRDefines.h similarity index 100% rename from DMRDefines.h rename to src/DMRDefines.h diff --git a/DMRIdleRX.cpp b/src/DMRIdleRX.cpp similarity index 100% rename from DMRIdleRX.cpp rename to src/DMRIdleRX.cpp diff --git a/DMRIdleRX.h b/src/DMRIdleRX.h similarity index 100% rename from DMRIdleRX.h rename to src/DMRIdleRX.h diff --git a/DMRRX.cpp b/src/DMRRX.cpp similarity index 100% rename from DMRRX.cpp rename to src/DMRRX.cpp diff --git a/DMRRX.h b/src/DMRRX.h similarity index 100% rename from DMRRX.h rename to src/DMRRX.h diff --git a/DMRSlotRX.cpp b/src/DMRSlotRX.cpp similarity index 100% rename from DMRSlotRX.cpp rename to src/DMRSlotRX.cpp diff --git a/DMRSlotRX.h b/src/DMRSlotRX.h similarity index 100% rename from DMRSlotRX.h rename to src/DMRSlotRX.h diff --git a/DMRSlotType.cpp b/src/DMRSlotType.cpp similarity index 100% rename from DMRSlotType.cpp rename to src/DMRSlotType.cpp diff --git a/DMRSlotType.h b/src/DMRSlotType.h similarity index 100% rename from DMRSlotType.h rename to src/DMRSlotType.h diff --git a/DMRTX.cpp b/src/DMRTX.cpp similarity index 100% rename from DMRTX.cpp rename to src/DMRTX.cpp diff --git a/DMRTX.h b/src/DMRTX.h similarity index 100% rename from DMRTX.h rename to src/DMRTX.h diff --git a/DStarDefines.h b/src/DStarDefines.h similarity index 100% rename from DStarDefines.h rename to src/DStarDefines.h diff --git a/DStarRX.cpp b/src/DStarRX.cpp similarity index 100% rename from DStarRX.cpp rename to src/DStarRX.cpp diff --git a/DStarRX.h b/src/DStarRX.h similarity index 100% rename from DStarRX.h rename to src/DStarRX.h diff --git a/DStarTX.cpp b/src/DStarTX.cpp similarity index 100% rename from DStarTX.cpp rename to src/DStarTX.cpp diff --git a/DStarTX.h b/src/DStarTX.h similarity index 100% rename from DStarTX.h rename to src/DStarTX.h diff --git a/Debug.h b/src/Debug.h similarity index 100% rename from Debug.h rename to src/Debug.h diff --git a/FM.cpp b/src/FM.cpp similarity index 100% rename from FM.cpp rename to src/FM.cpp diff --git a/FM.h b/src/FM.h similarity index 100% rename from FM.h rename to src/FM.h diff --git a/FMBlanking.cpp b/src/FMBlanking.cpp similarity index 100% rename from FMBlanking.cpp rename to src/FMBlanking.cpp diff --git a/FMBlanking.h b/src/FMBlanking.h similarity index 100% rename from FMBlanking.h rename to src/FMBlanking.h diff --git a/FMCTCSSRX.cpp b/src/FMCTCSSRX.cpp similarity index 100% rename from FMCTCSSRX.cpp rename to src/FMCTCSSRX.cpp diff --git a/FMCTCSSRX.h b/src/FMCTCSSRX.h similarity index 100% rename from FMCTCSSRX.h rename to src/FMCTCSSRX.h diff --git a/FMCTCSSTX.cpp b/src/FMCTCSSTX.cpp similarity index 100% rename from FMCTCSSTX.cpp rename to src/FMCTCSSTX.cpp diff --git a/FMCTCSSTX.h b/src/FMCTCSSTX.h similarity index 100% rename from FMCTCSSTX.h rename to src/FMCTCSSTX.h diff --git a/FMDirectForm1.h b/src/FMDirectForm1.h similarity index 100% rename from FMDirectForm1.h rename to src/FMDirectForm1.h diff --git a/FMDownSampler.cpp b/src/FMDownSampler.cpp similarity index 100% rename from FMDownSampler.cpp rename to src/FMDownSampler.cpp diff --git a/FMDownSampler.h b/src/FMDownSampler.h similarity index 100% rename from FMDownSampler.h rename to src/FMDownSampler.h diff --git a/FMKeyer.cpp b/src/FMKeyer.cpp similarity index 100% rename from FMKeyer.cpp rename to src/FMKeyer.cpp diff --git a/FMKeyer.h b/src/FMKeyer.h similarity index 100% rename from FMKeyer.h rename to src/FMKeyer.h diff --git a/FMNoiseSquelch.cpp b/src/FMNoiseSquelch.cpp similarity index 100% rename from FMNoiseSquelch.cpp rename to src/FMNoiseSquelch.cpp diff --git a/FMNoiseSquelch.h b/src/FMNoiseSquelch.h similarity index 100% rename from FMNoiseSquelch.h rename to src/FMNoiseSquelch.h diff --git a/FMSamplePairPack.h b/src/FMSamplePairPack.h similarity index 100% rename from FMSamplePairPack.h rename to src/FMSamplePairPack.h diff --git a/FMTimeout.cpp b/src/FMTimeout.cpp similarity index 100% rename from FMTimeout.cpp rename to src/FMTimeout.cpp diff --git a/FMTimeout.h b/src/FMTimeout.h similarity index 100% rename from FMTimeout.h rename to src/FMTimeout.h diff --git a/FMTimer.cpp b/src/FMTimer.cpp similarity index 100% rename from FMTimer.cpp rename to src/FMTimer.cpp diff --git a/FMTimer.h b/src/FMTimer.h similarity index 100% rename from FMTimer.h rename to src/FMTimer.h diff --git a/FMUpSampler.cpp b/src/FMUpSampler.cpp similarity index 100% rename from FMUpSampler.cpp rename to src/FMUpSampler.cpp diff --git a/FMUpSampler.h b/src/FMUpSampler.h similarity index 100% rename from FMUpSampler.h rename to src/FMUpSampler.h diff --git a/Globals.h b/src/Globals.h similarity index 100% rename from Globals.h rename to src/Globals.h diff --git a/IO.cpp b/src/IO.cpp similarity index 100% rename from IO.cpp rename to src/IO.cpp diff --git a/IO.h b/src/IO.h similarity index 100% rename from IO.h rename to src/IO.h diff --git a/IODue.cpp b/src/IODue.cpp similarity index 100% rename from IODue.cpp rename to src/IODue.cpp diff --git a/IOPins.h b/src/IOPins.h similarity index 100% rename from IOPins.h rename to src/IOPins.h diff --git a/IOSTM.cpp b/src/IOSTM.cpp similarity index 100% rename from IOSTM.cpp rename to src/IOSTM.cpp diff --git a/IOTeensy.cpp b/src/IOTeensy.cpp similarity index 100% rename from IOTeensy.cpp rename to src/IOTeensy.cpp diff --git a/M17Defines.h b/src/M17Defines.h similarity index 100% rename from M17Defines.h rename to src/M17Defines.h diff --git a/M17RX.cpp b/src/M17RX.cpp similarity index 100% rename from M17RX.cpp rename to src/M17RX.cpp diff --git a/M17RX.h b/src/M17RX.h similarity index 100% rename from M17RX.h rename to src/M17RX.h diff --git a/M17TX.cpp b/src/M17TX.cpp similarity index 100% rename from M17TX.cpp rename to src/M17TX.cpp diff --git a/M17TX.h b/src/M17TX.h similarity index 100% rename from M17TX.h rename to src/M17TX.h diff --git a/MMDVM.cpp b/src/MMDVM.cpp similarity index 100% rename from MMDVM.cpp rename to src/MMDVM.cpp diff --git a/NXDNDefines.h b/src/NXDNDefines.h similarity index 100% rename from NXDNDefines.h rename to src/NXDNDefines.h diff --git a/NXDNRX.cpp b/src/NXDNRX.cpp similarity index 100% rename from NXDNRX.cpp rename to src/NXDNRX.cpp diff --git a/NXDNRX.h b/src/NXDNRX.h similarity index 100% rename from NXDNRX.h rename to src/NXDNRX.h diff --git a/NXDNTX.cpp b/src/NXDNTX.cpp similarity index 100% rename from NXDNTX.cpp rename to src/NXDNTX.cpp diff --git a/NXDNTX.h b/src/NXDNTX.h similarity index 100% rename from NXDNTX.h rename to src/NXDNTX.h diff --git a/P25Defines.h b/src/P25Defines.h similarity index 100% rename from P25Defines.h rename to src/P25Defines.h diff --git a/P25RX.cpp b/src/P25RX.cpp similarity index 100% rename from P25RX.cpp rename to src/P25RX.cpp diff --git a/P25RX.h b/src/P25RX.h similarity index 100% rename from P25RX.h rename to src/P25RX.h diff --git a/P25TX.cpp b/src/P25TX.cpp similarity index 100% rename from P25TX.cpp rename to src/P25TX.cpp diff --git a/P25TX.h b/src/P25TX.h similarity index 100% rename from P25TX.h rename to src/P25TX.h diff --git a/POCSAGTX.cpp b/src/POCSAGTX.cpp similarity index 100% rename from POCSAGTX.cpp rename to src/POCSAGTX.cpp diff --git a/POCSAGTX.h b/src/POCSAGTX.h similarity index 100% rename from POCSAGTX.h rename to src/POCSAGTX.h diff --git a/RingBuffer.h b/src/RingBuffer.h similarity index 100% rename from RingBuffer.h rename to src/RingBuffer.h diff --git a/RingBuffer.impl.h b/src/RingBuffer.impl.h similarity index 100% rename from RingBuffer.impl.h rename to src/RingBuffer.impl.h diff --git a/STM32Utils.h b/src/STM32Utils.h similarity index 100% rename from STM32Utils.h rename to src/STM32Utils.h diff --git a/STMUART.cpp b/src/STMUART.cpp similarity index 100% rename from STMUART.cpp rename to src/STMUART.cpp diff --git a/STMUART.h b/src/STMUART.h similarity index 100% rename from STMUART.h rename to src/STMUART.h diff --git a/SerialArduino.cpp b/src/SerialArduino.cpp similarity index 100% rename from SerialArduino.cpp rename to src/SerialArduino.cpp diff --git a/SerialPort.cpp b/src/SerialPort.cpp similarity index 100% rename from SerialPort.cpp rename to src/SerialPort.cpp diff --git a/SerialPort.h b/src/SerialPort.h similarity index 100% rename from SerialPort.h rename to src/SerialPort.h diff --git a/SerialSTM.cpp b/src/SerialSTM.cpp similarity index 100% rename from SerialSTM.cpp rename to src/SerialSTM.cpp diff --git a/SerialTeensy.cpp b/src/SerialTeensy.cpp similarity index 100% rename from SerialTeensy.cpp rename to src/SerialTeensy.cpp diff --git a/Utils.cpp b/src/Utils.cpp similarity index 100% rename from Utils.cpp rename to src/Utils.cpp diff --git a/Utils.h b/src/Utils.h similarity index 100% rename from Utils.h rename to src/Utils.h diff --git a/Version.h b/src/Version.h similarity index 100% rename from Version.h rename to src/Version.h diff --git a/YSFDefines.h b/src/YSFDefines.h similarity index 100% rename from YSFDefines.h rename to src/YSFDefines.h diff --git a/YSFRX.cpp b/src/YSFRX.cpp similarity index 100% rename from YSFRX.cpp rename to src/YSFRX.cpp diff --git a/YSFRX.h b/src/YSFRX.h similarity index 100% rename from YSFRX.h rename to src/YSFRX.h diff --git a/YSFTX.cpp b/src/YSFTX.cpp similarity index 100% rename from YSFTX.cpp rename to src/YSFTX.cpp diff --git a/YSFTX.h b/src/YSFTX.h similarity index 100% rename from YSFTX.h rename to src/YSFTX.h diff --git a/pins/pins_f4_discovery.h b/src/pins/pins_f4_discovery.h similarity index 100% rename from pins/pins_f4_discovery.h rename to src/pins/pins_f4_discovery.h diff --git a/pins/pins_f4_drcc_hhp446.h b/src/pins/pins_f4_drcc_hhp446.h similarity index 100% rename from pins/pins_f4_drcc_hhp446.h rename to src/pins/pins_f4_drcc_hhp446.h diff --git a/pins/pins_f4_drcc_nqf.h b/src/pins/pins_f4_drcc_nqf.h similarity index 100% rename from pins/pins_f4_drcc_nqf.h rename to src/pins/pins_f4_drcc_nqf.h diff --git a/pins/pins_f4_f4m.h b/src/pins/pins_f4_f4m.h similarity index 100% rename from pins/pins_f4_f4m.h rename to src/pins/pins_f4_f4m.h diff --git a/pins/pins_f4_nucleo_arduino.h b/src/pins/pins_f4_nucleo_arduino.h similarity index 100% rename from pins/pins_f4_nucleo_arduino.h rename to src/pins/pins_f4_nucleo_arduino.h diff --git a/pins/pins_f4_nucleo_morpho.h b/src/pins/pins_f4_nucleo_morpho.h similarity index 100% rename from pins/pins_f4_nucleo_morpho.h rename to src/pins/pins_f4_nucleo_morpho.h diff --git a/pins/pins_f4_pi.h b/src/pins/pins_f4_pi.h similarity index 100% rename from pins/pins_f4_pi.h rename to src/pins/pins_f4_pi.h diff --git a/pins/pins_f4_rpt_tgo.h b/src/pins/pins_f4_rpt_tgo.h similarity index 100% rename from pins/pins_f4_rpt_tgo.h rename to src/pins/pins_f4_rpt_tgo.h diff --git a/pins/pins_f4_stm32dvm_v3.h b/src/pins/pins_f4_stm32dvm_v3.h similarity index 100% rename from pins/pins_f4_stm32dvm_v3.h rename to src/pins/pins_f4_stm32dvm_v3.h diff --git a/pins/pins_f4_stm32eda.h b/src/pins/pins_f4_stm32eda.h similarity index 100% rename from pins/pins_f4_stm32eda.h rename to src/pins/pins_f4_stm32eda.h diff --git a/pins/pins_f7_f7m.h b/src/pins/pins_f7_f7m.h similarity index 100% rename from pins/pins_f7_f7m.h rename to src/pins/pins_f7_f7m.h diff --git a/pins/pins_f7_nucleo.h b/src/pins/pins_f7_nucleo.h similarity index 100% rename from pins/pins_f7_nucleo.h rename to src/pins/pins_f7_nucleo.h diff --git a/pins/pins_f7_pi.h b/src/pins/pins_f7_pi.h similarity index 100% rename from pins/pins_f7_pi.h rename to src/pins/pins_f7_pi.h diff --git a/pins/pins_f7_rpt_hat.h b/src/pins/pins_f7_rpt_hat.h similarity index 100% rename from pins/pins_f7_rpt_hat.h rename to src/pins/pins_f7_rpt_hat.h diff --git a/pins/pins_f7_stm32dvm_v5.h b/src/pins/pins_f7_stm32dvm_v5.h similarity index 100% rename from pins/pins_f7_stm32dvm_v5.h rename to src/pins/pins_f7_stm32dvm_v5.h diff --git a/stm32f4xx_link.ld b/stm32f4xx_link.ld deleted file mode 100644 index 24ee380..0000000 --- a/stm32f4xx_link.ld +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (C) 2016 by Andy Uribe CA6JAU - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* Required amount of heap and stack */ -_min_heap_size = 0x1000; -_min_stack_size = 0x0800; - -/* The entry point in the interrupt vector table */ -ENTRY(Reset_Handler) - -/* Memory areas */ -MEMORY -{ - ROM (rx) : ORIGIN = 0x08000000, LENGTH = 1024K /* FLASH */ - CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K /* Core Coupled Memory (CPU only access) */ - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K /* Main RAM (bus matrix)*/ -} - -/* Stack start address (end of 128K RAM) */ -_estack = ORIGIN(RAM) + LENGTH(RAM); - -SECTIONS -{ - .text : - { - /* The interrupt vector table */ - . = ALIGN(4); - KEEP(*(.isr_vector .isr_vector.*)) - - /* The program code */ - . = ALIGN(4); - *(.text .text*) - *(.rodata .rodata*) - - /* ARM-Thumb code */ - *(.glue_7) *(.glue_7t) - - . = ALIGN(4); - KEEP(*(.init)) - KEEP(*(.fini)) - - /* EABI C++ global constructors support */ - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - /* EABI C++ global constructors support */ - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - /* EABI C++ global constructors support */ - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - } > ROM - - /* ARM sections containing exception unwinding information */ - .ARM.extab : { - __extab_start = .; - *(.ARM.extab* .gnu.linkonce.armextab.*) - __extab_end = .; - } > ROM - - /* ARM index entries for section unwinding */ - .ARM.exidx : { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } > ROM - - /* Start address for the initialization values of the .data section */ - _sidata = .; - - /* The .data section (initialized data) */ - .data : AT ( _sidata ) - { - . = ALIGN(4); - _sdata = . ; /* Start address for the .data section */ - *(.data .data*) - - . = ALIGN(4); - _edata = . ; /* End address for the .data section */ - } > RAM - - /* The .bss section (uninitialized data) */ - .bss : - { - . = ALIGN(4); - _sbss = .; /* Start address for the .bss section */ - __bss_start__ = _sbss; - *(.bss) - *(.bss*) - *(COMMON) - - . = ALIGN(4); - _ebss = . ; /* End address for the .bss section */ - __bss_end__ = _ebss; - } > RAM - - /* Space for heap and stack */ - .heap_stack : - { - end = . ; /* 'end' symbol defines heap location */ - _end = end ; - . = . + _min_heap_size; /* Additional space for heap and stack */ - . = . + _min_stack_size; - } > RAM - - /* Remove information from the standard libraries */ - /DISCARD/ : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } -} diff --git a/stm32f722_link.ld b/stm32f722_link.ld deleted file mode 100644 index 2ae8313..0000000 --- a/stm32f722_link.ld +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (C) 2017 by Andy Uribe CA6JAU - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* Required amount of heap and stack */ -_min_heap_size = 0x1000; -_min_stack_size = 0x0800; - -/* The entry point in the interrupt vector table */ -ENTRY(Reset_Handler) - -/* Memory areas */ -MEMORY -{ - ROM (rx) : ORIGIN = 0x08000000, LENGTH = 512K /* FLASH */ - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 256K /* Main RAM */ -} - -/* Stack start address (end of 256K RAM) */ -_estack = ORIGIN(RAM) + LENGTH(RAM); - -SECTIONS -{ - .text : - { - /* The interrupt vector table */ - . = ALIGN(4); - KEEP(*(.isr_vector .isr_vector.*)) - - /* The program code */ - . = ALIGN(4); - *(.text .text*) - *(.rodata .rodata*) - - /* ARM-Thumb code */ - *(.glue_7) *(.glue_7t) - - . = ALIGN(4); - KEEP(*(.init)) - KEEP(*(.fini)) - - /* EABI C++ global constructors support */ - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - /* EABI C++ global constructors support */ - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - /* EABI C++ global constructors support */ - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - } > ROM - - /* ARM sections containing exception unwinding information */ - .ARM.extab : { - __extab_start = .; - *(.ARM.extab* .gnu.linkonce.armextab.*) - __extab_end = .; - } > ROM - - /* ARM index entries for section unwinding */ - .ARM.exidx : { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } > ROM - - /* Start address for the initialization values of the .data section */ - _sidata = .; - - /* The .data section (initialized data) */ - .data : AT ( _sidata ) - { - . = ALIGN(4); - _sdata = . ; /* Start address for the .data section */ - *(.data .data*) - - . = ALIGN(4); - _edata = . ; /* End address for the .data section */ - } > RAM - - /* The .bss section (uninitialized data) */ - .bss : - { - . = ALIGN(4); - _sbss = .; /* Start address for the .bss section */ - __bss_start__ = _sbss; - *(.bss) - *(.bss*) - *(COMMON) - - . = ALIGN(4); - _ebss = . ; /* End address for the .bss section */ - __bss_end__ = _ebss; - } > RAM - - /* Space for heap and stack */ - .heap_stack : - { - end = . ; /* 'end' symbol defines heap location */ - _end = end ; - . = . + _min_heap_size; /* Additional space for heap and stack */ - . = . + _min_stack_size; - } > RAM - - /* Remove information from the standard libraries */ - /DISCARD/ : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } -} diff --git a/stm32f767_link.ld b/stm32f767_link.ld deleted file mode 100644 index 3f82067..0000000 --- a/stm32f767_link.ld +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (C) 2017 by Andy Uribe CA6JAU - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* Required amount of heap and stack */ -_min_heap_size = 0x1000; -_min_stack_size = 0x0800; - -/* The entry point in the interrupt vector table */ -ENTRY(Reset_Handler) - -/* Memory areas */ -MEMORY -{ - ROM (rx) : ORIGIN = 0x08000000, LENGTH = 2048K /* FLASH */ - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 512K /* Main RAM */ -} - -/* Stack start address (end of 512K RAM) */ -_estack = ORIGIN(RAM) + LENGTH(RAM); - -SECTIONS -{ - .text : - { - /* The interrupt vector table */ - . = ALIGN(4); - KEEP(*(.isr_vector .isr_vector.*)) - - /* The program code */ - . = ALIGN(4); - *(.text .text*) - *(.rodata .rodata*) - - /* ARM-Thumb code */ - *(.glue_7) *(.glue_7t) - - . = ALIGN(4); - KEEP(*(.init)) - KEEP(*(.fini)) - - /* EABI C++ global constructors support */ - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - /* EABI C++ global constructors support */ - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - /* EABI C++ global constructors support */ - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - } > ROM - - /* ARM sections containing exception unwinding information */ - .ARM.extab : { - __extab_start = .; - *(.ARM.extab* .gnu.linkonce.armextab.*) - __extab_end = .; - } > ROM - - /* ARM index entries for section unwinding */ - .ARM.exidx : { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } > ROM - - /* Start address for the initialization values of the .data section */ - _sidata = .; - - /* The .data section (initialized data) */ - .data : AT ( _sidata ) - { - . = ALIGN(4); - _sdata = . ; /* Start address for the .data section */ - *(.data .data*) - - . = ALIGN(4); - _edata = . ; /* End address for the .data section */ - } > RAM - - /* The .bss section (uninitialized data) */ - .bss : - { - . = ALIGN(4); - _sbss = .; /* Start address for the .bss section */ - __bss_start__ = _sbss; - *(.bss) - *(.bss*) - *(COMMON) - - . = ALIGN(4); - _ebss = . ; /* End address for the .bss section */ - __bss_end__ = _ebss; - } > RAM - - /* Space for heap and stack */ - .heap_stack : - { - end = . ; /* 'end' symbol defines heap location */ - _end = end ; - . = . + _min_heap_size; /* Additional space for heap and stack */ - . = . + _min_stack_size; - } > RAM - - /* Remove information from the standard libraries */ - /DISCARD/ : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } -}