Does Teensy4 have less program memory than Teens3.6?

memaroo

Member
I am porting my project from Teensy3.6 to Teensy4. Finally got the sd card sorted out. :p

My program is very big and barely fits on the Teensy3.6. I have add one more global variable, the Teensy3.6 will probably not compile.

When i compile for Teensy4 with optimization settings: Fastest, i get this error: c:/program files (x86)/arduino/hardware/tools/arm/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: region `ITCM' overflowed by 98304 bytes

When I compile for Teensy4 with optimization setting: Smallest code Size. There is no error.

I'm surprised that it seems like Teensy4 has less program memory than Teensy3.6.

I did notice the DMAMem feature, but i was not able to successfully use it to allow my program to compile when using Fastest optimization. Is there anything else I can do to reduce my program size while still using optimization?

Thank you.
 
It is hard to know what exactly your memory fit issues are here without getting a better sense of where you are running out of memory.

@manitou mentioned a thread I started about memory regions. In here for example is a windows app (could probably be made to run on other platforms) that was started by Frank B. I did a few changes with it when we switched form T4 first beta to later versions... Some point soon may need to make more changes if it is a T4.1...

There are at least 4 types of memory to run out of.
a) The main 512KB which is shared by DTCM (data) and ITCM(non FLASHMEM code). They are are 16 32kb chunks in this range and the code will take how ever many chunks it needs to fit. The remaining chunks are setup to be used for Data. The fun of reducing code from here, is if your program is using something like 50K, you will not get any reduction is size until your code is < 32kb in size.

b) If your code uses a lot of data tables. If these tables are not marked const, they will be in DTCM. If they are marked const by default they will probably be in ITCM, unless you mark them as PROGMEM.

c) If you have a bunch of buffers that do not need to be initialized, you can mark them as DMAMEM, which moves them to the other 512KB memory. Likewise anything you create using the new operator or malloc will be allocated out of this other memory. If you are actually using these buffers for DMA, there are some interesting caveats on how DMA works...
 
Thank you.

I focused on TinyXml as the main offender. I added FLASHMEM to all the functions. I got it to stop overflowing the ITCM but now i get this:

Sketch uses 687488 bytes (33%) of program storage space. Maximum is 2031616 bytes.
Global variables use 588576 bytes (112%) of dynamic memory, leaving -64288 bytes for local variables. Maximum is 524288 bytes.


If I remove FLASHMEM from one function I get this:
c:/program files (x86)/arduino/hardware/tools/arm/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: region `ITCM' overflowed by 32768 bytes

It's odd that ITCM either goes between 32kb over to only utilizing 33% when I move one function to FLASHMEM.

All of this built and ran fine on the Teensy 3.6 with max optimization settings.

I will try to build and run the memory analysis tool.

Thank you.
 
Sketch uses 687488 bytes (33%) of program storage space. Maximum is 2031616 bytes.
Global variables use 588576 bytes (112%) of dynamic memory, leaving -64288 bytes for local variables. Maximum is 524288 bytes.
So you are code is using 687K out of 2000K of program space or 33%, but then it says that your data space is 588576 out of 528KB so it saying there is no room still for the full data storage... It again is it will not fit the data by about 64KB

But if you remove any of the FLASHMEM than it will allocate a 32kb block to ITCM, which reduces the space available for DTCM by 32kb...

The main simple data output at the end like this, it is sort of hard to explain the DTCM+ITCM=512KB...

It should also be noted that when it says: Global variables use 588576 bytes (112%)
It is actually worse than this, as you still need space here for your run time stack.
 
@memaroo - as noted the ITCM comes from the RAM1 area shared with DTCM - and ITCM can only allocate in 32KB blocks.

What is ODD is that somehow "Global variables use 588576 bytes (112%) of dynamic memory"
> Given the T_3.6 only has 256KB of RAM total something is getting double/multiply allocated or munged/confused in some fashion with the move to T_4 as presented for building.
The T_3.6 runs ALL code from FLASH with ALL RAM free for Stack and allocated variable data - but only 256KB total.
 
