after updating Eclipse to 2023-03

master
Mateusz Lubecki 2023-04-16 10:14:12 +02:00
rodzic 265969b672
commit ccfdab8821
30 zmienionych plików z 174 dodań i 374 usunięć

Wyświetl plik

@ -14,7 +14,7 @@
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="${cross_rm} -rf" description="ParaTNC" errorParsers="org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GCCErrorParser" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.827603628" name="STM32F100_ParaTNC" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.enablement=null,org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.image=null,org.eclipse.cdt.docker.launcher.containerbuild.property.connection=null" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug">
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="${cross_rm} -rf" description="ParaTNC" errorParsers="org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GCCErrorParser" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.827603628" name="STM32F100_ParaTNC" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.enablement=null,org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.connection=null,org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.image=null" parent="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug">
<folderInfo id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.827603628." name="/" resourcePath="">
<toolChain id="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug.334630505" name="Cross ARM GCC" superClass="ilg.gnuarmeclipse.managedbuild.cross.toolchain.elf.debug">
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.1849839382" name="Optimization Level" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.optimization.level.debug" valueType="enumerated"/>

Wyświetl plik

@ -2,10 +2,10 @@
<project>
<configuration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.827603628" name="STM32F100_ParaTNC">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider class="org.eclipse.cdt.core.language.settings.providers.LanguageSettingsGenericProvider" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider" name="CDT User Setting Entries" prefer-non-shared="true"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="893947698641861052" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cross ARM" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="838199035882065652" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cross ARM" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
@ -13,10 +13,10 @@
</configuration>
<configuration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.debug.827603628.109360039" name="STM32L476_ParaMETEO">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider class="org.eclipse.cdt.core.language.settings.providers.LanguageSettingsGenericProvider" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider" name="CDT User Setting Entries" prefer-non-shared="true"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="910025024327584425" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cross ARM" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="813754081161391399" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cross ARM" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

178
README-pl
Wyświetl plik

