Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 4 of 4

Thread: Custom Teensy 4.x board - first time initialization of Flash Chip Required?

  1. #1
    Junior Member
    Join Date
    Mar 2023
    Posts
    2

    Custom Teensy 4.x board - first time initialization of Flash Chip Required?

    Greetings all, long time lurker/first time poster here.

    I'm attempting to make some custom Teensy 4.x boards, and I'm encountering the 3 flashes for "Flash Chip Error, Missing or Incorrect ID". In my design I'm using the W25Q64JVSSIM (SOIC-8 Package), and in each of my prototype boards I'm seeing the same error. However, I de-soldered a W25Q64JVXGIM Flash Chip off of a Teensy4.1 (XSON-8 package), and was able to solder wire leads from the chip to the pads on the PCB...and interestingly everything works perfectly.

    So I'm wondering, does a virgin Flash Chip require some form of initialization in order to wake up and reply to the JEDEC ID query from the bootloader, or sync with the chip?

    I've verified the markings on the flash chips are indeed correct versions ending with "M", the traces and contacts are solid, and the response/error is the same regardless to pressing the program button once or doing the reset via ~15second hold > release.

    Overview of custom board:
    - IMXRT1062DVL6B (10mmx10mm)
    - MKL02 bootloader from PJRC (Big THANK YOU for creating and selling these!)
    - W25Q64JVSSIM SPI Flash Chip
    - Schematic for power supply, bootloader, flash chip, crystals, etc is pretty much identical to recommended specs


    Incase it might be of use, the following is the verbose log when connecting to the original W25Q64JVSSIM flash chips, and pressing the Program button.

    Code:
    05:46:57.319 (loader): Teensy Loader 1.57, begin program
    05:46:57.355 (loader): Listening for remote control on port 3149
    05:46:57.356 (loader): initialized, showing main window
    05:47:06.513 (loader): Verbose Info event
    05:47:10.190 (loader): HID/macos: attach callback
    05:47:10.356 (loader): HID/macos: number of devices found = 1
    05:47:10.360 (loader): HID/macos: vid=1FC9, pid=0135, page=FF00, usage=0001, ver=1.01
    05:47:10.365 (loader): Device came online, code_size = 100
    05:47:10.367 (loader): Board is: NXP IMXRT1062 ROM
    05:47:10.369 (loader): begin operation
    05:47:10.371 (loader): set background IMG_ONLINE
    05:47:10.389 (loader): HAB open mode, bootcfg=80018
    05:47:10.393 (loader): Opps, NXP ROM in open mode, but we do not yet have code for this case :(
    05:47:10.395 (loader): start ignoring 7ff0a8316d70
    05:47:10.396 (loader): HID/macos: IOHIDDeviceClose called!
    05:47:10.397 (loader): end operation, total time = 0.027 seconds
    05:47:10.399 (loader): redraw timer set, image 79 to show for 3000 ms
    05:47:10.606 (loader): HID/macos: number of devices found = 1
    05:47:10.611 (loader): HID/macos: none of the devices had known usage
    05:47:13.400 (loader): redraw, image 9
    05:47:15.937 (ports 1): HID remove callback
    05:47:15.937 (loader): HID/macos: detach callback: is NOT currently open device
    05:47:15.937 (ports 1): USB device remove callback
    05:47:15.937 (ports 1): remove, loc=14100000
    05:47:15.941 (loader): stop ignoring 7ff0a8316d70
    05:47:16.332 (ports 1): USB device add callback
    05:47:16.333 (loader): remote connection 3 opened
    05:47:16.405 (loader): HID/macos: attach callback
    05:47:16.606 (loader): Device came online, code_size = 100
    05:47:16.610 (loader): Board is: NXP IMXRT1062 ROM
    05:47:16.613 (loader): begin operation
    05:47:16.616 (loader): set background IMG_ONLINE
    05:47:16.629 (loader): HAB open mode, bootcfg=80018
    05:47:16.633 (loader): Opps, NXP ROM in open mode, but we do not yet have code for this case :(
    05:47:16.635 (loader): start ignoring 7ff0a812d070
    05:47:16.637 (loader): HID/macos: IOHIDDeviceClose called!
    05:47:16.638 (loader): end operation, total time = 0.023 seconds
    05:47:16.640 (loader): redraw timer set, image 79 to show for 3000 ms
    05:47:16.856 (loader): HID/macos: number of devices found = 1
    05:47:16.858 (loader): HID/macos: none of the devices had known usage
    05:47:19.643 (loader): redraw, image 9
    Then here's the verbose log when connecting to another prototype pcb, which is fully working now that I've replaced the W25Q64JVSSIM with the W25Q64JVXGIM chip that I'd taken off of a T4.1:

    Code:
    05:48:01.768 (loader): Teensy Loader 1.57, begin program
    05:48:01.806 (loader): Listening for remote control on port 3149
    05:48:01.807 (loader): initialized, showing main window
    05:48:04.004 (loader): Verbose Info event
    05:48:08.061 (ports 1): Serial add callback
    05:48:08.062 (ports 1):   name=/dev/cu.usbmodem129563501, loc=14100000, vid=16c0, pid=0483, ver=0280
    05:48:08.062 (ports 1):   found prior teensy at this loc, age=0.283
    05:48:08.062 (ports 1):     name: /dev/cu.usbmodem129563501 (Teensy 4.1) Serial
    05:48:12.600 (ports 1): Serial remove callback
    05:48:12.600 (ports 1): USB device remove callback
    05:48:12.600 (ports 1): remove, loc=14100000
    05:48:12.600 (ports 1): usb_remove: usb:14100000
    05:48:12.600 (ports 1): del device: location=14100000
    05:48:12.876 (ports 1): USB device add callback
    05:48:12.876 (ports 1):   loc=14100000, vid=16C0, pid=0478, ver=0107, ser=0013C513
    05:48:12.876 (ports 1):   actual serailnum=1295635
    05:48:12.876 (ports 1):   found prior teensy at this loc, age=0.276
    05:48:12.876 (ports 1):     name: [no_device] (Teensy 4.1) Bootloader
    05:48:12.877 (loader): remote connection 3 opened
    05:48:12.948 (loader): HID/macos: attach callback
    05:48:13.057 (loader): HID/macos: number of devices found = 1
    05:48:13.059 (loader): HID/macos: vid=16C0, pid=0478, page=FF9C, usage=0025, ver=1.07
    05:48:13.061 (loader): HID/macos: ser=0013C513
    05:48:13.062 (loader): try to read feature report
    05:48:13.064 (loader): got feature report, size = 384
    05:48:13.065 (loader): 7393CD01 00000000
    05:48:13.066 (loader): secure mode can be locked: this is Lockable Teensy
    05:48:13.067 (loader): encryption is possible on this Teensy, but not yet configured
    05:48:13.069 (loader): Device came online, code_size = 8126464
    05:48:13.070 (loader): Board is: Teensy 4.1 (IMXRT1062), version 1.07
    05:48:13.072 (loader): set background IMG_ONLINE
    05:48:13.307 (loader): HID/macos: status: ok

    Any advice would be appreciated!
    Cheers,
    Brian

  2. #2
    I just recently powered up two custom pcb/teensys for the first time and I used virgin W25Q64JVXGIM from mouser. No initialization was required.

  3. #3
    Junior Member
    Join Date
    Mar 2023
    Posts
    2
    Quote Originally Posted by murdog View Post
    I just recently powered up two custom pcb/teensys for the first time and I used virgin W25Q64JVXGIM from mouser. No initialization was required.
    Thanks! I just got a new round of prototypes made using the footprint for W25Q64JVXGIM flash chip and soldered on some virgin chips from Mouser, and am pleased to confirm everything powered right up as anticipated. Quite odd considering everything should be the same except for the hardware footprint.

  4. #4
    Senior Member
    Join Date
    Feb 2020
    Posts
    154
    Brian3, Would you mind sharing your schematic diagram?

Posting Permissions

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