Comments (7)
This is a bit odd.
The ROM bootloader is sending back 0xc8, which it does when it doesn't recognize a command. However, it does look like it responded to the initial and subsequent pings (0xc4). This suggests the serial port is configured properly and working on both ends, as, if it wasn't, the host side would timeout without seeing a ping response at all, or it wouldn't see a valid error response.
When you say " I have had the same problem with multiple past builds as well as the most recent one."? Are you saying you rolled back to earlier commits to see if this was a recent regression? Have you ever been able to get this setup to work? And, to double check: have you made any other changes to the project source code in the process of bringing this up?
from nyuziprocessor.
Thank you for your reply Jeff. This is my first time working with the Nyuzi platform, so I have never gotten it working before. I did checkout several past commits that appeared to be working judging from comments in forums, and I resynthesized and programmed the board for each commit, to no avail.
The only change I made was to software/bootrom/boot.c and tools/serial_boot/serial_boot.c to lower the baud rate to 115200 as suggessted by a comment in one forum, but that didn't work so I changed it back. Even then, the reason I changed it to begin with was because of this error code (so in short, no I didn't change the source code).
from nyuziprocessor.
Thanks for the clear description. Unfortunately, I don't currently have a good theory why it is failing like this. One approach to debug might first be to add a bit more back-and-forth communication between software/bootrom/boot.c and tools/serial_boot/serial_boot.c. For example perhaps boot.c could send the bad command byte it got, which might give a clue where the protocol is going wrong. I'm not sure how comfortable you are with that kind of debugging.
from nyuziprocessor.
I haven't done it before, but there is a first time for everything. I could try it for a few days and get back to you?
from nyuziprocessor.
Yeah, absolutely! Unfortunately it's a bit hard for me to debug directly, but I'm happy to try to help answer questions.
from nyuziprocessor.
Hi Jeff, I got it working! I experimented with the serial_boot.c file with a logic analyzer to figure out what was going wrong, and realized that I had not rebuilt the project correctly the last time I tried to change the baud rate (building from source is something I am still mastering). I'm sorry about that.
So anyways, lowering the baud rate to something that I knew my computer could do (115200), like you suggested in one of your readme files, did the trick. Thanks for pointing me in the right direction.
from nyuziprocessor.
Nice work! Debugging the boot loader is always tricky, and, because of the way this is compiled into the hardware, the build system is a bit fragile and doesn't always pick up changes cleanly. I'm glad to hear you were able to get it working. :)
from nyuziprocessor.
Related Issues (20)
- Switch to github actions for CI build.
- Is this project going to support the openCL? HOT 2
- I saw a similar crash in the user_copy_fault test. HOT 2
- I want to use quartus to generate the RTL of GPU HOT 3
- Error building NyuziProcessor (probably NyuziToolchain) HOT 16
- Crash w/ latest version of Verilator
- Is there a problem with these lines of code in cache_lru.sv or is it just that I don't understand the algorithm? HOT 2
- Suggestions HOT 1
- hi how can i get linux driver HOT 3
- May be a icache miss thread still can be scheduled again? HOT 3
- Khronos ML summit HOT 2
- run_fpga command does not work properly for me HOT 6
- make error HOT 6
- setup_tools.sh failure HOT 10
- ./scripts/setup_tools.sh error on MAC M1 HOT 2
- Questions related to integration. HOT 1
- TARGET_FILE:llvm-strip : build error HOT 1
- Performance measure using hash program HOT 8
- solution of ASM compiler identification is unknown
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 nyuziprocessor.