@ -1,178 +0,0 @@
ParaTNC wersja 1.0-19082017
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// W katalogu 'doc' znajduje się większa ilość dokumentacji i instrukcji użytkownika
// obecnie ten plik jest przestarzay i nie obejmuje najnowszych możliwości oprogramowania i sprzętu
// ParaTNC. Proszę przeczytać anglojęzyczną wersję w pliku README
1. WSTĘP
ParaTNC jest oprogramowaniem wbudowanym (firmware) przeznaczonym do pracy na płytce STM32VLDISCOVERY w charakterze
uniwersalnego radiomodemu/sterownika sieci APRS, wyposażonego w szereg funkcjonalności takich jak:
-> Digipeater retransmitujący pakiety posiadające ustawioną ścieżkę WIDE1-1.
-> Dwustronna komunikacja z komputerem przy użyciu protokołu KISS po łączu szeregowym (TTL-UART).
-> Stacja pogodowa z obsługą wiatromierza TX20, termometru Dallas DS12B20 oraz czujnika ciśnienia MS5611.
-> Telemetria umożliwiająca monitorowanie ilości odbieranych, nadawanych i powtarzanych pakietów.
-> Obsługa protokołu tekstowego VE.Direct używanego przez systemu fotowoltaiki Victron Energy
Niewątpliwą zaletą ParaTNC są bardzo niskie koszta. Wynoszące jedynie 60~70pln bruttno na zakup STM32VLDISCOVERY.
Ponieważ dekodowanie i generowanie transmisji APRS odbywa się w pełni programowo nie ma konieczności użycia tandetnych
podróbek modemu TCM, sprzedawanych obecnie na ebay i aliexpress przez dostawców z Chin. Lutowanie ogranicza się wyłącznie
do wykonania odpowienich kabli połączeniowch. stosowna instrukcja z pinoutami znajduje się w pliku WIRING.
2. LICENCJA
Warunki licencjonowania są zawarte w pliku LICENSE.
3. WSPIERANE FUNKCJONALNOŚCI PROTOKOŁU VE.DIRECT
Protokół (w wersji tekstowej, nie binarnej) VE.Direct został stworzony przez firme Victron Energy i jest wykorzystywany
w produkowanych przez nią inwerterów, kontrolerów ładowania i innego sprzętu do instalacji fotowoltaicznych. Służy on do
przesyłania telemetrii z kontrolera do komputera PC, lub w tym przypadku sterownika ParaTNC. Jest on domyślnie włączony
w większości urządzeń i w trybie bezczynności, tj. bez komunikacji protokołem binarnym z aplikacją konfiguracyjną
urządzenie będzie wysyłało co kilka sekund paczkę danych telemetrycznych.
Komunikacja z urządzeniami Victron Energy odbywa się przez złącze VE.Direct, które jest tak naprawdę zwykłym złączem szeregowym.
W przypadku regulatorów z serii MPPT (w moim przypadku model MPPT75/15) używane są sygnały na poziome TTL-3.3V, dlatego można
je podłączyć do sterownika ParaTNC/STM32VLDISCOVERY bezpośrednio, tj. bez użycia konwerterów typu MAX232.
Złącze VE.Direct w regulatorach z serii MPPT znajduje się poniżej bezpiecznika. Patrząc na złącze mając otwory montażowe w obudowie
zwrócone ku dołowi rozpiska jest taka (od prawej do lewej)
-> Masa
-> TX, dane z regulatora do hosta (kontrolera)
-> RX, dane z hosta do regulatora. Nie wykorzystywany przez protokół tekstowy
VE.Direct wysyła bardzo wiele różnych parametrów i informacji statusowych. Oczywiście ze względu na ograniczenia standardu APRS
nie ma możliwości wysyłania wszystkiego, dlatego ostatecznie dokonano następującego wyboru
a) Prąd akumulatora (ładowanie/rozładowywanie), jako trzeci kanał telemetrii
b) Napięcie akulatora, jako czwarty kanał telemetrii
c) Napięcie fotoogniwa, jako piąty kanał telemetrii
d) Status urządzenia (aktualny tryby ładowania, brak ładowania, akumulator bliski rozładowania), jako część statusu
e) Kody błędów (zwarcie, zbyt wysokie napięcie aku/panela, przegrzanie, przeciążenie itp), jako część statusu
3. KONFIGURACJA
Na chwilę obecną ParaTNC jest dostarczane w formie kodów źródłowych do samodzielnej kompilacji. Ponieważ dostępne jest
source, konfiguracja odbywa się przez edycję pliku ./include/station_config.h . Zawiera on komentarze tłumaczące znaczenie
poszczególnych opcji. Oprócz typowych i raczej trywialnych ustawień APRS takich jak znak wywoławczy i temu podobne,
użytkownik może włączać i wyłączać poszczególne tryby pracy urządzenia. Możliwe są następujące kombinacje
-> KISS
-> KISS + DIGI
-> KISS + DIGI + METEO
-> VICTRON + DIGI + METEO
-> VICTRON + DIGI
Włączenie funkcjonalności stacji pogodowej (przez odkomentowanie _METEO) automatycznie włącza digipeater nawet jeżeli
zakomentowane jest #define _DIGI w pliku konfiguracyjnym. Komunikacja z komputerem odbywa się na prędkości 9600bps, a sam
protokół KISS działa od samego początku pracy urządzenia i nie musi być w żaden sposób inicjalizowany ze strony PC.
Włączenie wsparcia dla protokołu VE.Direct odbywa się przez odkomentowanie //#define _VICTRON.
UWAGA!! Włączenie VE.Direct wyłącza i uniemożliwia wykorzystanie ParaTNC w trybie modemu KISS.
Sterownik wysyła co 10 minut ramkę telemetryczną zawierającą informację o ilości odebranych, nadanych i powtórzonych
pakietów APRS przez okres minionych 10 minut. Ilość nadanych ramek jest sumą powtórzonych ramek i ramek własnych
wliczając w to ramki telemetrii. Co ok 75 minut nadawane są pełne opisy kanałów.
Sterownik nie umożliwia bezpośrednie transmitowanie jakichkolwiek danych do internetu (do serwerów APRS-IS) z powodów
oczywistych. Uruchomienie funkcjonalności igate wymaga podłączenia przez UART komputera PC, Raspberry-PI lub czegokolwiek
innego na czym można uruchomić oprogramowanie takie jak APRX, APRSIS32, czy UiView32. Na chwile obecną pakiety własne,
czyli generowane przez sterownik ramki pozycyjne, pogodowe czy telemetryczne są nadawane wyłącznie na port radiowy.
W przyszłości pojawi się funkcjonalność polegająca na wysyłaniu przez KISS do komputera nie tylko ramek odebranych drogą
radiową, ale również tych pochodzenia własnego.
4. KOMPILACJA
Do kompilacji oprogramowania ParaTNC na płytkę STM32VLDISCOVERY potrzebny jest zestaw narzędzi GNU ARM Embedded Toolchain
w którego skład wchodzi kompilator gcc-arm-none-eabi, debugger gdb, linker, oraz zestaw bibliotek i plików include.
Dodatkowo niezbędny jest make i binutils znajdujący się w kazdej dystrybucji linuksa. ParaTNC został napisany i jest
rozwijany na systemie Xubuntu 16.04LTS z toolchainem w wersji 2016q-3, aczkolwiek bez problemu będzie się kompilował na
dowolnie nowszej wersji. Kompilacja w systemie Windows czy MacOS nie jest wspierana ale powinna się udać, jeżeli ktoś
potrafi odpowiednio skonfigurować całe środowisko.
W przypadku systemów Debian i ubunto-podobnych zdecydowanie zaleca się instalację toolchain przez aptitude z repozytorium
internetowego. Jest to szybkie, wygodne i powoduje, że wszystkie komponenty są kopiowane do domyślnych folderów instalacji,
co pozwala uniknąć serii błędów ze względu na niemożność odnalezienia ścieżki do np. gcc przez make.
Informację na temat GNU ARM Embedded Toolchain, jego źródła, skompilowane wersję dystrybucyjne i dokumentację znajdują się:
https://launchpad.net/gcc-arm-embedded
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
Instrukcja konfiguracji repo i instalacji pakietu znajduje się tutaj.
https://launchpad.net/~team-gcc-arm-embedded/+archive/ubuntu/ppa
Binutils i make znajduje się w repozytorium debiana/ubuntu, w przypadku GNU ARM Embedded należy zgodnie z instrukcją z
powyższego linku dodać odpowiednie repozytorium zewnętrzne.
'sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa'
'sudo aptiude update'
'sudo aptitude install make automake binutils gcc-arm-embedded'
Jeżeli źródła nie zostały jeszcze skonfigurowane należy zainstalować w systemie git i sklonować repozytorium kodu
na lokalny dysk twardy. W tym celu należy wydać polecenie będąc w katalogu gdzie chcemu aby znalazły się źródła:
'git clone https://github.com/sp8ebc/para-tnc'
a następnie skonfigurować plik ./include/station_config.h . Po instalacji wymaganego programowania należy wejść w podkatalog
Debug i wydać polecenie
'make'.
Źródła powinny się skompilować a w tymże katalogu pojawić się plik 'ParaTNC-ARM-Lite.hex' gotowy do wgrania do płytki.
Dowodem na poprawne zakończenie procesu są poniższe komunikaty w konsoli, które powinny pojawić się pod sam koniec procesu
kompilacji
Finished building target: ParaTNC-ARM-lite.elf
Invoking: Cross ARM GNU Create Flash Image
arm-none-eabi-objcopy -O ihex "ParaTNC-ARM-lite.elf" "ParaTNC-ARM-lite.hex"
Finished building: ParaTNC-ARM-lite.hex
Invoking: Cross ARM GNU Print Size
arm-none-eabi-size --format=berkeley "ParaTNC-ARM-lite.elf"
text data bss dec hex filename
36512 552 3312 40376 9db8 ParaTNC-ARM-lite.elf
Finished building: ParaTNC-ARM-lite.siz
5. WGRYWANIE PLIKU HEX DO PŁYTKI STM32VLDISCOVERY
Płytka STM32VLDISCOERY ma wbudowany programator/debugger sprzętowy ST-Link v1. Komunikacja z nim odbywa się przez
komendy SCSI passthrough a samo urządzenie wykrywa się w systemie jako pamięć masowa. W domyślnej konfiguracji po
podłączeniu płytki prez USB do komputera system (a dokładnie modprobe) automatycznie załaduje dla tego urządzenia sterownik
mass-storage, system zamontuje emulowany przez programator system plików jako pendrive, co uniemożiwi zaprogramowanie.
W związku z powyższym należy w jego konfiguracji zablokować takie zachowanie. Robi się to przy pomocy polecenia:
'sudo echo "options usb-storage quirks=483:3744:i" >> /etc/modprobe.d/stlink_v1.conf'
Po ponownym uruchomieniu komputera warto sprawdzić, czy konfiguracja działa. Po podłączeniu STM32VLDISCOERY żadna dodatkowa
pamięć masowa (pendrive) nie powinna zostać zamontowana. Po sprawdzeniu przez 'dmesg' na końcu powinno być miej więcej coś
takiego:
[90639.895886] usb 2-1.1: new full-speed USB device number 13 using ehci-pci
[90639.990288] usb 2-1.1: New USB device found, idVendor=0483, idProduct=3744
[90639.990294] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[90639.990296] usb 2-1.1: Product: STM32 STLink
[90639.990298] usb 2-1.1: Manufacturer: STMicroelectronics
[90639.990300] usb 2-1.1: SerialNumber: QÿrI\xffffffc2\xffffff86RV%X\xffffffc2\xffffff87
[90639.990796] usb-storage 2-1.1:1.0: USB Mass Storage device detected
[90639.992973] usb-storage 2-1.1:1.0: device ignored
W dalszym ciągu należy zainstalować oprogramowanie texane-stlink które służy do obsługi programatora stlink-v1/v2 w
systemie linux.
'git clone git://github.com/texane/stlink.git'
'cd stlink.git'
'make'
'cd build/Relase'
'sudo cp st-* /usr/bin'
Na koniec, jeżeli programator działa można wrzucić program do płytki. Po przejściu do katalogu ./para-tnc/Debug
wywołuje się następujące polecenie
'sudo st-flash --format ihex write /dev/sr0 ParaTNC-ARM-lite.hex'
Jeżeli podczas programowania w konsoli wyskoczy błąd -1, lub jakikolwiek inny warto zresetować płytkę przez wyjęcie
i ponowne włożenie wtyczki USB (czarny przycisk RST jest podłączony do targetu a nie programatora).

