szymonh / JTAGscan

Identify JTAG ports using your favorite Arduino.
GNU General Public License v3.0
54 stars 8 forks source link

are you interested in pull requests? #1

Closed securelyfitz closed 3 years ago

securelyfitz commented 3 years ago

Hello! I really like the simplicity of JTAGscan over JTAGenum. Thanks for writing it.

I'm using it on Xiaomao as a simplified light-duty alternative to the JTAGULATOR

I forked it and made a bunch of changes. It's possible in doing so I broke things you had a specific way for a reason so i don't presume you'll want all my changes, but would at least like to be aware of them. I tried to separate the UI vs display vs logic vs hardware-specific changes into different commits. Let me know if you'd like any of them as pull requests.

https://github.com/securelyfitz/JTAGscan

szymonh commented 3 years ago

Hello,

Cool, I'm happy to hear that JTAGScan hit your tastes and you like it. Great that you found it useful and decided to add some improvements to better fit your needs.

Xiaomao seems a pretty cool project. I also started work on a universal level shifter board (with bidirectional level shifting) some time ago but abandoned the project in favor of cheap boards like Pro Mini or Blue Pill. Price of PCB and assembly prevailed the benefits in my case. Most of the targets I'm actually working with operates on 3.3 voltes so in practice I don't find level shifting required very often. What are your views on this topic? Do you have some particular targets on your mind for Xiaomao? Would be cool to have a XIAO with WiFi or BLE to work wirelessly and have electrical isolation as an extra add-on. I hope that Xiaomao will be noticeably cheaper than jtagulator ;-).

As for the PR I'll be happy to include all your changes into JTAGScan as long as .. they don't break the functionality. I had a quick glance at your commits and haven't spotted any issues at first sight.

I noticed that you mentioned problems with greater numbers of pins with JTAGScan, have you investigated this issue or could you share some more details so we can resolve this?

Also it seems that Xiaomao should be capable of locating not only JTAG but also SWD ports - check out https://github.com/szymonh/SWDscan - should help you extend the functionality a bit.

Best regards, Szymon

securelyfitz commented 3 years ago

I'm not a fan of level shifting whenever it can be avoided, especially when it's bidirectional.

I've gone back and forth with Joe Grand about future revisions of the JTAGULATOR. I still recommend it as the solution of choice in a professional environment because of its paranoid level of I/O protection. I still find JTAGenum too rough around the edges and too complicated for beginner use. That's why JTAGscan caught my attention - it just did what i wanted it to, without bugging me about bells and whistles.

I use xiaomao + jtagscan for a 1.8v jtag target in my class. Previously i used a Teensy, but wanted to consolidate to a USB C device that could re-use the wiring harnesses they already had for Tigard, and that i wouldn't have to solder headers on by hand.

as for 'breaking' functionality... this commit changes the pinmask and TCK speed, and is the most likely to 'break' arduinos without native USB since they use UART on pins 0 and 1. The others likely fall into usability changes that may or may not be to everyone's preferences. I can submit them all, feel free to pick and choose...

I once tried to use an arduino pro mini with additional pins and ran into issues using pins 8 and beyond - didn't look into it and haven't tried it since, but will file an issue if i do.

I saw and plan to check out SWDscan soon.

Thanks, -joe

szymonh commented 3 years ago

Hello Joe,

I guess we can leave out the board specific changes like pin configuration from the PR. I would like to have an Arduino-compatible configuration present by default which can be updated to suit one's needs.

Also I understand that pins_used was introduced for educational purposes, but I would like to reduce the number of knobs to bare minimum to keep the app as simple as possible.

Best regards, Szymon

securelyfitz commented 3 years ago

opened #2