EEVblog

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ธ.ค. 2024

ความคิดเห็น • 373

  • @matiasx488
    @matiasx488 10 ปีที่แล้ว +108

    wow! I have been using JTAG for programming for many years and I never realized about its true power until I saw this video! great work my friend!!!

    • @EEVblog
      @EEVblog  10 ปีที่แล้ว +37

      Thanks. Glad you found it useful.

    • @Hr1s7i
      @Hr1s7i 6 ปีที่แล้ว +2

      +Robert Slackware He does it cause it's more or less worthless on a laptop board that's out of the assembly stages. There are security bits that get flipped once the manufacturer is finished using the JTAG, which leads to it being rendered more or less inaccessible (especially mac books, which Louis deals with. Apple sux, we know). Removing it in case of fluid damage in the vicinity more often than not can fix the problem. JTAGs are pretty sensitive and "thin skinned".

  • @babualluri2051
    @babualluri2051 10 ปีที่แล้ว +37

    I am software engineer with passion on hardware, used JTAG and ICE 10 years to bring up few products with fresh hw engrs passion on sw. We did. Now, the way you explaining things artistically can make any one understand and get motivated. Wow! Keep going for all.

    • @Donquixote-qv7sp
      @Donquixote-qv7sp ปีที่แล้ว

      I bet you did not have passion for HW though

  • @manjusha1513
    @manjusha1513 3 ปีที่แล้ว +6

    I realised that I wasted a whole day just theoritically googling to understand the jtag/boundary scan concept until I saw this video of yours

  • @sologals361
    @sologals361 9 ปีที่แล้ว +73

    I always turn of adblocker when watching Daves channel. He deserves every penny he earns.

    • @rfvtgbzhn
      @rfvtgbzhn 9 ปีที่แล้ว +2

      Solo Gals Does it really make a difference for the channel owner? I thought that TH-cam only counts the number of views for each Video...

    • @sologals361
      @sologals361 9 ปีที่แล้ว +2

      Im not sure. Thats why i always turn it of for eevblog.

    • @Mosfet510
      @Mosfet510 9 ปีที่แล้ว +1

      +DjB3RzErK I wonder if it measures a partial viewing, like 15 sec out of 30?

    • @colejohnson66
      @colejohnson66 5 ปีที่แล้ว

      A good adblocker will have special code for TH-cam so you can whitelist certain channels

    • @kermitdafrog8
      @kermitdafrog8 5 ปีที่แล้ว

      TH-cam screws monetization.

  • @JayJay-ki4mi
    @JayJay-ki4mi 2 ปีที่แล้ว +2

    You probably dont have time to read comments but you inspired me many years ago. I used to watch your videos knowing very little about this stuff. Today I'm repairing boards of all natures, doing trace repairs, and I've recently had to repair a completely snapped board. I was a software hacker, and hardware just seemed like the ultimate way to control and manipulate hardware. During my time hardware hacking I invested in a good stereo microscope, oscilloscope and rework station. I had all the tools to do repairs, so now I do that because it's good money, more fun, and beats my old programming career. Thank you :D

    • @PPSRHD
      @PPSRHD ปีที่แล้ว

      You ditched software for hardware job? Can you tell me more? I love hardware engineering but seeing the amount of software jobs and their salary let me down sometimes. ....is there something that most don't know about hardware engineering jobs? Online there aren't any hardware engineers telling about their jobs compared to software engineers

  • @frederickmkhombo4475
    @frederickmkhombo4475 9 ปีที่แล้ว +5

    I have been working with electronics for a while, i have been hearing my colleagues using the word 'JTAG'... never knew what it meant or how it is used. this video was a great eye opener. words fall to short to describe the gratitude i have for such an insightful video thanks a million... keep up the good work man

  • @donmoore7785
    @donmoore7785 6 ปีที่แล้ว +17

    We used JTAG to control uC. I never knew the "boundary scan" feature exists. Thank you for explaining the wonders of JTAG!

  • @MohammedNoorSK
    @MohammedNoorSK 8 ปีที่แล้ว +13

    You are better than the best professor at my college. Great video. Keep up the great work. The electronics world needs more people like you!

  • @shreyashpatil6460
    @shreyashpatil6460 ปีที่แล้ว +1

    Thought JTAG was difficult
    But you forced me to change my mind.
    Thank you very much

  • @Brokenrocktail
    @Brokenrocktail 9 ปีที่แล้ว +3

    EEVblog Thank you so much for these videos! As an engineering student with a lot of interest in electronics, I have been watching your videos quite often, and always learn something new! Thanks again Dave!

  • @nithinp2773
    @nithinp2773 8 ปีที่แล้ว +16

    This was an excellent explanation about JTAG and boundary scan. This video is very clear and can be understated by any electronics graduates. It helped me a lot to understand the uses of JTAG and boundary scan in FPGA. Thank you sir:-)

  • @murrij
    @murrij 10 ปีที่แล้ว +6

    One of the best (if not the best) explanation of JTAG and Boundary Scanning that I've seen. Good stuff.

  • @stm3252
    @stm3252 2 ปีที่แล้ว

    Nobody can equal Dave when explaining difficult subjects like this and make them easy to understand!

  • @philipschroeder5427
    @philipschroeder5427 3 ปีที่แล้ว

    Wow, I normally have a difficult time understanding hardware related stuff, but you explain it like it was basic.
    It takes an expert to explain difficult stuff easy. You nailed it, subscribed.

  • @4BoltClevo
    @4BoltClevo 11 ปีที่แล้ว +2

    The real beauty of that xjtag system is that you can write code that describes how to test a particular chip. Once that's written, anytime you use the same chip on any of your boards you can call the same test routines. So it hides all the serial details from the user and makes your test routines very reusable. I loved it when I was doing test.

  • @franciscafurtado666
    @franciscafurtado666 2 ปีที่แล้ว +1

    Why did not I has a video like this when I was in the college? Save a lot of effort in understanding JTAG.

  • @affinitystablepeanuts
    @affinitystablepeanuts 2 ปีที่แล้ว

    Found it in 2022. This is an amazingly clear explanation! Thank you so much. Really helps one understand what the heck JTAG is.

  • @bolatdinc3211
    @bolatdinc3211 5 ปีที่แล้ว +3

    My university professors need to follow this channel. Full of knowledge, full of respect Dave. Thanks!

  • @briankessler8209
    @briankessler8209 2 ปีที่แล้ว +1

    Excellent explanation of 1149.1 Boundary Scan, but if the green rectangles represent your I/O driver & receiver ckts, then I would have drawn the the green rectangles outside of the blue ones. The output test data is fed into the drivers by scanning it into the boundary scan latches and then driven off-chip. The receivers conversely receive input test data from off-chip and feed it into the boundary scan latches, where it is captured and scanned out. As drawn, this diagram implies that latching occurs between I/O ckts and the physical chip pin.

  • @neevarpgp
    @neevarpgp 4 ปีที่แล้ว +1

    This is awesome! Perfect video for a beginner in Large-scale industrial chip design

  • @Bestietvcute
    @Bestietvcute 10 ปีที่แล้ว +6

    dude !!! you are soo good in presenting what is on your mind
    i like what you are doing a lot
    thank you so much for the valuable information and good demos !

  • @coryballiet8260
    @coryballiet8260 6 ปีที่แล้ว

    Way late to the party here, but I see JTAG on just about every product I test at work. Much appreciated information on this. Great video!

  • @yung-megafone
    @yung-megafone 2 หลายเดือนก่อน

    Id love to se more whiteboard presentations like this
    Keep up the great work, sir!

  • @sbybill3271
    @sbybill3271 5 ปีที่แล้ว

    Am I alone losing my eyesight by constantly watching Dave's amazing videos?

  • @alexmaramay7222
    @alexmaramay7222 3 ปีที่แล้ว +1

    Very thorough, very clear descriptions. Thank you so much!

  • @AV1461
    @AV1461 7 ปีที่แล้ว +1

    Amazing! A video with theory explanation and with a practical example!

  • @sebastiang2296
    @sebastiang2296 11 ปีที่แล้ว +1

    Wow. I was just reading an introduction to JTAG's interface and its implementation like the TAP controller state machine. Great timing with the video, Dave. It really complemented what I just learned. Now I got a JTAG itch to go scratch :)

  • @mechadrake
    @mechadrake 11 ปีที่แล้ว

    Dave, these videos are awesome, I will go back and watch all you have made.

  • @Afrotechmods
    @Afrotechmods 11 ปีที่แล้ว +24

    Amazing tutorial thanks!

  • @bhagathch7349
    @bhagathch7349 6 ปีที่แล้ว

    Such an amazing information. We have been trying to debug faulty PCB's since 1 month and now I got a wonderful tool to utilise. Thanks a ton!

  • @KB1UIF
    @KB1UIF 11 ปีที่แล้ว +1

    Thanks Dave , I didn't know about the boundary scan possibility with JTAG only the programming functions. This was a great eye opener for me!! Cheers!

  • @markwahlberg8889
    @markwahlberg8889 11 ปีที่แล้ว

    Thanks for doing these Fundamental Fridays. Opposite to most people, but I prefer these to the dumpster diving and mailbag videos even if I already know the content.

  • @polkijain97
    @polkijain97 4 ปีที่แล้ว

    Dave has such a soft and calming voice in this unlike his later videos.

  • @EEVblog
    @EEVblog  11 ปีที่แล้ว +3

    I always use the lapel mic for recording FF video, I have to, as the camera is 3 meters away. But when shooting on the bench I use the internal mic.
    Lapel mics are not perfect, and if you turn your head the volume varies a lot. I passed this one through The Levelator to level out the audio, which is not easy to do in my Sony video editing software.

  • @gajendrasinghsisodia7936
    @gajendrasinghsisodia7936 2 ปีที่แล้ว

    Thanks for making it so simple and easy to understand the concepts of JTAG

  • @MandrewP
    @MandrewP 11 ปีที่แล้ว

    Dave, you are the freaki'n best! When I get some money I'm going to send you a donation - you deserve it.

  • @cyfireglo
    @cyfireglo 3 ปีที่แล้ว

    Wow! This was a great video! And thanks for showing the software at the end... it gave some examples of how useful JTAG can be.

  • @EEVblog
    @EEVblog  11 ปีที่แล้ว +29

    Well yes, of course you need good software to decode all display the info, otherwise you are just looking at The Matrix

  • @shovonsaha8556
    @shovonsaha8556 5 หลายเดือนก่อน

    This video is just amazing! Thank you so much for the detailed demonstration.

  • @goldrushjkgh
    @goldrushjkgh 4 ปีที่แล้ว

    You are what my college needs. Hats off to you.

  • @roberthorwat6747
    @roberthorwat6747 8 ปีที่แล้ว

    Fully expected my brain to fry and scream "mercy" but this was in fact easy to follow and enjoyable to the last. Thank you Dave!

  • @damejelyas
    @damejelyas 2 ปีที่แล้ว

    You got to love the enthousiasm !!! Love the content.

  • @MarcoMardegan
    @MarcoMardegan 11 ปีที่แล้ว

    Non ti abbattere, la maggior parte dei discorsi sono semplici da capire soprattutto perché con il video si riesce a raffigurare quello che spiega e tu puoi associarlo al discorso..
    Guarda anche altri suoi video e piano piano avrai l' orecchio per seguire tutto quello che dice :)
    Ciao

  • @johnadriaan8561
    @johnadriaan8561 8 ปีที่แล้ว +1

    @AvstoMusic - Each JTAG pin "site" knows whether it's an input or not, so an input won't 'adopt' its shifted-in value. Instead, it will ignore the shifted-in value and shift out its current value - when TMS is strobed, at least! So a host performs a complete scan by: [1] Shifting N bit values; [2] Strobe TMS to "Make It So!" (see my previous comment); [3] Shifting N bit values. That will program the outputs to the desired values, and then read the resultant values.

  • @JoeGrand
    @JoeGrand 11 ปีที่แล้ว +1

    If you're hacking/reverse engineering a PCB that doesn't have an obvious JTAG connector (but suspect it's still there based on the chips on-board), you can use something like the JTAGulator, which is an open source tool I recently designed. Just connect to test points on the target board and have the tool try to determine if a JTAG interface actually exists. Once you've determined the pinout, you can use standard JTAG tools to start interfacing directly with the chips, extract firmware, etc.

  • @foxyrollouts
    @foxyrollouts 8 ปีที่แล้ว +23

    Dave TH-cam University.. you are a very good lecturer

  • @johnadriaan8561
    @johnadriaan8561 8 ปีที่แล้ว +1

    You seemed to gloss over the fourth JTAG pin: TMS. Your description of TDI, TDO and TCK were perfect - but think about what would happen if they were the only pins, and TCK shifted the 1s and 0s through all the different pins... There'd be chaos as the differing values produced different results! That's what TMS is for. Think of it as Jean-Luc Picard saying "Make it so!" - until TMS is used (I think of it as "Master Strobe"), the shift registers just shift the data. TMS is used to "latch" the current state into the actual pins.

  • @aliuzel4211
    @aliuzel4211 5 ปีที่แล้ว +1

    Very good. Thanks. Just to remind that signal integrity should be taken into account carefully. If many chips with JTAG pins exist, say complex boards, I prefer using CPLD to access each chip directly rather than having chains (chains can be established on CPLD rathher than PCB with maximum flexibility) and installing/uninstalling jumpers on TDI-TDO pins. And of course optional TRST pin exists as well.

  • @doogulass
    @doogulass 11 ปีที่แล้ว +1

    Thanks for this video! I had no idea JTAG's capabilities went that far, I always thought it was just for flashing chips and debugging your programs. Wow! I could see the direct pin access being very useful in a production environment for doing electrical tests on finished boards. Very nice, keep up the cool videos!

  • @tonybell1597
    @tonybell1597 11 ปีที่แล้ว +3

    Excellent video Dave. Reminds me of the Engineers access method for diagnostics on ICL 2960 mainframe computers. We could access all the registers of the system by " spinning the loops" and read the contents of all the registers on a serial bus. Keep up the fundamentals Friday stuff. Maybe some more novice vids would be good?

  • @MikesTropicalTech
    @MikesTropicalTech 3 ปีที่แล้ว

    Fascinating Dave, thanks. I'm using JTAG for flash and debug on my ESP32, but it's great to know of all of the extra power behind JTAG.

  • @aatheus
    @aatheus 11 ปีที่แล้ว

    Great video! I was not aware that you could read and WRITE pins directly via boundry scan.

  • @TheDuckofDoom.
    @TheDuckofDoom. 7 ปีที่แล้ว

    I didn't know it was used for programming, i did know it was used for testing and debugging but I never knew how it operated. Very informative video.

  • @jimjam623
    @jimjam623 11 ปีที่แล้ว

    Great video Dave - A few things were repeated a little too much, (that's what rewind is for) but overall: really interesting and educational. Thanks!

  • @ninadpchaudhari
    @ninadpchaudhari 11 ปีที่แล้ว

    Hi ! Always enjoy watching the videos ;) Just had a Suggestion ...
    You know , the content is just great ! but those huge length of episodes really give me a second thought :)

  • @Klythia
    @Klythia 3 ปีที่แล้ว

    Thank you very much for all the Explanations and videos you make ... God bless you

  • @Seaprimate
    @Seaprimate 5 ปีที่แล้ว +1

    Yeah, I'm going to need a direct JTAG interface into your brain.... Your ability to break complex things down simply is unparalleled in my opinion, and I greatly desire that ability.

  • @EEVblog
    @EEVblog  11 ปีที่แล้ว +1

    I'll be re-listing these soon

  • @TheKCarmine
    @TheKCarmine 11 ปีที่แล้ว +4

    Awesome video really couldn't have made this more clear.

  • @sarowie
    @sarowie 11 ปีที่แล้ว +1

    I rembember, that JTAG can short out individual chips on its on via the JTAG control circuit. So, datas do not need to travel all the way through the chips: You can set each chip to bypass the data and therefor speed up the process of programming/testing etc. The data will only go trough the control logic which only have a few bits and not hundreds.

  • @delontamonroe7503
    @delontamonroe7503 2 ปีที่แล้ว

    You are awesome, so glad I stumbled upon this vid!!!

  • @avstomusic
    @avstomusic 11 ปีที่แล้ว +2

    Hi Dave, just wondering if you can actually damage your board while "playing" with JTAG. For example - your looking at a single chip, without taking in consideration the rest of the PCB, and force a pin to go low, not realizing that it's an input being driven high by another chip, ultimately shorting down that other chip's output to ground, drawing to much current for too long and blowing up that other chip?

    • @xThirdOpsx
      @xThirdOpsx 2 ปีที่แล้ว

      I would also like to know the answer to this

  • @runforitman
    @runforitman ปีที่แล้ว

    oh i am 100% playing with this in my next project
    this is so cool

  • @AlainHubert
    @AlainHubert 6 ปีที่แล้ว

    I initially thought that JTAG was for testing purposes only, like hardware faults and cold solder joints and such. But thanks to Dave, I now know how powerful it actually is at performing many other useful things like programming chips ! And all of that in only 29 minutes ! (actually 20 minutes because I watch the video at 1.5 speed)

  • @hansi98
    @hansi98 10 ปีที่แล้ว +241

    can i please copy and paste your knowledge into my brain?

    • @HighestRank
      @HighestRank 7 ปีที่แล้ว +50

      Just as soon as you upgrade your JTAG cerebral cortex interface to High Speed.

    • @ПетяТабуреткин-в7т
      @ПетяТабуреткин-в7т 6 ปีที่แล้ว +15

      I wouldn't want that done to me as it would take away the enjoyment of getting the knowledge.

    • @abcd-ek1rt
      @abcd-ek1rt 6 ปีที่แล้ว +2

      wow, I haven't read such a comment ever in my life before..

    • @glarynth
      @glarynth 5 ปีที่แล้ว +3

      Sure, if his brain has JTAG. It'll take a while to get through 10^11 daisy-chained neurons, though.

    • @slartibartfast4260
      @slartibartfast4260 5 ปีที่แล้ว +3

      @@glarynth I wonder how many shorted IO's

  • @bcsupport
    @bcsupport 11 ปีที่แล้ว

    Thanks for this fun intro to JTAG, Dave.

  • @VidsWotIMade
    @VidsWotIMade ปีที่แล้ว

    Used to work with JTAG and Boundary Scan.
    Went on a course in the Netherlands with Eindhoven.

  • @jonathannewkirk9963
    @jonathannewkirk9963 6 ปีที่แล้ว

    Bad Ass! Best description of Boundary Scan I've seen

  • @BrianWanda
    @BrianWanda 6 ปีที่แล้ว

    Very good video. I am just a hobbyist, but it is good to know that the 'big boys' need to debug pin by pin also.

  • @binarybox.binarybox
    @binarybox.binarybox 5 ปีที่แล้ว

    Excellent , Dave. Thank you.

  • @sysmatt
    @sysmatt 11 ปีที่แล้ว

    Really good one. Definitely turned me on to possibilities of JTAG.

  • @angusbradley797
    @angusbradley797 11 ปีที่แล้ว +1

    Good one! Actually this makes two Fridays in a row.
    I used to like your teardowns best. I may revise that.

  • @paraescucharrap
    @paraescucharrap 9 ปีที่แล้ว +1

    Thanks so much for the explanation. Very helpful and very well made

  • @usertogo
    @usertogo 2 ปีที่แล้ว

    I remember the days we were doing joint test action, not much real work was done afterwards...

  • @selvalooks
    @selvalooks 10 ปีที่แล้ว

    Very much clear description!!!! Thanks!!

  • @FrankenPC
    @FrankenPC 11 ปีที่แล้ว

    Do some JTAG devices have depth buffers on the boundary scan pins? Is there any state information with boundary data? For instance, some kind of RTC stamp so you know that the state from all pins is at the same time? Or does the serial scan only send back exactly what it had at the point in time the scanner got to that particular pin?

  • @adityaaman3794
    @adityaaman3794 3 ปีที่แล้ว

    Hey Dave! Thank you! That was very informative

  • @michaelbarakat6095
    @michaelbarakat6095 5 ปีที่แล้ว

    That was so interesting and powerful protocol thanks Mr. David 😍😍

  • @manuelvaldez5602
    @manuelvaldez5602 8 ปีที่แล้ว

    Im interested in what you mentioned about the reach of the boundary scan, Id like to know how can i do to read the internal logic value of the chip... Or its just a hardware test?

  • @anmolverma7194
    @anmolverma7194 5 ปีที่แล้ว

    Simply wonderful ...
    Great ..you deserves allot...

  • @TradieTrev
    @TradieTrev 11 ปีที่แล้ว

    Great Vid! This complements nicely with my knowledge of using JTAG to flash routers, really opens my mind and makes perfect sense

  • @aviralrg
    @aviralrg 8 ปีที่แล้ว

    this is exactly how i wished to be explained! i loved it

  • @zemenusisay7156
    @zemenusisay7156 8 ปีที่แล้ว

    I'm really happy with my teacher!

  • @eni4ever
    @eni4ever 11 ปีที่แล้ว +1

    I really enjoyed this one! Thank you Dave!

  • @Brokenrocktail
    @Brokenrocktail 9 ปีที่แล้ว

    Pete Sapwell in reference to your comment about shorted JTAG lines:
    It works 80% of the time, every time. Haha... things never work 100% of the time.

  • @akshay6667
    @akshay6667 5 ปีที่แล้ว

    Really helpful video. You explained it very well and I got to know a lot about JTAG. Thank you very much

  • @dinkc64
    @dinkc64 11 ปีที่แล้ว

    Its an audio engineer term, (not audiophile), basically the background noise in your video gets louder when you turn to the camera, and lower when you look towards the board. Sometimes it gets louder after you stop talking, and lower when you start talking, and that ebb and flow of noise is what he means by the pumping effect. You'd have to watch your video with headphones (or really loud) to even notice it.

  • @alannobakht8503
    @alannobakht8503 9 ปีที่แล้ว +2

    Can we load test vector patterns to the chips via JTAG Boundary Scan and read the output and compare it with known output pattern wit this XJ-TAG tool.

  • @manojkumarsubramaniam7122
    @manojkumarsubramaniam7122 7 ปีที่แล้ว

    Very nice Dave.. Even though JTAG is not famous anyway... I really wanted to know it.. Really learned smtg. Thanks

  • @krish2nasa
    @krish2nasa 8 ปีที่แล้ว

    Excellent, Thank you very much Dave

  • @mythicfps9131
    @mythicfps9131 7 ปีที่แล้ว

    This is awesome it's been around that long

  • @jfernandmy
    @jfernandmy 11 ปีที่แล้ว

    Thanks for the video Dave, I love Fundamentals Friday!

  • @opablo_gm
    @opablo_gm 11 ปีที่แล้ว

    I learned a lot thanks to this video... thanks Dave

  • @DavidHogendoorn
    @DavidHogendoorn 10 ปีที่แล้ว +1

    just absolutely FASCINATING

  • @mauro7029
    @mauro7029 11 ปีที่แล้ว

    Impressive explanation, and i have one question, what happens when you flash a tablet for exemple, and that flash goes wrong for any reason? the only way to re-access the ports I\O again is doing a jtag procedure? it's possible to demange the IC's?

  • @seafav628
    @seafav628 7 ปีที่แล้ว

    If you want to access only one chip while having multiple serial connected chips, you can shift in bypass instruction to the other chips. Thus the TDR is only connected to the chip you want to see. This will greatly speed up things.

  • @mattstelmach1982
    @mattstelmach1982 11 ปีที่แล้ว

    Excellent video Dave. Thanks very much!

  • @BrendanOrr
    @BrendanOrr 11 ปีที่แล้ว

    Another great video, Dave! Did you just get that lapel mic or have I just not noticed it before?

  • @TheMightyKinkle
    @TheMightyKinkle 3 ปีที่แล้ว

    We have just bought on of those XJ Tag testers at my work. It cost about £9000!

  • @darmstadtbeste4590
    @darmstadtbeste4590 ปีที่แล้ว

    Amazing, thank you so much for this!