Teensy 4.0 First Beta Test

Status
Not open for further replies.
Msg #6 covers what I saw - adds at the end ...

FWIW - the lps_test ran overnight - Serial send seems fast and clean to uninterrupted PC

Was still running at ~210 lps since fresh restart - it is now in the ~170 range with firefox/sublime text open and active.

These errors are all to be expected and recorded:
Code:
> _____MISSED lines____ #2 {cpl=34} count=100000001, lines/sec=214334
#3 was dos box Buffer copy
#4 not in new buffer - safe to assume it showed new digit : #4 {cpl=35} count=1000000001
[B]> _____MISSED lines____ #5 {cpl=36} count=1, lines/sec=205467 [/B]// count=10 in same buffer
[B]> _____MISSED lines____ #6 {cpl=28} count=101, lines/sec=205467
> _____MISSED lines____ #7 {cpl=29} count=1001, lines/sec=205467
> _____MISSED lines____ #8 {cpl=30} count=10001, lines/sec=205467
> _____MISSED lines____ #9 {cpl=31} count=100001, lines/sec=205467
> _____MISSED lines____ #10 {cpl=32} count=1000001, lines/sec=234264
> _____MISSED lines____ #11 {cpl=33} count=10000001, lines/sec=216293
> _____MISSED lines____ #12 {cpl=34} count=100000001, lines/sec=207797
[/B]#13 not shown happened when I copied the dos box buffer
9000 lines in dos box buffer when just copied
Code:
#33616971[4K] : __>> count=3864923157, lines/sec=197043 << >4> Good lines=____114
#33617850[4K] : __>> count=3865023168, lines/sec=209016 << >4> Good lines=____114
// ...
#41328017[4K] : __>> count=463256201, lines/sec=217812 << >12> Good lines=117____
#41328872[4K] : __>> count=463356261, lines/sec=217812 << >12> Good lines=117____
#41329726[4K] : __>> count=463456203, lines/sec=218953 << >12> Good lines=117____

<update> :
>> multitasking OS seems to be more lossy than Teensy T4 at these rates - but that may just be because T4 is not supporting the 'availableForWrite()' to halt transmission when client gets busy:
> opened EDGE browser and that caused data glitch again - I have 7 EDGE windows open with a combined 38 web pages in tabs
> And opening each EDGE window to count the open tabs caused 3 data glitches with no apparent reason
> came back and the lps_test.exe had exited with NO ERROR - not sure if I did that? - then just reran it and it picked up on a buffer boundary with no T4 restart and no reported data glitch on starting.
Code:
#50115385[4K] : __>> count=1478669116, lines/sec=195738 << >15> Good lines=____114
#50116264[4K] : __>> count=1478769127, lines/sec=194467 << >15> Good lines=____114

Got a BARRAGE of FAILS on PC in use … went from #15 errors to #96 where there was utter garbage in the buffer in two batches - then back to normal operation:
#9062402[4K] : __>> count=2675641990, lines/sec=206023 << >6> Good lines=113____

> _____MISSED lines____ #7 {cpl=305}
²XHdi%·òòxZÑë lyíRÆ»╬Oê)ⁿ.╖éεJ≡3╦tw▐¢7
 
Last edited:
edit:
@mjs513: run test on T3.6 with build-in SDHC (TEST_DRV = 1) got the same rc=1 error
OK will investigate

cmd13 did not work properly (too many checks!)
modified code update GitHub
and SDHC is now working for both T3.6 and T4b2

re USBHost on T4: I know that USB-T4 is only working for USB_Serial. we may have to wait for Paul to implement USB_DISABLED, or do I miss something ?
 
cmd13 did not work properly (too many checks!)
modified code update GitHub
and SDHC is now working for both T3.6 and T4b2

re USBHost on T4: I know that USB-T4 is only working for USB_Serial. we may have to wait for Paul to implement USB_DISABLED, or do I miss something ?
Just did a grepwin of both T3 and T4 cores the only delta's I see is that its not defined in usb_dev.h which may or my not be an issue. But seems to be in the other files (at least its there). Someone may need to confirm my observations. This was really quick and dirty.
 
