Teensyduino 1.54 Beta #5

Status
Not open for further replies.

Paul

Administrator
Staff member
Here is a fifth beta test for Teensyduino 1.54.

Install into a clean copy of Arduino if you previously installed beta3 or beta4.
SdFat-beta was renamed to SdFat. You may end up with conflicting duplicates if
installing over the top of beta3 or beta4.


Edit: Links removed. Please use 1.54-beta9
https://forum.pjrc.com/threads/67252-Teensyduino-1-54-Beta-9


Changes since Teensyduino 1.54-beta4:

File & FS classes improved - many changes!
Add LittleFS library - lots of new stuff here...
FS open() supports FILE_WRITE_BEGIN mode
SdFat-beta renamed to SdFat
Add delayNanoseconds() on Teensy 2.0, LC, 3.x
Print class support for 64 bit integers
DMAChannel attachInterrupt(isr, priority) (WMXZ)
Update NativeEthernet
SD listfiles example improved
Fix Audio PT8211 issue on Teensy 4.x
Improve Audio simultaneous WAV playing
Fix USB issue for MTP to run at 600 MHz
Fix double space on copy from serial monitor on Windows
Configurable MIDIx16 port names (vjmuzik)
Support for no USB (vjmuzik)

Known / Suspected bugs:

Selecting text in serial monitor gives visually wrong results
NativeEthernet WebClient example may hang
 
Did a clean install on a Win10 x64 of Arduino 1.8.13. Installed TD1.54-beta5 with no issues.

As a quick and dirty since it kind of hits everything that was edited on Filesystems tested with latest MTPResonder with the sketch modified to hit SD Card, RAM, SPIFlash and QSPIflash. Seems to be working for this appication:
Capture.PNG
 
Downloaded and installed beta 5 fine on Windows 10.

FIRST:: Went into the 1.8.13 IDE install and removed the "hardware\teensy\avr" to clear of prior betas etc, and removed local library for LittleFS.

Test sketch LFSintegrity built and runs fine on RAM [EXTMEM] as last run. No warnings or errors.
 
Installed, updated MTP removed other mtp.. built, nothing showed up on pc. Figured out I did not have so on pin 4, commented that out and now all the others show up :D
 
Wondering why in boards.txt usage :

>> USB_MTPDISK_SERIAL results in :: error: 'Serial' was not declared in this scope

But >> teensy41.menu.usb.mtp.build.usbtype=USB_MTPDISK has Serial defined

Or is that another mystery hidden in the MTP code?
 
beta5 happened overnight
Will next test MTP with beta5 (had to chase an issue first)
 
Tested MTP on beta5, seems to work.
Note: for using USB_MTPDISK_SERIAL one has to a) copy file contents into different usb_desc.h and boards.txt
Native MTP mode uses SEREMU and not Serial
If using T4 one needs USB2 from same github
 
OOoooo nice! I've been wanting to clean up my installs. Amazing how fast I get them polluted with excess stuff. Will throw it down on Ubuntu and W10.
 
I'm getting different results when compiling my TeensyMIDIPolySynth project source between the latest TD1.54beta5 & the previous TD1.54beta4. For each test, I uninstalled Arduino, installed Arduino 1.8.13, then installed TD1.54beta(4,5) under Windows10pro.

Arduino IDE Configuration:
Tools/Board: "Teensy 4.0"
Tools/USB Type: "Serial + MIDI"
Tools/CPU Speed: "600MHz"
Tools/Optimize: "Fastest"
Tools/Keyboard Layout: "US English"
Tools/Port: "COMx Serial (Teensy 4.0)"


Compilation results using TD1.54beta4:

Code:
Opening Teensy Loader...
Sketch uses 318972 bytes (15%) of program storage space. Maximum is 2031616 bytes.
Global variables use 500756 bytes (95%) of dynamic memory, leaving 23532 bytes for local variables. Maximum is 524288 bytes.

