I agree. The teensy without JTAG makes development of software with any level of complexity far more difficult than it needs to be due to lack of debug capability. JTAG requires only a few pads for an unpopulated SMT connector or pogo pins, so there need be no cost impact. If you lack sufficient real estate to route to a JTAG connector, at least bring out the TCK, TMS, TDI and TDO signals from under the chip. Even if they don’t end up in the same location on the PCB we can hack something together post assembly.Maybe even finally an exposed JTAG that we could use to debug code for eventual use on the smaller formfactor boards? Would be neat.
I partly agree. Teensy needs more pins. Not because one needs all pins, but because of missing functionality.
Then the question I would like to rise is, if really anyone needs 8 Serials... or which percentage of users. I guess its below 1%.
Need 8 ports? pretty uncommon. But need 12-16 more GPIO pins? Way more likely. And LCD pins? Hell yes. I'd love to see a Teensy 4.0 format with 2 rows of pins on either side. Put the less needed functions on the outside pins. Probably won't happen because of the commitment to being breadboard friendly.
Freescale app note AN4507 discusses the various options for securing Kinetis flash. Teensy uses an external chip for the bootloader, it might be possible to lock that IP from JTAG access while allowing access to user flash & ram. @PaulStoffregen can you comment on this?Hasn't JTAG always been a business decision rather than a technical one? I've always thought it was only missing to help protect PJRC from clone vendors.
Hasn't JTAG always been a business decision rather than a technical one? I've always thought it was only missing to help protect PJRC from clone vendors.
Dont know if that has changed lately but in the past their libraries had horrible bad code...
I once saw a graphic driver and other libs and i decided not to spend time with this ... ok that was a few years ago.
As far as their libraries go they are what most any other manufacturer provided libraries are: Turned out quickly and not optimized. I've run into this with virtually all supplier related libraries. If you need serious performance you need to rewrite all (or almost all) of the most critical and frequently called functions.
I've done this with the SSD1963 LCDC and gotten the solid color fill up from about 25Mpps to 125.5M pps, and my bitmap/multiple color fill rate up to 35Mpps using a 16 bit interface with RGB565 color.
I approach every project with the idea in mind about the most critical parts, and I resolve myself to rewrite those critical interfaces myself, sometimes using assembly, but mostly using optimized C code. I find that if I do anything less I end up with something mediocre. (Although I create the initial implementation as something mediocre, then optimize.) It sometimes adds significant time to the development process, but normally the added time is fairly moderate. (Some time reading datasheets is very helpful, and staying with one manufacturer is even more helpful.)
PS: If you can deal with a very timing critical LCD controller I think the SSD1963 would be a better choice than an ILI. I've had better luck with wringing out very high performance fill rates, and the instructions sets are very similar.
My current application is similar. A display accelerator for a retro-style computer. It's actually fast enough for a 2msec screen clear at 800x480x16bits. Also fast enough for a basic 3d library to be used. The RT1176 will improve the application significantly, allowing the CPU to mostly only focus on the 3d math when needed. (3d for a gui environment.)
But I think we are getting off topic here.