Wyświetl plik

@ -1,99 +1,58 @@
ParaTNC version DF15, April 4th 2021
-----------------------------------------
# ParaTNC and ParaMETEO firmware version EA19, April 2023
// Please look into 'doc' directory for more documentation and user manuals
// WARNING: This readme could be sligtly outdated due to my lack of time :)
// Ongoing changes
// ---------------
// Currently intense refactoring is done, which will result in new main software version EA00.
// EA00 will remove the support for any Hardware Revision before HW-RevC, so it won't work on STM32VLDISCOVERY
// anymore. Conditional compilation will be removed, so EA00 and all consecutive version will be build as
// one binary with support to everything. The configuration will be kept in Flash memory and could be
// altered 'on the fly' by using some external (not yet started) software tool, without a need to recompile
// and reflash the controller.
#### INTRODUCTION
1. INTRODUCTION
ParaTNC is a hardware and a software which offers the functionality of multi function APRS controler.
The software itself can also run on cheap STM32VLDISCOVERY board with slightly reduced functionality, but
with costs about 10..12 euro this gives the cheapest possible standalone APRS controller.
ParaTNC and ParaMETEO is a two APRS controller which has sligtly different target and different features. Source code in this repository called ParaTNC is a firmware to both of them. The name comes from the fact that ParaTNC was the first project.
ParaAPRS supports key elements of what good APRS device should have:
-> Two directional KISS TNC (no init strings required).
-> WIDE1-1 digipeater, with an option to limit digipeating only to SSIDs 7, 8 and 9.
-> Weather station with support for various meteo sensors. Full list od supported devices in point 5.
-> Extensive telemetry with an information about the count of receved, transmitted and digipeated frames plus status of weather sensors.
-> Support for VE.Direct serial protocol used in Victron PV charging controllers. The data about currents and voltages in the PV system are transmitted using APRS telemetry.
-> Support for UMB Binary porotocol as a mater.
__ParaTNC__ supports key elements of what good APRS device should have:
- Two directional KISS TNC (no init strings required).
- WIDE1-1 digipeater, with an option to limit digipeating only to SSIDs 7, 8 and 9.
- Weather station with support for various meteo sensors. Full list od supported devices in point section below.
- Extensive telemetry with an information about the count of receved, transmitted and digipeated frames plus status of weather sensors.
- Support for VE.Direct serial protocol used in Victron PV charging controllers. The data about currents and voltages in the PV system are transmitted using APRS telemetry.
- Support for UMB Binary porotocol as a mater.
- Support for Modbus RTU
- Three different grounds separated one from the another (Controller, weather sensors, analog interface to FM radio)
ParaAPRS can be used as a standalone weather station controller w/o using the radio transmission. The sw
by default sends the measuremenets values
__ParaMETEO__ is full outdoor and easy to install, complete APRS device which can be supplied with power either from mains and PV system.. It supports the same list of feature than ParaTNC and:
- integrated MPPT charger for 12V / 9Ah AGM battery enclosed in the same case.
- integrated GSM module and support for APRS-IS communication (can run RX-igate)
- support for MAX31865 amplifier for 2, 3 or 4-wire PT100/PT1000 temperature sensor
- 7.5V dc converter to supply HT radio installed in the case for APRS radio network
2. ParaAPRS HARDWARE
The ParaTNC software can run on STM32VLDISCOVERY board but it really shows it full potential od it's own
dedicated hardware. This not only rub out all bodge wires required with prototype board. It gives
few features which are hardly not possible without dedicated PCB
a) Two different grounds separated one from the another (HW Revision A and B)
-> Controller
-> DB9 connector used to interface with a radio and Wind & Temperature sensor
aa) ONLY IN HW REVISION C: Three different grounds separated one from the another
-> Controller
-> DB9 connector used to interface with a radio
-> Wind and temperature sensor including RS485 bus
b) Isolated DC-DC coverter to supply sensors with an option to connect another external power supply itself
c) A relay used as a watchdog to reset wind & temperature sensor in case that no communication will be received.
d) RS232 serial port avaliable on Cisco style RJ45 connector.
e) RS485 serial port interchable with RS232 (with HW Revision A) or working fully independly (HW Revision B)
f) PCB designed to fit into Mikrotik RB411/RB711 enclosure.
ParaTNC PCB could be manufactured used a set of generber files locates in ./hardware/ directory a long with schematics and
layout renders (top and bottom layer).
3. CURRENT OPEN POINTS AND ISSUES RELATED TO HW & SW
As usually every design has some flaws, less or more important. In case of ParaTNC they can be divided into two
parts, separately for software and hardware. Firstly in case of software an end user should USE ALWAYS THE SOURCE CODE
WITH THE NEWEST TAG marked as non-beta (like DE07). ParaTNC repository is used for daily development, so the last commit
can even sometimes don't compile at all, or consist some major bugs. 
***Please remember than ParaTNC firmware no longer runs on STM32VLDSICOVERY board!***
Hardware workarounds in HW Revision A:
-> Missing resistor in series with base of transistor T2. External 1k must be added in series with TX line
-> Foortprint location of R7 (RX_LVL) and R8 (TX_LVL) helipots are 'not optimal'. If 'normal' pots are to be used the vertical
version must be chosen as flat one won't fit due to neighbouring components location.
-> J1 power-in jack has reversed polarity (negative center)
-> The chineese manufacturer dropped the TX20 anemometer from the production which means that a supoprt to it
became a little bit obsoloete for new installations. Support for Davis 6410 anemometer or any another with
pulse output for windspeed and potentiometer (resistance output) for direction is ongoing and should be
avaliable in HW-Revision B and further SW releases.
ParaTNC PCB could be manufactured used a set of generber files locates in ./hardware/ directory a long with schematics and layout renders (top and bottom layer).
Hardware workarounds in HW Revision B:
-> Few missing traces in micro supply. Few bodge wired needs to be added. Please look at hardware-revision-b-errata.jpg in 'hardware'
#### LICENSING
4. LICENSING
ParaTNC software and hardware are licensed under terms included to the source code in 'LICENSE' file
5. SUPPORTED METEO SENSORS
a) Wind sensors:
- TX20 (not in manufacturing anymore)
#### SUPPORTED METEO SENSORS
+ Wind sensors:
- Davis 6410 or any another analogue anemometer with resisntance as a direction output and impulses as a windspeed
WARNING: Not avaliable in Hardware Revision A due to lack of circuitry. Fully working only in HW-Rev C
- Lufft V200A/Ventus or any other UMB compatible device.
- Any Modbus-RTU sensor
b) Pressure Sensors:
+ Pressure Sensors:
- MS5611
- Bosh BMP280
- Any UMB protocol compatible device
- Any Modbus-RTU sensor
c) Temperature sensors:
+ Temperature sensors:
- Dallas One wire DS18B20
- Two, three or four wire PT100/PT1000
- Any UMB protocol compatible device
- Any Modbus-RTU sensor
d) Humidity Sensors:
+ Humidity Sensors:
- DHT22
- Bosh BMP280
- Any Modbus-RTU sensor (F&F MB-AHT1 is recommended)
6. SUPPORTED FEATURES OD VE.Direct PROTOCOL
#### SUPPORTED FEATURES OF VE.Direct PROTOCOL
Most of Victron devices have a support both for binary and text serial protocol. By default the text procol (VE.Direct) is
always enabled and a device will send from its own telegrams each couple of seconds. The communication via VE.Direct is
avaliable through dedicated socket on the charging controller which is just 3.3V TTL levels UART, so no external ICs is
@ -101,60 +60,54 @@ required to connect the PV controller to an evaluation board. In the MPPT series
side of the charging controller below the fuse holder.
Exact pinout of the VE.Direct comm socket is as follows, assuming that terminal screws are facing down:
-> Ground
-> TX, data from host to the PV controller
-> RX, data from PV controller to the host
+ Ground
+ TX, data from host to the PV controller
+ RX, data from PV controller to the host
The controller sends a lot of different data which cannot be completely transmitted through APRS network due to radioprotocol
limitations. Only these parameters are transmitted:
-> Battery Current (charging as positive, discharging as negative) in third channel of telemetry.
-> Battery Voltage as fourth telemetry channel.
-> PV cell Voltage as fifth telemetry channel.
-> Charging Controller status (like current charging mode) and minimum/maximum battery current in last 10 minutes.
-> Error Codes if any (short circuit, overheat, overvoltage on PV or battery input)
+ Battery Current (charging as positive, discharging as negative) in third channel of telemetry.
+ Battery Voltage as fourth telemetry channel.
+ PV cell Voltage as fifth telemetry channel.
+ Charging Controller status (like current charging mode) and minimum/maximum battery current in last 10 minutes.
+ Error Codes if any (short circuit, overheat, overvoltage on PV or battery input)
7. TELEMETRY
*** Please note that VE.Direct is supported only in ParaTNC. In theory it is possible to connect any Victron Energy controller to ParaMETEO, but it has no sense in practice. ParaMETEO has it's own integrated chaging controller. ***
#### TELEMETRY
If the VE.Direct protocol suppot is disabled the ParaTNC uses telemetry packets to send internal statistics and
general information about communication with sensors. Telemetry works in 10 minutes cycle, which means that packets are sent
every 10 minutes and they represents a state for the time between one and another.
Analog channels:
1st Channel: Number of packets received in 10 minutes.
2nd Channel: Number of packets transmitted in 10 minutes (digi-ed + generated internally by the controller)
3rd Channel: Number of digipeated packets in 10 minutes.
4th Channel: Number of packet received from Host by KISS protocol
5th Channel: Optional temperature from Dalls One Wire sensor.
Analog channels (ParaTNC):
Digital Channels:
DS_QF_FULL - Quality Factor for One Wire temperature sensor is FULL
DS_QF_DEGRAD - Quality Factor for One Wire temperature sensor is DEGRADATED
DS_QF_NAVBLE - Quality Factor for One Wire temperature sensor is NOT AVALIABLE
MS_QF_NAVBLE - Quality Factor for MS5611 pressure sensor ins NOT AVALIABLE
DHT_QF_NAVBLE - Quality Factor for DHT22 humidity & temperature is NOT AVALIABLE
WIND_QF_DEGR - LaCrosse TX20 anemometer driver dropped at least one measuremenet due to excesive slew rate.
WIND_QF_NAVB -
- 1st Channel: Number of packets received in 10 minutes.
- 2nd Channel: Number of packets transmitted in 10 minutes (digi-ed + generated internally by the controller)
- 3rd Channel: Number of digipeated packets in 10 minutes.
- 4th Channel: Number of packet received from Host by KISS protocol
- 5th Channel: Optional temperature from Dalls One Wire sensor.
Explantion of Quality Factors: Each measuremenets signal is kept along with the Quality Factor which represents the sensor condition
Digital Channels (ParaTNC):
1. DS_QF_FULL - Quality Factor for One Wire temperature sensor is FULL
2. DS_QF_DEGRAD - Quality Factor for One Wire temperature sensor is DEGRADATED
3. DS_QF_NAVBLE - Quality Factor for One Wire temperature sensor is NOT AVALIABLE
4. MS_QF_NAVBLE - Quality Factor for MS5611 pressure sensor ins NOT AVALIABLE
5. DHT_QF_NAVBLE - Quality Factor for DHT22 humidity & temperature is NOT AVALIABLE
6. WIND_QF_DEGR - LaCrosse TX20 anemometer driver dropped at least one measuremenet due to excesive slew rate.
7. WIND_QF_NAVB -
Explantion of Quality Factors:
Each measuremenets signal is kept along with the Quality Factor which represents the sensor condition
and value validity. If the QF is set to FULL it means that no communication problems happened between one telemetry cycle and another
DEGRADATED is set if at least once the communication problem happened (CRC calculation fail, timeout etc). NOT AVALIABLE is set
if all communication atempts failed and no valid measuremenet value is avaliable. By default each Quality Factor is set to
NOT AVALIABLE after the telemetry packets are sent.
The TX20 anemometer driver has a Slew Rate Limiter which keeps out all 'spikes' in values mostly due to RF interference. if the
difference between two consecutive measuremenets excedes hardcoded limit (9m/s) the software drops the value.
8. CONFIGURATION
At this point ParaTNC is delivered in form of source code which needs to be manually compiled by the user. Most options are
configured by #define in './include/station_config.h' and then hard-coded by the C preprocessor during compilation. An example file
consist a lot of comments which explains what is what, but generally an user can choose there which mode should be enabled:
#### CONFIGURATION
At this point ParaTNC is delivered in form of source code which needs to be manually compiled by the user. Most options are configured by #define in './include/station_config.h' and then hard-coded by the C preprocessor during compilation. An example file consist a lot of comments which explains what is what, but generally an user can choose there which mode should be enabled:
Hardware Revision A:
-> KISS TNC
-> KISS TNC + DIGI
-> KISS TNC + DIGI + METEO
-> VICTRON + DIGI + METEO
-> VICTRON + DIGI
Hardware Revision B & C:
-> KISS TNC
-> KISS TNC + DIGI
@ -162,20 +115,22 @@ consist a lot of comments which explains what is what, but generally an user can
-> KISS TNC + VICTRON + DIGI + METEO
-> KISS TNC + VICTRON + DIGI
-> KISS TNC + UMB-MASTER + DIGI + METEO
In Hardware Revision A there is no option to use a KISS modem and the VE.Direct protocol in the same time as only
one UART in the micro is used and handled by software. In hardware revisions B and C two UARTS are used and handled by
the software. The KISS modem is always enabled and avaliable on RJ45 Cisco style jack.
Harcoded values from station_config.h are then used as defaults. Normally firmware loads config from separate sections in flash memory. Configuration is stored twice in two section, to enable easy and safe configuration change from host pc. Each section has a programming counter and CRC value. Software calculates checksum and use last good configuration.
-> Defaults (only ParaTNC): 0x0801E000
-> First section: 0x0801E800
-> Second section: 0x0801F000
The KISS modem runs on default speed of 9600 bps. Telemetry is enabled by default and it will
trasmit channels values each 10 minutes and full channel descriptions each 70 minutes.
9. TOOLCHAIN
To build the ParaTNC software 'GNU ARM Embedded Toolchain' is required. This set contains gcc-arm-none-eabi compiler,
gdb debugger, linker, HEX generator and set of libraries. ParaTNC is developed in Xubuntu 16.04LTS and 20.04LTS
using toolchain in version 2018-q2. Please take note that You have to use 64-bit version of the operation system
as the 32-bit variant of the toolchain is not avaliable.
#### TOOLCHAIN
To build the ParaTNC software 'GNU ARM Embedded Toolchain' is required. This set contains gcc-arm-none-eabi compiler, gdb debugger, linker, HEX generator and set of libraries. ParaTNC is developed in Xubuntu 16.04LTS, 20.04LTS and 22.04 using toolchain in version 2018-q2. Please take note that You have to use 64-bit version of the operation system as the 32-bit variant of the toolchain is not avaliable.
This firmware is developed using Eclipse IDE for Embedded C/C++ Developers in Version: 2023-03 (4.27.0)
Exact GCC version is 7.3.1 and it present itself with a string like this below
gcc version 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907] (GNU Tools for Arm Embedded Processors 7-2018-q2-update)
@ -198,23 +153,17 @@ so the structure should looks like this
drwxr-xr-x 4 mateusz mateusz 4096 cze 22 2018 share
mateusz@mateusz-ThinkCentre-M720q:/usr/local/bin/gcc-arm-none-eabi-7-2018-q2-update$
Both a makefile and an Eclipse project are configured to look for toolchain in this directory. In some cases to perform
a debugging in Elipse You will have to install libncurses5 library which is required to start GDB. To check if
this is a case try to start the debugger manually by issuing such command in the prompt
Both a makefile and an Eclipse project are configured to look for toolchain in this directory. In some cases to perform a debugging in Elipse You will have to install libncurses5 library which is required to start GDB. To check if this is a case try to start the debugger manually by issuing such command in the prompt
'/usr/local/bin/gcc-arm-none-eabi-7-2018-q2-update/bin/arm-none-eabi-gdb --version'
If such result will be printed in the console, libncurses5 must be installed, prefferably using system package
manager like aptitude in Debian/Ubuntu
If such result will be printed in the console, libncurses5 must be installed, prefferably using system package manager like aptitude in Debian/Ubuntu
'libraries: libncurses.so.5: cannot open shared object file: No such file or directory'
To start debugging session in Eclipse you must create new 'GDB OpenOCD Debugging' configuration and set paths
to OpenOCD and GDB in 'Debugger' tab. OpenOCD usually sits in '/usr/bin/openocd', the path to GDB is shown in
the paragraph before. Remember to set 'Config Options:' to tell the OpenOCD what JTAG adapter/debugger is used
in Your setup. If You're using ST-Link/V2 paste '-f interface/stlink-v2.cfg -f target/stm32f1x_stlink.cfg'
To start debugging session in Eclipse you must create new 'GDB OpenOCD Debugging' configuration and set paths to OpenOCD and GDB in 'Debugger' tab. OpenOCD usually sits in '/usr/bin/openocd', the path to GDB is shown in the paragraph before. Remember to set 'Config Options:' to tell the OpenOCD what JTAG adapter/debugger is used in Your setup. If You're using ST-Link/V2 paste '-f interface/stlink-v2.cfg -f target/stm32f1x_stlink.cfg'
10. DOWNLOADING THE SOURCE CODE AND COMPILING IT
#### DOWNLOADING THE SOURCE CODE AND COMPILING IT
When everything is installed the reporistory can be cloned to local harddrive by using a command
'git clone https://github.com/sp8ebc/ParaTNC'
@ -240,7 +189,8 @@ application which doesn't works exactly as it should because of optimalization c
22:29:38 Build Finished (took 13s.231ms)
11. LOADING THE HEX FILE USING THE SERIAL BOOTLOADER
#### LOADING THE HEX FILE USING THE SERIAL BOOTLOADER
If You don't have a JTAG programmer/debugger or You just not want to or can't use it for any reason, You can choose
Internal Serial Bootloader provided by STMicroelectronics. It's code is stored in mask ROM within microcontroler
and can be used anytime, and in scope of ParaTNC it practically cannot be disabled or locked. Please remember that
@ -258,7 +208,7 @@ relay clicking and LEDs blinking for a short while. After the power supply is co
you can disconnect the jumper and start the FlashLoader software to download the HEX file to micro. After process is done
you should do a cold reset without jumper shorter.
12. LOADING THE HEX FILE INTO STM32VLDISCOVERY BOARD
#### LOADING THE HEX FILE INTO STM32VLDISCOVERY BOARD
The STM32VLDISCOVERY board has an ST-Link/V1 programmer-debugger on board which can be used to load a HEX file.
This ST-Link appears normally as a mass storage device which makes in unusable to be used by HEX loadin software
in Linux (as the device will be 'blocked' by the mass-storage driver). To workaround this problem, a configuration

Wyświetl plik

@ -57,6 +57,17 @@ endif
-include ../makefile.defs
OPTIONAL_TOOL_DEPS := \
$(wildcard ../makefile.defs) \
$(wildcard ../makefile.init) \
$(wildcard ../makefile.targets) \
BUILD_ARTIFACT_NAME := ParaTNC
BUILD_ARTIFACT_EXTENSION := elf
BUILD_ARTIFACT_PREFIX :=
BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),)
# Add inputs and outputs from these tool invocations to the build variables
SECONDARY_FLASH += \
ParaTNC.hex \
@ -66,23 +77,26 @@ ParaTNC.siz \
# All Target
all: ParaTNC.elf secondary-outputs
all: main-build
# Main-build Target
main-build: ParaTNC.elf secondary-outputs
# Tool invocations
ParaTNC.elf: $(OBJS) $(USER_OBJS)
ParaTNC.elf: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)
@echo 'Building target: $@'
@echo 'Invoking: Cross ARM C++ Linker'
arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -T mem.ld -T libs.ld -T sections.ld -nostartfiles -Xlinker --gc-sections -L"../ldscripts/stm32f100" -Wl,-Map,"ParaTNC.map" --specs=nano.specs -u _printf_float -o "ParaTNC.elf" $(OBJS) $(USER_OBJS) $(LIBS)
arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -T mem.ld -T libs.ld -T sections.ld -nostartfiles -Xlinker --gc-sections -L"../ldscripts/stm32f100" -Wl,-Map,"ParaTNC.map" --specs=nano.specs -u _printf_float -o "ParaTNC.elf" $(OBJS) $(USER_OBJS) $(LIBS)
@echo 'Finished building target: $@'
@echo ' '
ParaTNC.hex: ParaTNC.elf
ParaTNC.hex: ParaTNC.elf makefile objects.mk $(OPTIONAL_TOOL_DEPS)
@echo 'Invoking: Cross ARM GNU Create Flash Image'
arm-none-eabi-objcopy -O ihex "ParaTNC.elf" "ParaTNC.hex"
@echo 'Finished building: $@'
@echo ' '
ParaTNC.siz: ParaTNC.elf
ParaTNC.siz: ParaTNC.elf makefile objects.mk $(OPTIONAL_TOOL_DEPS)
@echo 'Invoking: Cross ARM GNU Print Size'
arm-none-eabi-size --format=berkeley "ParaTNC.elf"
@echo 'Finished building: $@'
@ -95,6 +109,6 @@ clean:
secondary-outputs: $(SECONDARY_FLASH) $(SECONDARY_SIZE)
.PHONY: all clean dependents
.PHONY: all clean dependents main-build
-include ../makefile.targets

