| Electronics > Beginners |
| Expectations and JTAG |
| (1/2) > >> |
| mcsilvio:
Hi all, I saw our man's video on JTAG and was really inspired. I am a software dev by day, but I don't have *much* experience with such low-level work. After I watched that great video, I had some cool ideas, but sadly reality was different to my expectations. I'd love your input on this. Here's what I expected to be true after watching the video. - I could send my own firmware to almost any device's CPU - I wouldn't be able to do much (or anything) if the device is complex and has many peripherals (e.g. phone) What I found: - There is not just one type of JTAG - Many devices make it near impossible to find the debugging pins - It won't be possible to have a datasheet for any device you choose. My dream: - JTAG an old phone, write anything to its screen. I read that I might need to incorporate a BLOB for interacting with the graphics system. Anyway, pipe dream. I'd love if you guys/gals could help settle some of these expectations. I guess a question could be: If I want to try writing my own firmware to some interesting device, what should I look out for to ensure that I would have a chance of succeeding? Please and thank you |
| Jeroen3:
JTAG is a test interface. Standardized. Whatever else a chip or vendor incorporates behind this test interface is up to them. Flash programming, debugging or you name it. Using it requires the tool to know about the board and chip. If you didn't develop the board, or are able to find designs for it, you can't really use JTAG do to anything without heavy reverse engineering. That is, only if the chips JTAG ports aren't fused shut by OTP bytes. --- Quote ---I could send my own firmware to almost any device's CPU --- End quote --- You could operate the pins going to the external memory to reprogram it. It is very slow. Sometimes this is the only way to get DD-WRT on a router. |
| RoGeorge:
JTAG is not the "ability to instantly speak to any animal of the forest". However, if you are willing to spend more time understanding them, you may either learn more about each "animal" (by reading each chip datasheet), or by carefully observe and study each species by yourself (reverse engineering). :) Maybe reading more about JTAG basics will help understand what can and what can't do: https://www.fpga4fun.com/JTAG.html |
| magic:
--- Quote from: mcsilvio on October 10, 2019, 09:14:51 am ---My dream: - JTAG an old phone, write anything to its screen. I read that I might need to incorporate a BLOB for interacting with the graphics system. Anyway, pipe dream. --- End quote --- The simplest solution: disconnect the screen from the SoC and figure out what it is and how to talk to it :P If you want to run a firmware on the phone that writes something on the screen, your fist concern should be finding out what OS it runs, what APIs are available to access the screend or alternatively how the SoC with its integrated GPU works and write your own OS and drivers for everything. That will keep you busy for a while :-DD --- Quote from: mcsilvio on October 10, 2019, 09:14:51 am ---I'd love if you guys/gals could help settle some of these expectations. I guess a question could be: If I want to try writing my own firmware to some interesting device, what should I look out for to ensure that I would have a chance of succeeding? --- End quote --- First of all, datasheets. Pro tip: they aren't available to you. Failing that, months of reverse engineering. See how projects like nouveau are doing trying to write 3rd party GPU drivers for undocumented NVIDIA chips. |
| mcsilvio:
Thanks all. You sure set the record straight! I appreciate it. Keep it coming. I want to know all the hurdles that make this implausible. Please. |
| Navigation |
| Message Index |
| Next page |