Not sure if it is an issue, but every time after installing a new Teensyduino version, it switches to Teensy 3.6 as default, which is a bit confusing :)

The USB updates work quite well.
 
Last edited:
Java exceptions:
I got these often in the last days - with a program that does only (USB-)print a few lines at startup, and after that, nothing. The execptions occured when compling the new program. It has > 12K lines in a single *.ino and large libraries like audio, MP3 and AAC (and it had really a LOT of warnings :-( - the builder prints to stdout/stderr which then gets redicrected to arduino?)
After that, only a restart of arduino helped. May be, the root-cause of these exceptions has nothing to do with the monitor or serial...
 
Not sure if it is an issue, but every time after installing a new Teensyduino version, it switches to teensy 3.6 as default, which is be a bit confusing :)

The USB updates work quite well.

Indeed FrankB - It does switch away from BETA T4 on each install - catches me each time with a 'bad hex' lecture from TeensyLoader. I assume this is worthy of the msg #6 list - probably just that it really isn't a 'shipping product' yet.

Indeed USB seems stable and fast - thinking of putting my lps_test.exe on a second unused computer to run with T4B1 board. - then update that with USB changes as offered maybe integrate similar receive testing in same sketch/exe combo.

About to add update notes to #2801 above - multitasking OS seems to be more lossy than Teensy T4 at these rates - but that may just be because T4 is not supporting the 'availableForWrite()' to halt transmission when client gets busy:
> opened EDGE browser and that caused data glitch again - I have 7 EDGE windows open with a combined 38 web pages in tabs
> And opening each EDGE window to count the open tabs caused 3 data glitches with no apparent reason
> came back and the lps_test.exe had exited with NO ERROR - not sure if I did that? - then just reran it and it picked up on a buffer boundary with no T4 restart and no reported data glitch on starting.
Code:
#50115385[4K] : __>> count=1478669116, lines/sec=195738 << >15> Good lines=____114
#50116264[4K] : __>> count=1478769127, lines/sec=194467 << >15> Good lines=____114

Going to add 2801 : availableForWrite needed and 2804 : Teensy T4 not default Board after install.
 
re USBHost on T4: I know that USB-T4 is only working for USB_Serial. we may have to wait for Paul to implement USB_DISABLED, or do I miss something ?

Sorry, maybe I am missing something. Which USB port are we talking about?

That is I believe there are two USB ports.

a) The one that you use to talk to the Host computer... The one which configuring the Teensy for USB_Serial, or Keyboard....

b) The second USB port which we are configuring as a Host, currently in USBHost_t36 library, which we also have working on the host support code for (Keyboards, Mice, joysticks, some bluetooth, Midi, Serial).

I believe we are talking about the b) part? I know that some of the underlying stuff on the T4 is different than the T3.6, but @Paul put in some translations and the like in the usbhost_t36\utility\imxrt_usbhs.h file which I believe translates the T3.6 USB Host definitions into the T4 versions.
 
Sorry, maybe I am missing something. Which USB port are we talking about?
...
a) The one that you use to talk to the Host computer... The one which configuring the Teensy for USB_Serial, or Keyboard....
...


If this USB port - Paul noted my find in post #6 issues: USB_DISABLED doesn't build.
 
Sorry, maybe I am missing something. Which USB port are we talking about?
Confusion is on my side.
I was talking about USBHost port on T4b2, where I can plug-in an USB stick.

As is, I cannot get it working.
Code does not pass mscInit(); or better while(!msDrive1.available());

Seems that my setup (HW or SW) is missing something.
@mjs513: on which system did you get uSDFS (TEST_DRV = 2) working?
 
@WMXZ and @mjs513 -

Are you just using your stuff or do you still need the MSC stuff changed from the zip file?

Will try to take a look.
 
@WMXZ and @mjs513 -

Are you just using your stuff or do you still need the MSC stuff changed from the zip file?

Will try to take a look.
OK,
I got it working, some sort of.
Updated GitHub now (Had to add some statements into my msc interface)

@KurtE
You still need msc library (from zip file) installed into your Arduino library folder

I said: got it working some sort of, because the uSDFS_test program only runs when USBHOST_PRINT_DEBUG is enabled in USBHost_t36.h
without that program crashes at different places. Seems to be a timing issue
( I use A_1.8.8 with TD_1.47beta1) so it may not be (for sure is not) latest Version.
 
@KurtE
You still need msc library (from zip file) installed into your Arduino library folder

I said: got it working some sort of, because the uSDFS_test program only runs when USBHOST_PRINT_DEBUG is enabled in USBHost_t36.h
without that program crashes at different places. Seems to be a timing issue
( I use A_1.8.8 with TD_1.47beta1) so it may not be (for sure is not) latest Version.
Do I still need to copy his version of files into your library (ones like diskio.c?)

WinMerge does show they are not the same...


So far I have not tried to copy in these files... Did try running with a couple of different thumb drives and I just see:
Code:
Test uSDFS
2:/

Change drive

Create a new subdirectories.
mkDir Ascii: Failed with rc=12.
 
Confusion is on my side.
I was talking about USBHost port on T4b2, where I can plug-in an USB stick.

As is, I cannot get it working.
Code does not pass mscInit(); or better while(!msDrive1.available());

Seems that my setup (HW or SW) is missing something.
@mjs513: on which system did you get uSDFS (TEST_DRV = 2) working?

Did I type something wrong, Test_Drv = 0 or 1 works, 2 does not.....sorry for the confusion
 
Do I still need to copy his version of files into your library (ones like diskio.c?)

WinMerge does show they are not the same...


So far I have not tried to copy in these files... Did try running with a couple of different thumb drives and I just see:
Code:
Test uSDFS
2:/

Change drive

Create a new subdirectories.
mkDir Ascii: Failed with rc=12.

@KurtE and @WMXZ

Just retested with test_drv=0 and SD Card reader in the USBhost port and it identified it no problem and the data was correct. This was the same reader that didn't work in previous testing.

Doesn't read USB sticks that I have but they are kind of old ones - Sony Cruz 4gb and a Microcenter 2gb one. Not sure the format on them - they should be FAT32's.

Still now sure what do with wwatson's library - do I copy those files over to the your library that it tells me to replace or is all I need is the massstorage.h file?
 
USB_DISABLED doesn't build.

Yup. For now, USB Serial is the only one that works. I'm intentionally keeping the USB code simpler by not supporting any others, even just completely disabling the USB port. Will do MIDI, Audio, and all the others later, after the remaining stuff on USB serial gets done...

Receiving data isn't optimized yet. Support for serialEvent is also missing. I want to do those before expanding the USB code.

I'm also planning another round of substantial optimizations on transmitting. The timeout for concluding the PC isn't listening might need to increase, since we're also to overwhelm most Windows software.

Still thinking about how I want to do availableForWrite(). There's a long-standing and very subtle bug on Teensy3's availableForWrite(), where an auto flush occurs between the time availableForWrite() promises a certain amount of space and the user later writes, expecting it to be non-blocking. I want to come up with a better strategy on T4 to completely avoid that rare but very difficult case. That's why availableForWrite() remains undone.

But if the timeout code is being triggered because we're too fast for PC-side software, we really need a longer timeout rather than requiring use of availableForWrite() for non real-time applications.


However, at this moment my top priorities are looking into the CP2104 phantom power startup problem (just dug out my Adafruit CP2104 board this morning) and a bootloader update to fix the bugs with the 15 second restore process. There may also be another minor bootloader bug affecting USB descriptors. All 3 operating systems seem to ignore it (as far as I can tell), but still ought to get fixed.
 
