Forum Rule: Always post complete source code & details to reproduce any issue!
Page 1 of 9 1 2 3 ... LastLast
Results 1 to 25 of 207

Thread: Teensyduino 1.54 Beta #5

  1. #1
    Administrator Paul's Avatar
    Join Date
    Oct 2012
    Posts
    412

    Teensyduino 1.54 Beta #5

    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...no-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

  2. #2
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    7,429
    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:
    Click image for larger version. 

Name:	Capture.PNG 
Views:	72 
Size:	10.8 KB 
ID:	22540

  3. #3
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    14,869
    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.

  4. #4
    Senior Member
    Join Date
    May 2015
    Location
    USA
    Posts
    1,057
    Frequent overruns unless I patch the feedback code in usb_audio.cpp.

    https://forum.pjrc.com/threads/61142...-on-Teensy-4-0

  5. #5
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    9,425
    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

  6. #6
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    14,869
    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?

  7. #7
    Senior Member
    Join Date
    Jul 2014
    Posts
    3,316
    beta5 happened overnight
    Will next test MTP with beta5 (had to chase an issue first)

  8. #8
    Senior Member
    Join Date
    Jul 2014
    Posts
    3,316
    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

  9. #9
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    14,869
    Using latest WMXZ github of MTP : WORKING HERE TOO

    About to post extended test sketch there

  10. #10
    Member LitterBug's Avatar
    Join Date
    Nov 2020
    Location
    Earth
    Posts
    24
    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.

  11. #11
    Senior Member
    Join Date
    Apr 2020
    Location
    DFW area in Texas
    Posts
    282
    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:
    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;
                                        ^
    
    Thanks,

    Mark J Culross
    KD5RXT
    Last edited by kd5rxt-mark; 11-22-2020 at 11:32 PM.

  12. #12
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    24,784
    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.


    Quote Originally Posted by kd5rxt-mark View Post
    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.

  13. #13
    Senior Member
    Join Date
    Apr 2020
    Location
    DFW area in Texas
    Posts
    282
    Quote Originally Posted by PaulStoffregen View Post
    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 by kd5rxt-mark; 11-23-2020 at 02:09 AM.

  14. #14
    Senior Member
    Join Date
    Apr 2020
    Location
    DFW area in Texas
    Posts
    282
    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

  15. #15
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    9,056
    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 45756 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
    200032c0 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 by Frank B; 11-23-2020 at 06:33 AM.

  16. #16
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    9,056
    -> @kd5rxt-mark maybe your project works, despite of displayed "101%" RAM. Just try it.

  17. #17
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    14,869
    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

  18. #18
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    9,056
    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 by Frank B; 11-23-2020 at 09:10 AM. Reason: added more Teensys

  19. #19
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    14,869
    Quote Originally Posted by Frank B View Post
    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.

  20. #20
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    9,056
    @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.

  21. #21
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    7,429
    Quote Originally Posted by Frank B View Post
    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.

  22. #22
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    9,056
    Quote Originally Posted by mjs513 View Post
    Very cool! Just did it myself on a Windows 10 machine. Thank you.
    Thank Luni

  23. #23
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    24,784
    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.
    Attached Files Attached Files

  24. #24
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    14,869
    Quote Originally Posted by PaulStoffregen View Post
    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

  25. #25
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    9,056
    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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •