Comments (8)
I bought the NodeMCU, since the code only compiled for it.
I've sorted the pins I think. but I get error when trying to play XSFV to update Gamecube hdmi adapter (insurrection Carby)
I've attached JTAGtest app which I flashed to nodeMCU and the output from running the python script. also the xsfv I want to use.
hopefully you can help me
gcvideo-dvi-shuriken-v3-gc-3.0a-M25P40-complete.txt
JTAGTest.txt
log.txt
from jtag.
Hi Gizmo,
The log you sent me suggests that the program on the NodeMCU is aborting:
...
Sent: 374970 bytes, 16062105 remaining
Sent: 375009 bytes, 16062066 remaining
Sent: 375048 bytes, 16062027 remaining
Unrecognized line: User exception (panic/abort/assert)
Unrecognized line: Panic core_esp8266_main.cpp:189 loop_task
Unrecognized line: >>>stack>>>
Unrecognized line: ctx: sys
Unrecognized line: sp: 3fffeee0 end: 3fffffb0 offset: 0000
Unrecognized line: 3fffeee0: 00ad5b8a 00b6e5fb 4023542b 3ffe91d4
Unrecognized line: 3fffeef0: 000000fe 00000000 00000000 00000000
Unrecognized line: 3fffef00: 00000000 00000000 00000000 3ffee468
Unrecognized line: 3fffef10: 00000000 3fffd9d0 3ffe88d0 3ffee42c
Unrecognized line: 3fffef20: 3fffdad0 00000000 3ffe84e4 402035ba
...
The "Unrecognized line: " part is from Uploader.py. What comes next is what the NodeMCU is sending. It is hard to me to help you with that issue.
There are some buffers in the program that were small due to the limited memory of an Arduino, but they could be augmented for the NodeMCU, which I suppose has a lot more memory. If I recall correctly, there was an instruction in XSVF that could use a lot of memory, I think it is XSDRINC. That way, it is possible for the generated XSVF file to overflow the microcontroller's buffer.
You can try something like 60dcdca and change the value of S_MAX_CHAIN_SIZE_BYTES to something bigger than 129. This is the best shot I can give since I don't have the hardware to test. If that solves the issue for you, please tell us. Maybe I can add some notes on the README.md file to explain this issue.
If that does not work, and if you are willing to go down some levels of abstraction, you can try to disassemble the XSVF file with XSVFDisassembler.py and see if there is a huge XSDRINC instruction or something else similar there and try to fix the issue.
Hope this helps.
Regards,
Marcelo.
from jtag.
Hi thank you for your reply.
I tried changing buffer size and max_chain size with no luck, it still errors in around the same area.
for now I have ordered a xilinx compatible jtag.
from jtag.
I was having this same question, if this code is compatible with any modern boards (ESP, DUE, etc)
from jtag.
I am also interested to know if this code is compatible to ARM-based Arduino like DUE. If not, how to adapt it for DUE.
from jtag.
The code is easily adaptable to any other processor. The class JTAGPort is virtual. There are two implementations: JTAGPortArduino and JTAGPortAVR. If your processor is Arduino compatible, there should be no problems using PlayXSVFJTAGArduino. If the pins are not compatible, but the API is, then it is just a matter of changing the pins. In the worst case scenario, you would have to derive from JTAGPort and reimplement the methods and write a new PlayXSVFJTAGxxx , which is also straight forward.
from jtag.
Great. Thanks for the clarification.
The Arduino's official website says it is only compatible for certain boards, which creates confusion.
https://www.arduino.cc/reference/en/libraries/jtag/
from jtag.
The compatibility list is based on what has been specified in the library.properties
file. This is what I have actualy tested or that someone has helped me testing. I have never used an ARM-based arduino. The library uses some portInputRegister()/portOutputRegister() magic to try to be a bit faster when manipulating I/O, but this was still a bit slow, that is why the AVR versions exist. I really don't know how this code would behave in the ARM versions of the Arduino environment. If anyone is willing to test, I will gladly accept patches.
from jtag.
Related Issues (12)
- ValueError: invalid literal for int() with base 10: 'oft WDT reset' HOT 12
- Error in programming process HOT 15
- Error: Requested DR Size Too Small HOT 2
- Uploader speed-up tip. HOT 1
- VREF does not work when INPUT_PULLUP is used? HOT 1
- Uno R4 Minima HOT 7
- Doesn't compile for SAMD21
- Error in extra/python/XSVFDisassembler.py HOT 3
- Error in Uploader.py HOT 2
- Problem with uploading XSVF and SVF HOT 4
- Problem when trying to Upload a XSVF HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jtag.