Forum Rule: Always post complete source code & details to reproduce any issue!
Page 2 of 2 FirstFirst 1 2
Results 26 to 40 of 40

Thread: Teensyduino 1.55 Released

  1. #26
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    25,083
    Quote Originally Posted by Mcu32 View Post
    Paul, yes I bet the majority is happy. Not me, but that's bad luck.
    I'm not particularly happy about it either, as I do sometimes use the .lst files.

    Again, I'm hopeful to find a way to bring this feature back in future versions. I personally want to have it back. But I'm not willing to make it the default for everyone unless it can be done in a way that doesn't stall builds for a long time with larger code.

  2. #27
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    15,108
    Quote Originally Posted by Mcu32 View Post
    How large was the large test and how many % of programs is that large?
    ...
    This code was about 1MB in Flash. And was specifically designed to consume flash. It ran from Flash and was machine written code that cascaded 4,000 literal calls - like but instead of recursion for the purpose of running large code from FLASH to test the Encrypted code Beta Teensy Bootloader. It doesn't matter it ran from Flash - though that code would not have fit in RAM.
    Code:
    teensy_size: Memory Usage on Teensy 4.0:
    teensy_size:   FLASH: code:995464, data:326496, headers:8212   free for files:701444
    teensy_size:    RAM1: variables:90848, code:38008, padding:27528   free for local variables:367904
    teensy_size:    RAM2: variables:12384  free for malloc/new:511904
    So it did emulate an excessively large program too big for RAM1 ITCM - especially with it having a large amount of data in FLASH as well.

    When it took 2.5 minutes to upload I spent over an hour revamping my Windows computer to have a RAM drive for TEMP and other alterations - none of which helped cut that time. And with the 1.5 minutes of time not showing in console after 'build' was complete and teensy_size reported usage there was no idea what was happeneing until Paul indicated it was the .lst creation.

  3. #28
    Senior Member
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    9,345
    All is good. I have a backup of that file now. And I found that I can disable encryption. That saves some 100 milliseconds.

  4. #29
    Senior Member wwatson's Avatar
    Join Date
    Aug 2017
    Posts
    538
    @all - Not sure if this is the right place to post this. Anyway I just did a complete reinstall of Ubuntu 20.04. I installed Arduino 1.8.16 and TD 1.55 final. I compiled diskIOMB.ino without a problem but now it will not recognize the QPINAND device on the T4.1. So I compiled and tested it on my laptop with TD 1.55B2 and it see's and lists the QPINAND chip. Then I compiled the LittleFS Listfiles.ino modified to list the files on the QPINAND device. It failed with TD1.55 but worked with TD 1.55B2.

    Output of failure:
    Code:
    Initializing QPINAND Chip
    couldn't mount media, attemping to format
    format failed :(
    initialization failed!
    Here is the modified Listfiles.ino sketch:
    Code:
    // Print a list of all files stored on a flash memory chip
    
    #include <LittleFS.h>
    
    
    // Flash chip on Teensy Audio Shield or Prop Shield
    //LittleFS_SPIFlash myfs;
    LittleFS_QPINAND myfs;
    
    const int chipSelect = 3;
    
    
    void setup() {
      //Uncomment these lines for Teensy 3.x Audio Shield (Rev C)
      //SPI.setMOSI(7);  // Audio shield has MOSI on pin 7
      //SPI.setSCK(14);  // Audio shield has SCK on pin 14  
      
      // Open serial communications and wait for port to open:
      Serial.begin(9600);
      while (!Serial) { ; // wait for Arduino Serial Monitor
      }
    
      Serial.println("Initializing QPINAND Chip");
    
    //  if (!myfs.begin(chipSelect)) {
      if (!myfs.begin()) {
        Serial.println("initialization failed!");
        return;
      }
    
      Serial.print("Space Used = ");
      Serial.println(myfs.usedSize());
      Serial.print("Filesystem Size = ");
      Serial.println(myfs.totalSize());
    
      printDirectory(myfs);
    }
    
    
    void loop() {
    }
    
    
    void printDirectory(FS &fs) {
      Serial.println("Directory\n---------");
      printDirectory(fs.open("/"), 0);
      Serial.println();
    }
    
    void printDirectory(File dir, int numSpaces) {
       while(true) {
         File entry = dir.openNextFile();
         if (! entry) {
           //Serial.println("** no more files **");
           break;
         }
         printSpaces(numSpaces);
         Serial.print(entry.name());
         if (entry.isDirectory()) {
           Serial.println("/");
           printDirectory(entry, numSpaces+2);
         } else {
           // files have sizes, directories do not
           printSpaces(36 - numSpaces - strlen(entry.name()));
           Serial.print("  ");
           Serial.println(entry.size(), DEC);
         }
         entry.close();
       }
    }
    
    void printSpaces(int num) {
      for (int i=0; i < num; i++) {
        Serial.print(" ");
      }
    }
    Copied LittleFS from TD1.55B2 to TD 1.55 final. Still fails with same message.

    EDIT: Also fails with QSPI.ino in the Integrity folder:
    Code:
    LittleFS Test : File Integrity
    couldn't mount media, attemping to format                                                          
    format failed :(                                                                                   
    Error starting QSPI_NAND
    Last edited by wwatson; 09-18-2021 at 06:43 PM. Reason: More Info

  5. #30
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    15,108
    Quote Originally Posted by wwatson View Post
    @all - Not sure if this is the right place to post this. Anyway I just did a complete reinstall of Ubuntu 20.04. I installed Arduino 1.8.16 and TD 1.55 final. I compiled diskIOMB.ino without a problem but now it will not recognize the QPINAND device on the T4.1. So I compiled and tested it on my laptop with TD 1.55B2 and it see's and lists the QPINAND chip. Then I compiled the LittleFS Listfiles.ino modified to list the files on the QPINAND device. It failed with TD1.55 but worked with TD 1.55B2.

    Output of failure:
    [CODE]Initializing QPINAND Chip
    couldn't mount media, attemping to format
    format failed
    initialization failed!
    ...
    Using a T_4.1 with a NAND Flash it worked here to show the last files that media held from an Integrity test.
    > Win 11, IDE 1.8.16 and TD 1.55

    Only change was the first line output showing SRC sketch name and compile time
    Code:
    C:\T_Drive\tCode\littleFS\QSPI_NANDlist\QSPI_NANDlist.ino Sep 18 2021 14:25:14
    Initializing QPINAND Chip
    Space Used = 3801088
    Filesystem Size = 131596288
    Directory
    ---------
    1_dir/
      B_file.txt                          2536
      C_file.txt                          3048
      D_file.txt                          7120
    2_dir/
      A_file.txt                          21432
      D_file.txt                          10680
      E_file.txt                          12216
    3_dir/
      A_file.txt                          14288
      B_file.txt                          7608
      C_file.txt                          9144
    4_dir/
      C_file.txt                          6096
      D_file.txt                          7120
      E_file.txt                          8144
    5_dir/
      A_file.txt                          7144
      E_file.txt                          4072
    A_file.txt                            7144
    B_file.txt                            5072
    E_file.txt                            4072
    Returned to this working ...\hardware\teensy\avr\libraries\LittleFS\examples\Integrity\QSPI\QSPI.ino changed to NAND {#define TEST_QSPI_NAND // NAND Flash}, did a Quick format and changed files.
    Back to the above and it works:
    Code:
    C:\T_Drive\tCode\littleFS\QSPI_NANDlist\QSPI_NANDlist.ino Sep 18 2021 14:33:57
    Initializing QPINAND Chip
    Space Used = 71041024
    Filesystem Size = 131596288
    Directory
    ---------
    0_2MBfile.txt                         2048000
    0_bigfile.txt                         65513472
    1_dir/
      E_file.txt                          4072
    2_dir/
      A_file.txt                          7144
      B_file.txt                          2536
    3_dir/
      C_file.txt                          3048
      D_file.txt                          3560
    4_dir/
      A_file.txt                          14288
      B_file.txt                          5072
      C_file.txt                          6096
      D_file.txt                          7120
      E_file.txt                          8144
    5_dir/
      B_file.txt                          2536
      C_file.txt                          3048
    B_file.txt                            2536
    C_file.txt                            3048

  6. #31
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    7,557
    Quote Originally Posted by wwatson View Post
    @all - Not sure if this is the right place to post this. Anyway I just did a complete reinstall of Ubuntu 20.04. I installed Arduino 1.8.16 and TD 1.55 final. I compiled diskIOMB.ino without a problem but now it will not recognize the QPINAND device on the T4.1. So I compiled and tested it on my laptop with TD 1.55B2 and it see's and lists the QPINAND chip. Then I compiled the LittleFS Listfiles.ino modified to list the files on the QPINAND device. It failed with TD1.55 but worked with TD 1.55B2.

    Output of failure:
    Code:
    Initializing QPINAND Chip
    couldn't mount media, attemping to format
    format failed :(
    initialization failed!
    Here is the modified Listfiles.ino sketch:
    Code:
    // Print a list of all files stored on a flash memory chip
    .....
    Copied LittleFS from TD1.55B2 to TD 1.55 final. Still fails with same message.

    EDIT: Also fails with QSPI.ino in the Integrity folder:
    Code:
    LittleFS Test : File Integrity
    couldn't mount media, attemping to format                                                          
    format failed :(                                                                                   
    Error starting QSPI_NAND
    I don't have a T4.1 with a NAND chip soldered on the bottom but I do have a QSPI test board that I put together to test the different chips that could go on via QSPI. Ran your test sketch with a NAND chip (M02) and it seems to be working:
    Code:
    Initializing QPINAND Chip
    Space Used = 262144
    Filesystem Size = 265289728
    Directory
    ---------
    datalog.txt                           154
    I tested this with the IDE 1.8.16 with TD1.55. Maybe a bad install of 1.55?

  7. #32
    Senior Member wwatson's Avatar
    Join Date
    Aug 2017
    Posts
    538
    Figured it out. I had "optimizations:" set to Fastest. I changed from that to Fast, Faster, Smallest Code and with each of those settings QPINAND will mount. Not sure why the Fastest setting is failing. I checked TD1.55B2 and when I set that to Fastest it failed to mount QPINAND as well. Apparently I had not tried that optimization before.

    Why, I have no idea

  8. #33
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    15,108
    Quote Originally Posted by wwatson View Post
    Figured it out. I had "optimizations:" set to Fastest. I changed from that to Fast, Faster, Smallest Code and with each of those settings QPINAND will mount. Not sure why the Fastest setting is failing. I checked TD1.55B2 and when I set that to Fastest it failed to mount QPINAND as well. Apparently I had not tried that optimization before.

    Why, I have no idea
    Arrgggh. Yeah - early Beta on 4.0 suggested weird things happen - not using 'default : Faster' gave odd results - except 'debug' worked it seemed - so never tried much of the others. And the LTO that could be good on T_3.6 didn't seem to do well either.

    Maybe when the toolchains are jumped, that would be worth looking into ... maybe they'll work then?

  9. #34
    Senior Member wwatson's Avatar
    Join Date
    Aug 2017
    Posts
    538
    Quote Originally Posted by defragster View Post
    Arrgggh. Yeah - early Beta on 4.0 suggested weird things happen - not using 'default : Faster' gave odd results - except 'debug' worked it seemed - so never tried much of the others. And the LTO that could be good on T_3.6 didn't seem to do well either.

    Maybe when the toolchains are jumped, that would be worth looking into ... maybe they'll work then?
    That was the reason I started with a fresh install of Ubuntu 20.04 from 18.04. But even with using the Fastest optimization 18.04 and TD1.55Bx QPINAND would not mount. I checked that on my other desktop and my laptop. I guess I had not used the Fastest optimization at that point. Wonder if it's the same for Windows?

  10. #35
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    7,557
    Quote Originally Posted by wwatson View Post
    That was the reason I started with a fresh install of Ubuntu 20.04 from 18.04. But even with using the Fastest optimization 18.04 and TD1.55Bx QPINAND would not mount. I checked that on my other desktop and my laptop. I guess I had not used the Fastest optimization at that point. Wonder if it's the same for Windows?
    Yep tested it a littler while ago - works with FASTER but not FASTEST - didn't try the other settings.

  11. #36
    Senior Member wwatson's Avatar
    Join Date
    Aug 2017
    Posts
    538
    Quote Originally Posted by mjs513 View Post
    Yep tested it a littler while ago - works with FASTER but not FASTEST - didn't try the other settings.
    Well I just couldn't leave it alone. I was getting curious about the failure. Probably not a real issue at this time. So I spent most of the day tracking down where the failure happened and came up with this in lfs_commit_dir_crc():
    Code:
    lfs_dir_commitcrc -> crc 0xaf9eb431
    lfs_dir_commitcrc -> crc1 0x277ea2a1
    lfs_dir_commitcrc -> i 0x2c
    lfs_dir_commitcrc -> off1 0x2c
    This check starts at line #1325:
    Code:
    if (i == off1 && crc != crc1)
    Both i and off1 are equal but not crc or crc1. At that point my brain blew apart

    Gave it up knowing the problem might be anywhere else than here. This just for reference.

    Edit: It returned error code -84 (LFS_ERR_CORRUPT).
    Last edited by wwatson; 09-19-2021 at 11:54 PM. Reason: More Info

  12. #37
    Hello,

    Teensyduino work on arduino ide pro?

    Thanks

  13. #38
    Senior Member
    Join Date
    Apr 2014
    Location
    Germany
    Posts
    9,345
    Nope, does not work. TD patches some files in Arduino and does that only for the "normal" Arduino.

  14. #39
    Senior Member
    Join Date
    Mar 2017
    Location
    Oakland, CA, USA
    Posts
    318
    I just noticed thereís no git tag for v1.55:
    https://github.com/PaulStoffregen/co...eases/tag/1.55

    I created an issue for this: https://github.com/PaulStoffregen/cores/issues/622

    Perhaps thatís why the PlatformIO release is taking longer than usual. (Or it could just be their resources.)

  15. #40
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    25,083
    Quote Originally Posted by shawn View Post
    I just noticed there’s no git tag for v1.55:
    Opps, sorry. Indeed I forgot to tag & release on github.

    Added a tag at the last commit before 1.55 and created a release on github.

    https://github.com/PaulStoffregen/co...eases/tag/1.55

Posting Permissions

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