Paul - startup halting isn't hard - doesn't take anything but 3v3 on a pin (with enough current). Teensy or CP2104 - only difference is drive strength - and if the UART sense inactivity and drops current drive. It may be that I even had a 3.3V wire that did it - though of course if I did that it should have had a resistor inline to limit current.

As noted I was seeing just over 20 mA from T_3.1 - my olde PL2303 only seemed to have a max drive of 9mA - and it seemed would sense no activity and drop the current - the Teensy doesn't do this as the meter held steady and the T_3.6 was at 19 mA where my cheap meter would peak and drop off as it eventually got around to reading and updating the display for the CP2104. Either of those T_3.x pins was enough perhaps with Rx or Tx connected because both seemed to be held at 3v3 - though the Rx line was more like 3.19 volts than 3.3 where Tx Stop is held.
 
I hooked up the T4B1 board to my i7 SurfaceBook and it is running 'similarly' - was connected direct to USB3 port and chattered not once but often 2-3 times on startup with missed data \n alignment. But an unpowered USB2 hub inline and that didn't change it - so the OS/Hardware timing to the port must affect it - it does run lps-test.exe okay for long stretches at similar speed 160-170K l/sec and sometime like i7 desktop even 200 to 220K for periods. Some oddities with the exe reading/buffering - it does just quit without posting an error like I have seen on my desktop at times - but restarting EXE and not the T4 picks up … Test could use some refinement as the USB stack gets improved but am not able to 'see' any pattern or trouble.
 
Do I still need to copy his version of files into your library (ones like diskio.c?)

WinMerge does show they are not the same...


So far I have not tried to copy in these files... Did try running with a couple of different thumb drives and I just see:
Code:
Test uSDFS
2:/

Change drive

Create a new subdirectories.
mkDir Ascii: Failed with rc=12.

NO you dont't copy the diskio et al. files over from MSC library to uSDFS.
the uSDFS diskio.c is already prepared for MSC. copying could impact spi and usdhc functionality

concerning your TEST_DRV=2 run, could you please activate the USBHost debugging print uncommenting #define USBHOST_PRINT_DEBUG in USBHost_t36.h
In may case, this made the access to USBdisk without errors (in my case I used a HTrust uSD adapter)

my hunch is that the USBHost or better the USB MassStorageDriver in MSC needs to be slowed down, or have better wait for reply/ready functions.
 
Thanks @WMXZ,

I sort of figured that I did not need to copy those files, as I saw that you had made several changes to them.

As per your previous post, I had turned on the debug printing code in USBHost_t36 but did not see any output from the debug messages of it... them, on either the T4B2 nor T3.6.
I have tried using a couple of different thumb drives. One is an old Cruzer 1GB which I had Windows reformat yesterday, and the other was a new 8GB enfain, which had never been used before.

Now that I am thinking about it, I used your version of the test app, not the one from the MSC library. Probably need the MSC library as it defines some objects from the USBHost library...

Will try again.

EDIT: This time things are being output, so making progress.
On T4B2
Code:
Test uSDFS
2:/
USB2 PLL running
 reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20005000
periodictable = 20005000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 0C 09 00 10 00 11 01 02 00 01 
    VendorID = 090C, ProductID = 1000, Version = 1100
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: SMI Corporation
enumeration:
Product: USB DISK
enumeration:
Config data length = 32
enumeration:
Configuration Descriptor:
  09 02 20 00 01 01 00 80 FA 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 08 06 50 00 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 8(Mass Storage) / 6(SCSI) / 80(Bulk Only)
  07 05 81 02 00 02 FF 
    Endpoint = 1 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 255
  07 05 02 02 00 02 FF 
    Endpoint = 2 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 255
enumeration:
msController claim this=200055A0
Descriptor 4 = INTERFACE
msController claim this=200055A0
09 04 00 00 02 08 06 50 00 07 05 81 02 00 02 FF 07 05 02 02 00 02 FF 
endpointType = 2
numendpoint=2
endpointIn=81
endpointOut=2
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 255
polling intervalOut = 255
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 80
ERROR Followup
    remain on followup list
    remain on followup list