Wyświetl plik

@ -92,10 +92,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
src/%.o: ../src/%.c
src/%.o: ../src/%.c src/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -41,10 +41,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/aprs/%.o: ../system/src/aprs/%.c
system/src/aprs/%.o: ../system/src/aprs/%.c system/src/aprs/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -17,10 +17,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/cmsis/%.o: ../system/src/cmsis/%.c
system/src/cmsis/%.o: ../system/src/cmsis/%.c system/src/cmsis/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -20,10 +20,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/cortexm/%.o: ../system/src/cortexm/%.c
system/src/cortexm/%.o: ../system/src/cortexm/%.c system/src/cortexm/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -17,10 +17,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/davis_vantage/%.o: ../system/src/davis_vantage/%.c
system/src/davis_vantage/%.o: ../system/src/davis_vantage/%.c system/src/davis_vantage/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -17,10 +17,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/diag/%.o: ../system/src/diag/%.c
system/src/diag/%.o: ../system/src/diag/%.c system/src/diag/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -23,10 +23,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/drivers/f1/%.o: ../system/src/drivers/f1/%.c
system/src/drivers/f1/%.o: ../system/src/drivers/f1/%.c system/src/drivers/f1/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -26,10 +26,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/drivers/%.o: ../system/src/drivers/%.c
system/src/drivers/%.o: ../system/src/drivers/%.c system/src/drivers/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -23,10 +23,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/modbus_rtu/%.o: ../system/src/modbus_rtu/%.c
system/src/modbus_rtu/%.o: ../system/src/modbus_rtu/%.c system/src/modbus_rtu/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -33,17 +33,17 @@ CPP_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/newlib/%.o: ../system/src/newlib/%.cpp
system/src/newlib/%.o: ../system/src/newlib/%.cpp system/src/newlib/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C++ Compiler'
arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu++11 -fabi-version=0 -fno-exceptions -fno-rtti -fno-use-cxa-atexit -fno-threadsafe-statics -Wunused-function -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-g++ -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu++11 -fabi-version=0 -fno-exceptions -fno-rtti -fno-use-cxa-atexit -fno-threadsafe-statics -Wunused-function -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '
system/src/newlib/%.o: ../system/src/newlib/%.c
system/src/newlib/%.o: ../system/src/newlib/%.c system/src/newlib/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -50,10 +50,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/stm32f1-stdperiph/%.o: ../system/src/stm32f1-stdperiph/%.c
system/src/stm32f1-stdperiph/%.o: ../system/src/stm32f1-stdperiph/%.c system/src/stm32f1-stdperiph/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -23,10 +23,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/umb_master/%.o: ../system/src/umb_master/%.c
system/src/umb_master/%.o: ../system/src/umb_master/%.c system/src/umb_master/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -14,10 +14,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/ve_direct_protocol/%.o: ../system/src/ve_direct_protocol/%.c
system/src/ve_direct_protocol/%.o: ../system/src/ve_direct_protocol/%.c system/src/ve_direct_protocol/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DTRACE -DSTM32F10X_MD_VL -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/stm32f1-stdperiph" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -57,6 +57,17 @@ endif
-include ../makefile.defs
OPTIONAL_TOOL_DEPS := \
$(wildcard ../makefile.defs) \
$(wildcard ../makefile.init) \
$(wildcard ../makefile.targets) \
BUILD_ARTIFACT_NAME := ParaTNC
BUILD_ARTIFACT_EXTENSION := elf
BUILD_ARTIFACT_PREFIX :=
BUILD_ARTIFACT := $(BUILD_ARTIFACT_PREFIX)$(BUILD_ARTIFACT_NAME)$(if $(BUILD_ARTIFACT_EXTENSION),.$(BUILD_ARTIFACT_EXTENSION),)
# Add inputs and outputs from these tool invocations to the build variables
SECONDARY_FLASH += \
ParaTNC.hex \
@ -69,29 +80,32 @@ ParaTNC.siz \
# All Target
all: ParaTNC.elf secondary-outputs
all: main-build
# Main-build Target
main-build: ParaTNC.elf secondary-outputs
# Tool invocations
ParaTNC.elf: $(OBJS) $(USER_OBJS)
ParaTNC.elf: $(OBJS) $(USER_OBJS) makefile objects.mk $(OPTIONAL_TOOL_DEPS)
@echo 'Building target: $@'
@echo 'Invoking: Cross ARM C++ Linker'
arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -T STM32L471RETx_FLASH.ld -Xlinker --gc-sections -L"../ldscripts/stm32l476" -L"../system/src/dsp" -Wl,-Map,"ParaTNC.map" -Xlinker --cref --specs=nano.specs -u _printf_float --specs=nosys.specs -o "ParaTNC.elf" $(OBJS) $(USER_OBJS) $(LIBS)
arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -T STM32L471RETx_FLASH.ld -Xlinker --gc-sections -L"../ldscripts/stm32l476" -L"../system/src/dsp" -Wl,-Map,"ParaTNC.map" -Xlinker --cref --specs=nano.specs -u _printf_float --specs=nosys.specs -o "ParaTNC.elf" $(OBJS) $(USER_OBJS) $(LIBS)
@echo 'Finished building target: $@'
@echo ' '
ParaTNC.hex: ParaTNC.elf
ParaTNC.hex: ParaTNC.elf makefile objects.mk $(OPTIONAL_TOOL_DEPS)
@echo 'Invoking: Cross ARM GNU Create Flash Image'
arm-none-eabi-objcopy -O ihex "ParaTNC.elf" "ParaTNC.hex"
@echo 'Finished building: $@'
@echo ' '
ParaTNC.lst: ParaTNC.elf
ParaTNC.lst: ParaTNC.elf makefile objects.mk $(OPTIONAL_TOOL_DEPS)
@echo 'Invoking: Cross ARM GNU Create Listing'
arm-none-eabi-objdump --source --all-headers --demangle --line-numbers --wide "ParaTNC.elf" > "ParaTNC.lst"
@echo 'Finished building: $@'
@echo ' '
ParaTNC.siz: ParaTNC.elf
ParaTNC.siz: ParaTNC.elf makefile objects.mk $(OPTIONAL_TOOL_DEPS)
@echo 'Invoking: Cross ARM GNU Print Size'
arm-none-eabi-size --format=berkeley "ParaTNC.elf"
@echo 'Finished building: $@'
@ -104,6 +118,6 @@ clean:
secondary-outputs: $(SECONDARY_FLASH) $(SECONDARY_LIST) $(SECONDARY_SIZE)
.PHONY: all clean dependents
.PHONY: all clean dependents main-build
-include ../makefile.targets

