J
Reaction score
111

Latest activity Postings About

    • J
      jmarsh replied to the thread Teensy 4.1 extmem_malloc fails.
      Is the initial call made with pointer set to NULL? I could see how that would be a problem.
    • J
      Teensyduino has no open function because it doesn't support standard file I/O (only basic support for writing to stdout/stderr).
    • J
      Need a bit more info for a full answer - will it be using the data bus bidirectionally or only one direction? Can the address decoding be handled (either in full or at least partly) with logic or do all the address pins need to be connected to...
    • J
      jmarsh replied to the thread Teensy 4.1 psram memtest.
      Those asm instructions don't do anything with the cache, there is no feasible reason for them to be the difference between the test failing or succeeding.
    • J
      jmarsh replied to the thread Teensy 4.1 psram memtest.
      That only tests 16KB, meaning it's probably skipping an entire chip in the case of the board with 2x8MB PSRAMs. I can't see at all how this is more of an in-depth test than the existing code. Edit: actually at only 16KB, the entire test data...
    • J
      Assuming the camera stuff is uslng FlexIO and DMA to move from shifter registers to RAM... are the shifters signalling any errors, to indicate overruns (new data being placed without the old data being read first) ?
    • J
      jmarsh replied to the thread Very high code RAM usage.
      USB should be working with smallest code. You should also be able to use FLASHMEM on any member function, whether it's static or not.
    • J
      This would indicate that the posted code is not the problem. How do you know the watchdog timer is responsible for the reboot? What is the rest of your code doing?
    • J
      That looks pretty much the same as Dogbone's devboard to me - 16 bits of data, 2 bank pins, row and column addresses are sent multiplexed on A0-A12.
    • J
      Those values use SEMC clock ticks as units, they don't care about the CPU's clock.
    • J
      You could potentially have problems with memory alignment if you used a uint8_t buffer like that though.
    • J
      I guess in theory it should work if the objects don't contain any static data, or possibly also no const data depending on how the compiler decides to optimize things. The main point is that only the space will be reserved for it, any...
    • J
      Do you put any sort of cooling (heatsink and/or fan) on your units?
    • J
      I don't think that's always accurate, especially for non-sequential writes - tile / character based rendering for example, would greatly benefit from writes to separate lines being collected in the cache before being flushed to RAM.
    • J
      You can only put uninitialized objects in RAM2 / DMAMEM.
    • J
      jmarsh replied to the thread Recording video in Teensy.
      The Teensy does have a CSI peripheral, but not many of the pins for it are broken out as I/O pins. Alternatively you could connect it to a FlexIO port and access it that way but it requires a fair bit of coding work.
    • J
      It's relatively simple to walk through all the MPU regions and add a new one at the end. Shouldn't need to disable/enable the data cache as long as it's done before the SDRAM/SEMC initialization. I agree that it should not be necessary though as...
    • J
      jmarsh replied to the thread Software reboot for the T4.
      _reboot_Teensyduino_();
    • J
      That's not the correct fix for this situation. They are replaceable in the standard library. Teensy's core is attempting to replace them. You just have the libraries in the wrong order in your linker command line.
    • J
      The comment says they are replaceable, which is true if the replacement functions are linked first. The logs you've posted don't show the link command line but it seems libstdc++ is being specified before the Teensy's core library instead of the...
    • J
      But that is using up memory space and bandwidth for a framebuffer. If the display was connected to the SEMC the CPU could write directly to the display's memory. All you would have to do is put values in RAM and the corresponding pixels would...
    • J
      Random thought for the day: the SEMC interface (the part of the IMXRT1062 that talks to the SDRAM chip) also supports 8080 display interface (DBI) mode, letting the CPU write directly to a display's memory rather than updating a framebuffer in...
    • J
      I have an OV2460 that's currently sitting around doing nothing.
    • J
      I thought these cameras only sampled one channel per pixel, so they get away with using an 8 (or 10 for higher quality) bit data bus. I'm waiting on an FFC breakout board to connect mine, figuring out the pins will be fun...
    • J
      There is an open pull request for adding multiple USB channels as well as configurable sample rates.
    • J
      So the IMXRT chip in the Teensy has a built-in ROM, which is the first thing that runs when it boots. It's capable of loading program images from various sources (Flash, SD, Serial etc.) based on how the fuses are set, so I would guess the...
    • J
      jmarsh replied to the thread troubleshooting simple project.
      Was DOG.WAV created using the right parameters? It has to be 16-bit PCM with a sampling rate of 44100Hz.
    • J
      You're going to have to be clearer than "it doesn't work how I want it to." What do you expect to happen and what is happening instead?
    • J
      jmarsh replied to the thread Teensy 2.0 hi-Z outputs?.
      Setting a pin to input mode effectively makes it hi-z.
    • J
      jmarsh reacted to wwatson's post in the thread Need advice on PCB manufacturers with Like Like.
      I want to thank everybody for the advice given. I chose OSHPark. Everything worked out without any problems. I just received my 3 boards and populated one of them (barely, shakey). Hooked it up and it works:D Thanks again for the help.
    • J
      malloc() already guarantees 8 byte alignment. It's defined this way in the C standard - any dynamically allocated memory must have alignment suitable for any native datatype e.g. 8 bytes for a double. smalloc is deficient in this regard. And...
    • J
      Not really sure what you mean, any pointer returned by an allocation function has to be able to be directly passed to the equivalent release function (the same ways pointers returned by aligned_alloc() can be passed to free() when using stdlib)...
    • J
      I think I may have been wrong about that and the LCDIF alignment requirement is only 64 bits rather than bytes. Then the usual DMA alignment requirement would take precedence (32 bytes). The default alignment of the smalloc library is still an...
    • J
      The boards don't appear to have a common ground connection.
    • J
      AFAIK that was a host driver for a non-standard UVC (it used bulk endpoints rather than isochronous), rather than having the Teensy act as a UVC device.
    • J
      I'm at a bit of a loose end trying to decide which direction to go forward for video output. I really don't want to get a screen with an RGB interface, would rather have generic output which means VGA or DVI/HDMI. VGA requires either R2R ladders...
    • J
      The systick timer can be kept running if the right register pokes are done. I was just mentioning it because the test was assuming it was active by default, which it isn't.
    • J
      A "wfi" instruction on the Teensy 4 stops systick from running, by default.
    • J
      What if you provide an alternative implementation of _write() that doesn't reference Serial? It's declared as weak in Print.cpp so applications can override it with their own if necessary.
    • J
      What I was trying to remember earlier: The LCDIF_CTRL2 register has two fields (ODD_LINE_PATTERN and EVEN_LINE_PATTERN, page 1888 of the IMXRT1060 pdf) that specify the RGB component order, so you could just change those values rather than rewiring.
    • J
      jmarsh replied to the thread Issues with USB hub IC.
      I don't see anything wrong with the log you've posted. The hub is identified at the top: *** Device Hub1 424:2412 - connected *** and then the drive is enumerated (twice: once at the device level and then at the interface level) but nothing...
    • J
      The resolution doesn't seem to be limited (at least up to 1080p) but the issue with VGA is that it's analog... so you either need a lot of resistors for an R2R ladder (roughly 17 for an 8-bit channel, times three channels) or a 3-channel high...
    • J
      I would to. Like something based around the ADV7513, that takes basic RGB signals and I2S/SPDIF audio and outputs HDMI up to 1080p. But apparently there's issues getting HDMI encoders without a HDMI license, due to the mandatory content...
    • J
      The chips to convert RGB to DVI/HDMI seem surprisingly rare. There's a couple from Analog Devices but they're fairly expensive. Most projects seem to go for an FPGA instead.
    • J
      jmarsh replied to the thread Deport USB port to the case.
      The USB Host port on the Teensy 4.1 uses an extra chip to protect against ESD (among other things).
    • J
      Not without an external encoder, the pins aren't fast enough to do TMDS (like the pi pico can) to output DVI directly.
    • J
      If multiple interrupts have the same priority the lower numbered one will execute first.
    • J
      Interrupts can pre-empt other interrupts that have lower priority, otherwise they have to wait until the current interrupt has finished.
    • J
      Start of Frame doesn't indicate arrival of data, it just indicates a new bus cycle. This occurs every 125ms for high speed devices. Even if it did, incoming data may not necessarily be for the serial interface; it may be for a different endpoint...
    • J
      There's no default implementation of the serialEvent functions because they're weak symbols; they don't exist unless the user program implements them. If you do implement them, the yield() function (executed when loop() returns and in a few other...
  • Loading…
  • Loading…
Back
Top