Mount: Failed with rc=1.
Goes better on T3.6...
Code:
Test uSDFS
2:/
sizeof Device = 36
sizeof Pipe = 96
sizeof Transfer = 64
power up USBHS PHY
 reset waited 4
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 1FFF4000
periodictable = 1FFF4000
port change: 10001803
    connect
  begin reset
port change: 18001205
  port enabled
  end recovery
new_Device: 480 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
Device Descriptor:
  12 01 00 02 00 00 00 40 81 07 06 54 00 02 01 02 03 01 
    VendorID = 0781, ProductID = 5406, Version = 0200
    Class/Subclass/Protocol = 0 / 0 / 0
    Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: SanDisk
enumeration:
Product: U3 Cruzer Micro
enumeration:
Serial Number: 00007080C0732B8C
enumeration:
Config data length = 32
enumeration:
Configuration Descriptor:
  09 02 20 00 01 01 00 80 2F 
    NumInterfaces = 1
    ConfigurationValue = 1
  09 04 00 00 02 08 06 50 00 
    Interface = 0
    Number of endpoints = 2
    Class/Subclass/Protocol = 8(Mass Storage) / 6(SCSI) / 80(Bulk Only)
  07 05 81 02 00 02 00 
    Endpoint = 1 IN
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
  07 05 02 02 00 02 00 
    Endpoint = 2 OUT
    Type = Bulk
    Max Size = 512
    Polling Interval = 0
enumeration:
msController claim this=1FFF45A0
Descriptor 4 = INTERFACE
msController claim this=1FFF45A0
09 04 00 00 02 08 06 50 00 07 05 81 02 00 02 00 07 05 02 02 00 02 00 
endpointType = 2
numendpoint=2
endpointIn=81
endpointOut=2
packet size in (msController) = 512
packet size out (msController) = 512
polling intervalIn = 0
polling intervalOut = 0
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
control CallbackIn (msController)
00 00 00 00 00 00 00 00 
control CallbackIn (msController)
01 00 00 00 00 00 00 00 
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0

Change drive

Create a new subdirectories.
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0

Create a new file /Ascii/HELLO12.TXT.
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
Write some text lines. (Hello world!)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
Close the file.
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0

Open same file /Ascii/HELLO12.TXT.
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
Get the file content.
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
Hello world!
Second Line
Third Line
Fourth Line
Habe keine Phantasie
Close the file.

open binary file
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
write file
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
close file
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
Binary test done

Open root directory.
Directory listing...
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackIn (static)
transfer->qtd.token = 0
msController CallbackOut (static)
msController CallbackIn (static)
transfer->qtd.token = 0
   <dir>  System Volume Information
   <dir>  Ascii
   <dir>  Binary

Test completed.
sizeof Device = 36
sizeof Pipe = 96
sizeof Transfer = 64
power up USBHS PHY
 reset waited 4
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 1FFF4000
periodictable = 1FFF4000
Will try to debug some now...

EDIT 3 - Looks like WWatson uploaded a new zip file for MSC with fixes in it... Need to figure out what parts need to go where...

Kurt
 
Last edited:
@KurtE and @WMXZ

Sorry not going to be of much help today. Got the 1060evk board yesterday afternoon and been trying to debug CANFD. Seems like I can get it to work on the SDK finally and got the register mapping. Redid the T4 sdk lib so now have the same register mappings on the T4 as on the SDK but the T4 is being stubborn - nothing coming in to the T4 or being transmitted. Will get there :)

Good luck.
 
startup halting isn't hard - doesn't take anything but 3v3 on a pin (with enough current). Teensy or CP2104 - only difference is drive strength

Yup, I've got it happening here.

Investigating now. It's starting to look like I'm going to need to make another board rev to fix this. :(
 
Status
Not open for further replies.
Back
Top