Failed compilation results using TD1.54beta5:

Code:
Opening Teensy Loader...
data section exceeds available space in board
Sketch uses 354968 bytes (17%) of program storage space. Maximum is 2031616 bytes.
Global variables use 533524 bytes (101%) of dynamic memory, leaving -9236 bytes for local variables. Maximum is 524288 bytes.
Not enough memory; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing your footprint.
Error compiling for board Teensy 4.0.


Just for comparison, compilation results using previous TD1.53:

Code:
Opening Teensy Loader...
Sketch uses 315776 bytes (15%) of program storage space. Maximum is 2031616 bytes.
Global variables use 467988 bytes (89%) of dynamic memory, leaving 56300 bytes for local variables. Maximum is 524288 bytes.


I know that there are different memory regions/types, so I'm assuming that I need to assign one or more of my variable allocations to a different memory type, but I do not know specifically where to begin. Recommendations on where to look and/or start ??


Also getting some new compiler warnings, but these don't worry me nearly as much as being unable to compile successfully (exceeding RAM):

Code:
[FONT=Courier New]In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.h:307:0,
                 from C:\Users\mjculross\Documents\Arduino\MJCsource\TeensyMIDIPolySynth\TeensyMIDIPolySynth.ino:61:
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:285:6: note: declared here
 void MidiInterface<Transport, Settings, Platform>::sendPolyPressure(DataByte inNoteNumber,
      ^
TeensyMIDIPolySynth: In function 'void usbhostMIDI_handleAfterTouchPoly(byte, byte, byte)':
TeensyMIDIPolySynth:17712: warning: 'void midi::MidiInterface<Transport, _Settings, _Platform>::sendPolyPressure(midi::DataByte, midi::DataByte, midi::Channel) [with Transport = midi::SerialMIDI<HardwareSerial>; _Settings = midi::DefaultSettings; _Platform = midi::DefaultPlatform; midi::DataByte = unsigned char; midi::Channel = unsigned char]' is deprecated 
    MIDI.sendPolyPressure(note, pressure, channel);
                                                 ^
In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.h:307:0,
                 from C:\Users\mjculross\Documents\Arduino\MJCsource\TeensyMIDIPolySynth\TeensyMIDIPolySynth.ino:61:
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src/MIDI.hpp:285:6: note: declared here
 void MidiInterface<Transport, Settings, Platform>::sendPolyPressure(DataByte inNoteNumber,
      ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SdFat-beta\src\ExFatLib\ExFatPartition.cpp: In member function 'bool ExFatPartition::freeChain(uint32_t)':
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SdFat-beta\src\ExFatLib\ExFatPartition.cpp:328:5: warning: 'next' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if ((cluster + 1) != next || status == 0) {
     ^
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SdFat-beta\src\FatLib\FatPartition.cpp: In member function 'bool FatPartition::freeChain(uint32_t)':
C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SdFat-beta\src\FatLib\FatPartition.cpp:368:36: warning: 'next' may be used uninitialized in this function [-Wmaybe-uninitialized]
       m_allocSearchStart = cluster - 1;
                                    ^
[/FONT]

Thanks,

Mark J Culross
KD5RXT
 
Last edited:
Some of this increase is probably due to the change to SdFat. It's much faster and supports cards larger than 32GB and long filenames, but all that SD card goodness does come with a code size cost.


Recommendations on where to look and/or start ??

The linker creates a .sym file detailing all the memory allocation. After you compile, it should be sitting inside the temporary folder where Arduino built your code. To find that folder, you may need to enable verbose output while compiling in File > Preference. Then you can look for the pathnames in the many compiler commands.

If you'd like me (or maybe others) to take a look, just capture the .sym files from each version's compile. Arduino should automatically delete all temporary files when you quit, so grab it before you close the IDE. You might have to put them into a zip file to attach to a message here on the forum.

Other recent changes might be burning up memory. Those .sym files are the first step to figure out what's using so much more memory.
 
Other recent changes might be burning up memory. Those .sym files are the first step to figure out what's using so much more memory.

@PaulStoffregen:

Thanks for your reply to my inquiry. I'll take a detailed look at the .sym files as recommended. If I'm not able to narrow down the resolution with that analysis, I'll post the files for further help.

Thanks again,

Mark J Culross
KD5RXT

P.S. I've been following the SDFat related discussions & it all sounds like it will provide a very nice capability !! However, I am surprised that those changes would have the effects that I'm seeing, since the only extra includes in my project are: USBHost_t36.h, MIDI.h, EEPROM.h, & Audio.h. This seems to indicate that the SDFat stuff must be built into every project, rather than "included" only when needed. Convenience & capability always comes at a cost, but that cost is looking like it will be well worth the convenience in this case !! And besides that, it's an opportunity for me to learn something new (.sym file contents) !! Thanks again. MJC
 
Last edited:
Additional observation: in the process of generating the .sym files for the different TD versions, I thought I'd tinker with some of the other optimizations (I normally build everything at "Fastest" as indicated earlier) just to see how the optimization might affect memory usage. Setting optimization to "Smallest Code" gives the following results (& even better, it successfully avoids the problem of exceeding available RAM):

[with TD.154beta5 installed]

Sketch uses 240620 bytes (11%) of program storage space. Maximum is 2031616 bytes.
Global variables use 398356 bytes (75%) of dynamic memory, leaving 125932 bytes for local variables. Maximum is 524288 bytes.

I've never delved into the black art & science of compilers, but the resulting reduction in RAM usage is very surprising to me !!

Mark J Culross
KD5RXT
 
Hm, "blink" shows high RAM usage, too:
Code:
"C:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-size" -A "e:\\temp\\arduino_build_699700/Blink.ino.elf"
Der Sketch verwendet 15668 Bytes (0%) des Programmspeicherplatzes. Das Maximum sind 8126464 Bytes.
Globale Variablen verwenden [B]45756[/B] Bytes (8%) des dynamischen Speichers, 478532 Bytes für lokale Variablen verbleiben. Das Maximum sind 524288 Bytes.
heres the sym (nm) output:
Code:
00000000 T _stext
00000001 A _itcm_block_count
00000020 t __do_global_dtors_aux
00000025 A _teensy_model_identifier
00000044 t frame_dummy
0000007c 00000010 T setup
0000008c 0000002c T loop
000000b8 000000cc T delay
00000184 0000004c t digitalWrite.part.0
000001d0 0000000a T digitalWrite
000001dc 00000080 T pinMode
0000025c 00000018 T unused_interrupt_vector
0000026c t _MSP
00000274 00000002 T startup_default_early_hook
00000274 00000002 W startup_early_hook
00000278 00000002 T startup_default_late_hook
00000278 00000002 W startup_late_hook
0000027c 0000008c W HardFault_HandlerC
00000308 00000024 T Panic_Temp_isr
0000032c 00000070 t schedule_transfer
0000039c 00000036 t run_callbacks
000003d4 000000a0 t endpoint0_transmit.constprop.1
00000474 0000066c t isr
00000ae0 00000064 T usb_config_rx
00000b44 00000068 T usb_config_tx
00000bac 0000002e T usb_prepare_transfer
00000bdc 00000028 T usb_transmit
00000c04 00000024 T usb_receive
00000c28 00000058 T usb_init_serialnumber
00000c80 0000006c t rx_queue_transfer
00000cec 000000b4 t rx_event
00000da0 00000098 t usb_serial_flush_callback
00000e38 00000002 T usb_serial_reset
00000e3c 00000108 T usb_serial_configure
00000f44 0000000c T usb_serial_available
00000f50 00000044 T EventResponder::runFromInterrupt()
00000f94 00000004 T pendablesrvreq_isr
00000f98 00000020 T systick_isr
00000fb8 00000010 T main
00000fc8 000000f0 W yield
000010b8 00000134 T memcpy
000011ec 000002c4 T set_arm_clock
000014b0 0000004e T ultoa
00001500 000002b8 T pwm_init
000017b8 00000050 T sm_align_pool
00001808 00000090 T sm_set_pool
00001898 00000002 W serialEvent()
0000189c 0000000c T __errno
000018a8 00000050 T __libc_init_array
000018f8 0000009a T memset
00001998 00000008 t ___init_veneer
000019a0 T _etext
000019a0 T _fini
000019a4 T __exidx_end
000019a4 T __exidx_start
00004934 A _flashimagelen
20000000 D _sdata
20000000 00000370 D digital_pin_to_info_PGM
20000370 0000006c D usb_descriptor_list
200003dc 00000004 D led
200003e0 00000012 d device_descriptor
200003f4 00000016 V usb_string_serial_number
200003f4 00000016 D usb_string_serial_number_default
2000040a 00000001 D yield_active_check_flags
2000040c 00000004 D F_BUS_ACTUAL
20000410 00000004 D F_CPU_ACTUAL
20000418 00000428 d impure_data
20000840 00000004 D _impure_ptr
20000844 D _edata
20000844 B _sbss
20000844 b completed.8605
20000848 b object.8610
20000860 00000004 B systick_cycle_count
20000864 00000004 B scale_cpu_cycles_to_microseconds
20000868 00000004 B systick_millis_count
2000086c 00000001 B external_psram_size
20000870 00000004 b s_hotTemp
20000874 00000004 b s_hot_ROOM
20000878 00000004 b s_roomC_hotC
2000087c 00000004 b s_hotCount
20000880 00000004 B usb_timer0_callback
20000884 00000004 b endpointN_notify_mask
20000888 00000001 b sof_usage
2000088c 00000004 B usb_timer1_callback
20000890 00000001 B usb_high_speed
20000894 00000004 b endpoint0_notify_mask
20000898 00000001 b usb_reboot_timer
200008a0 00000008 b endpoint0_setupdata
200008a8 00000008 b reply_buffer
200008b0 00000008 b endpoint0_buffer
200008b8 00000001 B usb_configuration
200008bc 00000010 b rx_index
200008cc 00000002 b tx_packet_size
200008ce 00000001 b tx_noautoflush
200008cf 00000001 b tx_head
200008e0 00000100 b rx_transfer
200009e0 00000001 b rx_tail
200009e4 00000009 b rx_list
200009ee 00000002 b rx_packet_size
200009f0 00000010 b rx_count
20000a00 00000004 b rx_available
20000a04 00000001 b rx_head
20000a06 00000002 b tx_available
20000a08 00000001 B usb_cdc_line_rtsdtr
20000a20 00000080 b tx_transfer
20000aa0 00000004 B EventResponder::firstInterrupt
20000aa4 00000004 B EventResponder::lastInterrupt
20000aa8 00000004 B EventResponder::lastYield
20000aac 00000004 B EventResponder::firstYield
20000ab0 00000001 B EventResponder::runningFromYield
20000ab1 00000001 b yield::running
20000ab2 00000001 b calibrating
20000ab4 00000020 B HardwareSerial::s_serials_with_serial_events
20000ad4 00000001 B HardwareSerial::s_count_serials_with_serial_events
20000ad8 00000004 B systick_safe_read
20000c00 00000010 B extmem_smalloc_pool
20001000 000002c0 B _VectorsRam
20002000 00000020 B endpoint0_transfer_data
20002020 00000020 B endpoint0_transfer_ack
20003000 00000280 B endpoint_queue_head
20003280 00000008 B usb_cdc_line_coding
20003288 00000004 B usb_cdc_line_rtsdtr_millis
[B]200032c0[/B] B _ebss
20078000 T _estack
20200000 0000004b B usb_descriptor_buffer
20200060 00001000 b rx_buffer
20201060 00002000 b txbuffer
20203060 b _heap_start
20280000 T _heap_end
60000000 00000200 T FlexSPI_NOR_Config
60001000 00000020 T ImageVectorTable
60001020 0000000c T BootData
6000102c 00000270 T ResetHandler
6000129c 000000f8 T configure_cache
60001394 000003bc T configure_external_ram
60001750 00000064 T usb_pll_start
600017b4 0000011c T tempmon_init
600018d0 000000ec T usb_init
600019bc 00000058 T analog_init
60001a14 00000016 V usb_string_product_name
60001a14 00000016 T usb_string_product_name_default
60001a2c 00000018 V usb_string_manufacturer_name
60001a2c 00000018 T usb_string_manufacturer_name_default
60001a44 00000004 T string0
60001a48 0000004b T usb_config_descriptor_12
60001a94 0000004b T usb_config_descriptor_480
60001ae0 0000000a t qualifier_descriptor
60001aea 00000001 T _serialEvent_default
60001aec T _init
60001af8 00000008 t __usb_init_serialnumber_veneer
60001b00 00000008 t __startup_late_hook_veneer
60001b08 00000008 t __sm_set_pool_veneer
60001b10 00000008 t __memset_veneer
60001b18 00000008 t __delay_veneer
60001b20 00000008 t ____libc_init_array_veneer
60001b28 00000008 t __startup_early_hook_veneer
60001b30 00000008 t __main_veneer
60001b38 00000008 t __set_arm_clock_veneer
60001b40 00000008 t __pwm_init_veneer
60001b48 t __frame_dummy_init_array_entry
60001b48 T __init_array_start
60001b48 T __preinit_array_end
60001b48 T __preinit_array_start
60001b4c T __init_array_end
60001b50 A _stextload
600034f4 A _sdataload
60003d38 00000c00 T hab_csf
70000000 B _extram_end
70000000 B _extram_start
aaaaaaab A _flexram_bank_config
I'm not sure if the Arduino-Output is correct.. or I do miss something..
ebss is at 32c0, which is 12992 decimal - makes more sense(?)

Seems to a problem in the *.ld files and/or platform.txt
The displayed numbers are a bit off...
 
Last edited:
It has seemed the % used calc is accurate and fails when RAM abused and no room for stack - not included in those calcs.

@luni showed this the other day - an edit to boards.txt on the .ld line:

@luni: --print-memory-usage is cool it works in boards.txt on the .ld line.

Edit like this - per processor:
teensy41.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax "-T{build.core.path}/imxrt1062_t41.ld"

Shows this on verbose build:
Code:
Memory region         Used Size  Region Size  %age Used
            ITCM:         64 KB       512 KB     12.50%
            DTCM:       54080 B       512 KB     10.31%
             RAM:       24736 B       512 KB      4.72%
           FLASH:       73916 B      7936 KB      0.91%
            ERAM:          0 GB        16 MB      0.00%
Where ITCM and DTCM share the same 512 KB TCM memory - Instructions and Data
 
Great!

you can just create a boards.local.txt (seems not to work on a MAC) ,
and add this:
Code:
teensy41.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax "-T{build.core.path}/imxrt1062_t41.ld" 
teensyMM.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax "-T{build.core.path}/imxrt1062_mm.ld"
teensy40.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax "-T{build.core.path}/imxrt1062.ld"
teensy36.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk66fx1m0.ld"
teensy35.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk64fx512.ld"
teensy31.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk20dx256.ld"
teensy30.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk20dx128.ld"
teensyLC.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mkl26z64.ld"
boards.local.txt stays and will not be overwritten by updates.
 
Last edited:
Great!

you can just create a boards.local.txt (seems not to work on a MAC) ,
and add this:
Code:
teensy41.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax "-T{build.core.path}/imxrt1062_t41.ld" 
teensyMM.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax "-T{build.core.path}/imxrt1062_mm.ld"
teensy40.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax "-T{build.core.path}/imxrt1062.ld"
boards.local.txt stays and will not be overwritten by updates.

DONE! And tested to work with TSET in SublimeText - I already lost my prior edit with Beta5 install and had to look it up. Thanks for the reminder to do the .local. :: T:\arduino-1.8.13_t54\hardware\teensy\avr

It will of course need redone if the Arduino folder changes with a new IDE or other reason. Like the other day I deleted that Directory to make sure Beta 5 installed clean.
 
@Paul,
As you (maybe) touch the ld-files anyway - could you rename "RAM" to "OCRAM"?
That would make the output a little bit more logical.
 
Great!

you can just create a boards.local.txt (seems not to work on a MAC) ,
and add this:
Code:
teensy41.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax "-T{build.core.path}/imxrt1062_t41.ld" 
teensyMM.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax "-T{build.core.path}/imxrt1062_mm.ld"
teensy40.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax "-T{build.core.path}/imxrt1062.ld"
teensy36.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk66fx1m0.ld"
teensy35.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk64fx512.ld"
teensy31.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk20dx256.ld"
teensy30.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk20dx128.ld"
teensyLC.build.flags.ld=-Wl,--print-memory-usage,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mkl26z64.ld"
boards.local.txt stays and will not be overwritten by updates.

Very cool! Just did it myself on a Windows 10 machine. Thank you. :)
 
Here is a fix for the serial monitor text selecting bug, which was added by 1.54-beta4. Turns out I made a silly off-by-1 mistake while fixing the problem where a long line of text would force the serial monitor to horizontal scroll. That error would not manifest until much later, when selecting text or when the serial monitor would need to redraw its window.

To install this, extract the zip file and copy pde.jar to {Arduino}/lib. On Windows, the default Arduino folder is C:/Program Files (x86)/Arduino.
 

Attachments

  • pde.zip
    426.2 KB · Views: 135
Here is a fix for the serial monitor text selecting bug, which was added by 1.54-beta4. Turns out I made a silly off-by-1 mistake while fixing the problem where a long line of text would force the serial monitor to horizontal scroll. That error would not manifest until much later, when selecting text or when the serial monitor would need to redraw its window.

To install this, extract the zip file and copy pde.jar to {Arduino}/lib. On Windows, the default Arduino folder is C:/Program Files (x86)/Arduino.

Seems to have made it right.

For Windows ZIP extract the file is :: {arduino}\lib
 
Reminder:

The information about the used memory is wrong.
Also for Teensy 3.x

Would be good to have that working :)

Blink, Teensy 3:
Code:
Memory region         Used Size  Region Size  %age Used
           FLASH:        7136 B         1 MB      0.68%
             RAM:        3464 B       256 KB      1.32%

vs:

Der Sketch verwendet 8376 Bytes (0%) des Programmspeicherplatzes. Das Maximum sind 1048576 Bytes.
Globale Variablen verwenden 3112 Bytes (1%) des dynamischen Speichers, 259032 Bytes für lokale Variablen verbleiben. Das Maximum sind 262144 Bytes.

T4:
Code:
Memory region         Used Size  Region Size  %age Used
            ITCM:         32 KB       512 KB      6.25%
            DTCM:        5376 B       512 KB      1.03%
             RAM:       12384 B       512 KB      2.36%
           FLASH:       15704 B      1984 KB      0.77%


vs:

Der Sketch verwendet 12628 Bytes (0%) des Programmspeicherplatzes. Das Maximum sind 2031616 Bytes.
Globale Variablen verwenden 38140 Bytes (7%) des dynamischen Speichers, 486148 Bytes für lokale Variablen verbleiben. Das Maximum sind 524288 Bytes.
 
Status
Not open for further replies.
Back
Top