Wyświetl plik

@ -104,10 +104,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
src/%.o: ../src/%.c
src/%.o: ../src/%.c src/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -41,10 +41,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/aprs/%.o: ../system/src/aprs/%.c
system/src/aprs/%.o: ../system/src/aprs/%.c system/src/aprs/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -24,17 +24,17 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/cmsis/stm32l4xx/%.o: ../system/src/cmsis/stm32l4xx/%.S
system/src/cmsis/stm32l4xx/%.o: ../system/src/cmsis/stm32l4xx/%.S system/src/cmsis/stm32l4xx/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM GNU Assembler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -x assembler-with-cpp -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -USTM32F10X_MD_VL -I"../include" -I"../include/etc" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -x assembler-with-cpp -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -USTM32F10X_MD_VL -I"../include" -I"../include/etc" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '
system/src/cmsis/stm32l4xx/%.o: ../system/src/cmsis/stm32l4xx/%.c
system/src/cmsis/stm32l4xx/%.o: ../system/src/cmsis/stm32l4xx/%.c system/src/cmsis/stm32l4xx/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -17,10 +17,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/davis_vantage/%.o: ../system/src/davis_vantage/%.c
system/src/davis_vantage/%.o: ../system/src/davis_vantage/%.c system/src/davis_vantage/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -17,10 +17,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/diag/%.o: ../system/src/diag/%.c
system/src/diag/%.o: ../system/src/diag/%.c system/src/diag/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -26,10 +26,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/drivers/l4/%.o: ../system/src/drivers/l4/%.c
system/src/drivers/l4/%.o: ../system/src/drivers/l4/%.c system/src/drivers/l4/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -29,10 +29,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/drivers/%.o: ../system/src/drivers/%.c
system/src/drivers/%.o: ../system/src/drivers/%.c system/src/drivers/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -23,10 +23,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/modbus_rtu/%.o: ../system/src/modbus_rtu/%.c
system/src/modbus_rtu/%.o: ../system/src/modbus_rtu/%.c system/src/modbus_rtu/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -326,10 +326,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/stm32l4-hal-driver/%.o: ../system/src/stm32l4-hal-driver/%.c
system/src/stm32l4-hal-driver/%.o: ../system/src/stm32l4-hal-driver/%.c system/src/stm32l4-hal-driver/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -23,10 +23,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/umb_master/%.o: ../system/src/umb_master/%.c
system/src/umb_master/%.o: ../system/src/umb_master/%.c system/src/umb_master/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

Wyświetl plik

@ -14,10 +14,10 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
system/src/ve_direct_protocol/%.o: ../system/src/ve_direct_protocol/%.c
system/src/ve_direct_protocol/%.o: ../system/src/ve_direct_protocol/%.c system/src/ve_direct_protocol/subdir.mk
@echo 'Building file: $<'
@echo 'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -ffreestanding -fno-move-loop-invariants -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DSTM32L471xx -DPARAMETEO -USTM32F10X_MD_VL -UPARATNC_HWREV_A -UPARATNC_HWREV_B -UPARATNC_HWREV_C -I"../include" -I"../include/etc" -I"../system/include/tiny-aes" -I"../system/include/aprs" -I"../system/include" -I"../system/include/cmsis/stm32l4xx" -I"../system/include/cmsis/stm32l4xx/device" -I"../system/include/stm32l4-hal-driver" -I"../system/include/stm32l4-hal-driver/Legacy" -std=gnu11 -Wunused-function -Wall -Wa,-adhlns="$@.lst" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '