Giter Club home page Giter Club logo

Comments (7)

jbush001 avatar jbush001 commented on September 27, 2024

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.

aeteijeiro avatar aeteijeiro commented on September 27, 2024

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.

jbush001 avatar jbush001 commented on September 27, 2024

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.

aeteijeiro avatar aeteijeiro commented on September 27, 2024

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.

jbush001 avatar jbush001 commented on September 27, 2024

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.

aeteijeiro avatar aeteijeiro commented on September 27, 2024

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.

jbush001 avatar jbush001 commented on September 27, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.