Ye, use DMAMEM for some arrays - as Kurt said. I guess there are 512kB unused in your program.

T_4's USB uses some of that DMAMEM already:
Code:
OCRAM: 512KB
    [B]DMAMEM:  12384 B[/B]	( 2.36% of  512 KB)
    Available for Heap: 511904 B	(97.64% of  512 KB)

The OCRAM/DMAMEM is perfectly usable for RAM arrays - just a bit slower clocking than RAM1 when not in the cache. That caching is what causes the grief when used as DMAMEM.
 
> Given the T_3.6 only has 256KB of RAM total something is getting double/multiply allocated or munged/confused in some fashion with the move to T_4 as presented for building.

Just to confirm. Are you saying that any program that would run on teensy3.6 (or at least compile and fit in the code sections.) should also compile and fit on a t4?

If that's the case then it definitely sounds like something is getting multiply included. Before i switched to t4 i used to add stdlib to the linker in platform manually. I checked that when I upgraded teensyduino for t4 then those settings were restored to the installer defaults. So those settings should be normal now and I have checked boards and platform files to see where they are adding the stdlib and it does not look added twice.

I compiled the example for USB_Serial>UsbToSerial. For teensy4, 600mhz, "fastest optimization". and this is the build output. Does this seem right?
Code:
C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\matt\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\matt\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\matt\Desktop\sol\b4\hardware\arduino\libraries -fqbn=teensy:avr:teensy40:usb=serial,speed=600,opt=o2std,keys=en-us -ide-version=10812 -build-path C:\Users\matt\AppData\Local\Temp\arduino_build_235842 -warnings=none -build-cache C:\Users\matt\AppData\Local\Temp\arduino_cache_550531 -verbose C:\Program Files (x86)\Arduino\examples\Teensy\USB_Serial\USBtoSerial\USBtoSerial.pde
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\matt\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\matt\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\matt\Desktop\sol\b4\hardware\arduino\libraries -fqbn=teensy:avr:teensy40:usb=serial,speed=600,opt=o2std,keys=en-us -ide-version=10812 -build-path C:\Users\matt\AppData\Local\Temp\arduino_build_235842 -warnings=none -build-cache C:\Users\matt\AppData\Local\Temp\arduino_cache_550531 -verbose C:\Program Files (x86)\Arduino\examples\Teensy\USB_Serial\USBtoSerial\USBtoSerial.pde
Using board 'teensy40' from platform in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr
Using core 'teensy4' from platform in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr
Detecting libraries used...
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\sketch\\USBtoSerial.pde.cpp" -o nul
Generating function prototypes...
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\sketch\\USBtoSerial.pde.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"C:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/precompile_helper" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr/cores/teensy4" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -x c++-header -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr/cores/teensy4" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch/Arduino.h" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch/Arduino.h.gch"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\sketch\\USBtoSerial.pde.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\sketch\\USBtoSerial.pde.cpp.o"
Compiling libraries...
Compiling core...
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -x assembler-with-cpp -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\memcpy-armv7m.S" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\memcpy-armv7m.S.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -x assembler-with-cpp -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\memset.S" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\memset.S.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\analog.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\analog.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\bootdata.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\bootdata.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\debugprintf.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\debugprintf.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\clockspeed.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\clockspeed.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\delay.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\delay.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\digital.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\digital.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\eeprom.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\eeprom.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\interrupt.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\interrupt.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\keylayouts.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\keylayouts.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\nonstd.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\nonstd.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\pwm.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\pwm.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\rtc.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\rtc.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\startup.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\startup.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\tempmon.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\tempmon.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\usb.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\usb_desc.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_desc.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\usb_joystick.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_joystick.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\usb_keyboard.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_keyboard.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\usb_midi.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_midi.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\usb_mouse.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_mouse.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\usb_rawhid.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_rawhid.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\usb_seremu.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_seremu.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\usb_serial.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_serial.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\usb_touch.c" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_touch.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\AudioStream.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\AudioStream.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\HardwareSerial.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\EventResponder.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\EventResponder.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\DMAChannel.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\DMAChannel.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\HardwareSerial1.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial1.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\HardwareSerial2.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial2.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\HardwareSerial3.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial3.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\HardwareSerial4.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial4.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\HardwareSerial5.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial5.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\HardwareSerial6.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial6.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\HardwareSerial7.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial7.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\HardwareSerial8.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial8.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\IPAddress.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\IPAddress.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\IntervalTimer.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\IntervalTimer.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\Print.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\Print.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\Stream.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\Stream.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\Tone.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\Tone.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\WMath.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\WMath.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\WString.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\WString.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\main.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\main.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\new.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\new.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\usb_flightsim.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_flightsim.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\usb_inst.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_inst.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=151 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/pch" "-IC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4\\yield.cpp" -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\yield.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\memcpy-armv7m.S.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\memset.S.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\analog.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\bootdata.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\clockspeed.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\debugprintf.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\delay.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\digital.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\eeprom.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\interrupt.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\keylayouts.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\nonstd.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\pwm.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\rtc.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\startup.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\tempmon.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_desc.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_joystick.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_keyboard.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_midi.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_mouse.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_rawhid.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_seremu.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_serial.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_touch.c.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\AudioStream.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\DMAChannel.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\EventResponder.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial1.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial2.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial3.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial4.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial5.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial6.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial7.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\HardwareSerial8.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\IPAddress.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\IntervalTimer.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\Print.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\Stream.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\Tone.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\WMath.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\WString.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\main.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\new.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_flightsim.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\usb_inst.cpp.o"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc-ar" rcs "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\core.a" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\core\\yield.cpp.o"
Archiving built core (caching) in: C:\Users\matt\AppData\Local\Temp\arduino_cache_550531\core\core_88a2d4dfef9509c3677628f3762a6fb0.a
Linking everything together...
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -O2 -Wl,--gc-sections,--relax "-TC:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4/imxrt1062.ld" -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -o "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/USBtoSerial.pde.elf" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842\\sketch\\USBtoSerial.pde.cpp.o" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/core\\core.a" "-LC:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842" -larm_cortexM7lfsp_math -lm -lstdc++
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/USBtoSerial.pde.elf" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/USBtoSerial.pde.eep"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-objcopy" -O ihex -R .eeprom "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/USBtoSerial.pde.elf" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/USBtoSerial.pde.hex"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/stdout_redirect" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/USBtoSerial.pde.lst" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-objdump" -d -S -C "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/USBtoSerial.pde.elf"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/stdout_redirect" "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/USBtoSerial.pde.sym" "C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-objdump" -t -C "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/USBtoSerial.pde.elf"
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/teensy_post_compile" -file=USBtoSerial.pde "-path=C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842" "-tools=C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/" -board=TEENSY40
Opening Teensy Loader...

