Comments (12)
Can you capture serial communications and compare it to serial communications of RFU sending the cold loader and pilot?
from openrabbit.
I just checked that the hardware is okay: The same setup (same cable, same module, no prototyping board, lab power supply at 5V) works fine with the RFU from Dynamic C 9.62A on Windows 10.
from openrabbit.
I'll look into capturing the communication later: I'll be away from most of my equipment including the lab power supplies and the Windows machine for a week from today.
from openrabbit.
I wonder if this is due to some difference between the coldbload.bin and pilot.bin that OpenRabbit was used with at the time of the 0.1.1 release vs. the current ones.
AFAIK the author of Openrabbit 0.1.1 used it with pilot.bin and coldload.bin from Dynamic C 8.51. Are pilot.bin and coldload.bin from Dynamic C 8.51 available somewhere? Do we know anything about the differences to the current versions?
from openrabbit.
Testing with coldload.bin and pilot.bin from Dynamic C 8.61 I was able to proceed beyond this problem.
So this is indeed a version incompability.
from openrabbit.
I have documented the bootstrapping process from Dynamic C 9.62 in commit digidotcom/DCRabbit_9@4e527a9.
from openrabbit.
Turn out I was able to get beyond this exactly once so far. Now I run into #5 even when powering off the RCM2200 overnight.
from openrabbit.
With the timing fixes, it works reliably using the Dynamic C 8.61 binaries.
It also works with our coldload.bin (from Dynamic C 9.62), but not with the pilot.bin from Dynamic C 9.62.
from openrabbit.
My guess is that PILOT.BIN
from DC 8.61 used a different protocol than the PILOT.BIN
from DC 9.62.
from openrabbit.
Looks like it. Just using the pilot.bin from Dynamic C 9.62A fails due to different file format of pilot.bin.
But even when I change OpenRabbit to use the DC 9 pilot.bin file format, it still fails:
reset rabbit
loaded 831 bytes from ../coldboot/coldload.bin
flushing data for baudrate set
set baudrate to 2400
sending 828 initial loader triplets
flushing data for baudrate set
set baudrate to 57600
loaded 5517 bytes from /tmp/pilot.bin
sending 5517 pilot
csumR 0xd469 != csumU 0x0000
from openrabbit.
It works now. With pilot.bin from Dynamic C 9 (which is included in OpenRabbit).
After all it was just a file format issue.
from openrabbit.
OK, so now it sounds like the coldboot/pilot from Dynamic C 8.61 and 9.62 are interchangeable with the protocol used in OpenRabbit's RFU replacement? That's great. And you have a way to assemble coldboot.s
with SDCC, and convert it to triplets for a replacement coldboot.bin
. Next would be to update pilot.c
and its dependencies to compile with SDCC (perhaps a bit more difficult, given Dynamic C's library format).
from openrabbit.
Related Issues (20)
- make distcheck broken HOT 2
- Improve speed HOT 4
- (configure) option for DC8 mode? HOT 1
- Not working with PL2303 USB-serial adapter HOT 9
- Doesn't really work with DC 9.62A pilot.bin HOT 4
- Auto-detect secondary loader format HOT 4
- Segfault running openrabbitfu without any parameters HOT 1
- Create "build" directories for building and then add to .gitignore HOT 1
- Windows doesn't support symbolic links, so openrabbitfu doesn't work HOT 1
- Out-of-tree build fails
- Display human-readable processor information HOT 5
- Low Dhrystone performance HOT 12
- program start by RFU? HOT 10
- Add README to examples with build instructions HOT 1
- Make crt0 use a configuration that is likely to work well with many programs HOT 5
- Not working with CH340G USB-serial adapter
- stdcbench fails self-test in c90lib-lnlc.c HOT 2
- Make it cross-platform HOT 2
- Intel hex support HOT 3
- openrabbitfu missing in distribution tarballs HOT 1
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 openrabbit.