"C:\\Program Files (x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-size" -A "C:\\Users\\matt\\AppData\\Local\\Temp\\arduino_build_235842/USBtoSerial.pde.elf"
Sketch uses 16992 bytes (0%) of program storage space. Maximum is 2031616 bytes.
Global variables use 41660 bytes (7%) of dynamic memory, leaving 482628 bytes for local variables. Maximum is 524288 bytes.
 
Any program that runs on the T_3.6 should/can be able to be made to run on a T_4.

The Instruction and Data portions are 512 MB in size. The default configuration ( see the pjrc.com/store/teensy40.html memory info page ) puts all code into that 512 KB block before the data area to run at full speed.

Look at using PROGMEM on lesser used or large pieces of code - or allocating heap memory at runtime where possible to gain access to the rest of what may be an additional 500 KB of RAM on the T_4. For static/const memory object mark them with PROGMEM to have them reside in FLASH.

On the T_3.6 all code and constant memory by default reside on the FLASH - this reserves the smaller 256KB of RAM for memory use. There are other explanations and notes - perhaps on a beta thread. There is a runtime memory pool library that shows where memory is allocated. Also a Windows tool imxrt-size.exe can be added to build time that gives notes on where memory is allocated.

This can add some complexity to use the faster processor - but that default config generally lets programs fit primary code into the lower 512KB of RAM1 where it can run at full processor speed. When that doesn't fit - it takes some updates/adjustments as noted above or perhaps in other posts.
 
Just to confirm. Are you saying that any program that would run on teensy3.6 (or at least compile and fit in the code sections.) should also compile and fit on a t4?

No. Teensy 3.6 has 1024K for program memory.

Teensy 4.0 has 512K which is partitioned between ITCM and DTCM. So if you have a huge program and all of it tries to use ITCM, you could easily get a situation where it would not fit in ITCM on Teensy 4.0.

But you could fix it by adding FLASHMEM.
 
thank you both for clarifying and the fast replies. i definitely have a huge program and it takes a long time to build. i did not know t3.6 had so much memory.

i have tried to use flashmem and i think i got within 1 page of fitting but haven't fit it yet. i use a lot of external libraries like arduinojson with a 30kb buffer. I think i probably have not quite augmented that library properly for flashmem. My strategy is to put flashmem everywhere that runs infrequently, like json and xml parsing. My project also uses tinyxml.

Is there someway I can mark a whole cpp file as flashmem?

or a whole arduino lib if i break up my code that way?

If I make one function flashmem, does it automatically flashmem all the child calls?


Here's a list of all the arduino libraries i'm using:
Multiple libraries were found for "Servo.h"
Used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Servo
Multiple libraries were found for "USBHost_t36.h"
Used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\USBHost_t36
Using library TeensyThreads-master at version 1.0.1 in folder: hardware\arduino\libraries\TeensyThreads-master
Using library project code
Using library Servo at version 1.1.2 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Servo
Using library ADC at version 8.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\ADC
Using library USBHost_t36 at version 0.1 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\USBHost_t36
Using library Adafruit_Sensor-master at version 1.0.3 in folder: hardware\arduino\libraries\Adafruit_Sensor-master
Using library Adafruit_BNO055-master at version 1.1.10 in folder: hardware\arduino\libraries\Adafruit_BNO055-master
Using library Wire at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Wire
Using library EEPROM at version 2.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\EEPROM
Using library SdFat-beta-master at version 2.0.0-beta.8 in folder: hardware\arduino\libraries\SdFat-beta-master
Using library SPI at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SPI
Using library PacketSerial-master at version 1.4.0 in folder: hardware\arduino\libraries\PacketSerial-master

Yes when i started I was 3 pages over. Now i'm only 1 page over. I think it's getting there!
 
Last edited:
Alright, that big list of project showed me some stuff i could prune. (ADC, Servo)

But now it says this:
Sketch uses 684544 bytes (33%) of program storage space. Maximum is 2031616 bytes.
data section exceeds available space in board
Global variables use 588576 bytes (112%) of dynamic memory, leaving -64288 bytes for local variables. Maximum is 524288 bytes.

I think that means i used too much flashmem? Then do i need to use more progmem or just literally try to reduce the code?

I would have expected sketch percentage to be higher if it was just over the limit with the ADC and Servo libs.
 
Frank B posted an alternate linker script that leaves all code in the 1900+KB of T_4.0 Flash (may have been demo'd for T_4.1?) - unless marked FASTRUN. That can hurt perf unless the right active code is marked for ITCM with FASTRUN

Non-trivial - would need work to manually incorporate as version change ... T4-0-Memory-trying-to-make-sense-of-the-different-regions

That post shows an ld file - the thread will have other memory details
 
Last edited:
Thanks!

I found the linker file here: https://forum.pjrc.com/threads/5732...ferent-regions?p=230558&viewfull=1#post230558
And the boards.txt file here: https://forum.pjrc.com/threads/5732...ferent-regions?p=230699&viewfull=1#post230699

I'm not sure thats the latest version.

With the "flash only" mode it seems to fit and I get this output:
Sketch uses 682272 bytes (33%) of program storage space. Maximum is 2031616 bytes.
Global variables use 78560 bytes (14%) of dynamic memory, leaving 445728 bytes for local variables. Maximum is 524288 bytes.

My other option is to use the "optimize for size" option. But since that de-optimizes everything and uses picolib, i'm worried something might break so i'd be leaning towards the flash option. Hopefully optimize-fastest + flashmem is still faster than optimize-smallest. And also hopefully still faster than 3.6 too. :) I'm getting into runtime testing now and i'll post back if I have more memory questions.

Thanks so much.
 
You can always mark your code that needs to be fast as "FASTRUN".
This will enable the original behaviour and copies the "FASTRUN"-code to the RAM (Still in 32kB blocks).
However, the libs will remain in Flash.

On the other hand, there is a 32KB cache for the program-flash so the speed impact is neglegtible in the most cases.
The Coremark-Benchmark for example runs exactly as fast as with the default linkage.
 
Last edited:
Update:
My program seems to be running pretty successfully. The only issue i'm still having is with the SDFat library and this expansion board: https://www.tindie.com/products/cburgess129/arduino-teensy4-teensy-40-expansion-board/ But he has a new version that should fix that issue. Using the default SD library is not fun. I hope Arduino can make SdFat part of the core (again).

Question:
Is it possible to enable incremental linking? I tried to add "-r" to the linker line but it said "--relax is not compatible with -r" and i think --relax is how the flash memory fix works? Just curious if it's possible to improve linking time. My program is nicely split into many different cpp files. So the compile time is minimal, but linking seems to take a fixed long time for any small (or big) change.
 
is it link or has upload started? Large sketches need to erase a lot of FLASH.

wHAT IS THE BOTTOM LINE ON THE COMPILE FOR USAGE?
 
I dont think upload as started. It didn't change the text yet or activate the uploader.

These?
Sketch uses 689712 bytes (33%) of program storage space. Maximum is 2031616 bytes.
Global variables use 82656 bytes (15%) of dynamic memory, leaving 441632 bytes for local variables. Maximum is 524288 bytes.

There is probably some way to have the build chain emit timing info but I'll have to look into that.


I does take a few seconds to program. But during program the LED is lit on teensy right? It seems to almost blink in seconds or pages, as well as with activity. My big program seem to take 4 big blinks on the teensy, assuming those are pages. But the slowdown I'm trying to optimize is before the LED activity.
 
Last edited:
Is it just me, or does it seem like using both JSON and XML on a microcontroller perhaps not the sweet spot of the Teensy microcontroller?
If you need JSON and XML and maybe HTTPS then perhaps using a Raspberry Pi for those bits (maybe a Zero, even) and then using Ethernet or OSB or SPI or UART to talk to the Teensy for the physical world I/O might be a totally reasonable system design.
I know that this is a comment somewhat orthogonal to the "slice my program up to run in flash on the T4" main thrust of the thread, but I feel it has to be said: One size doesn't have to fit all. All my best builds integrate multiple different components.
 
Feedback noted. :) You're not wrong. But i think teensy can handle it.

Even with no change at all, just press upload again.
Between "Linking everything together..." and "Global variables use 82656 bytes (15%)" only takes about 3 seconds. But then it just sits there. The status bar still says "Compiling Sketch..." The output looks like it has already called "teensy_post_compile". But the uploader has not been activated, the teensy is still running the old program, etc. It's like frozen before uploading. For about a minute. After about a minute, then it calls teensy_post_compile again and does the upload.

It's also definitely related to the large program. Small programs compile and then upload quickly as expected.
 
Last edited:
The uploader needs to read the output hex file. I wonder how it does that?
If you're on linux, you can use "top" and "strace" and "oprofile" to figure out where the time is spent.
On Windows, you may be able to use procmon and VTune to do the same.
 
Upload timing was just a query to get a picture. Not seeing general setup details - is this Windows or other?

On windows when TeensyLoader isn't running it has been taking 15 secs to start on first run - some system update as even older td 1.49 acts the same on start.. Works fine after that. Wonder if there are other exe's having slow start issues?

Builds though work fine. And using SublimeText editor in Windows and cmdline IDE build run with TSET it is logging sub 5 second rebuilds (typically small things) as it prints the time of the external execute. Not sure about IDE but not seeming slow.
 
Back
Top