Comments (3)
Cold-boot only will be agonizingly slow and can only address the lower 64K of memory. Every byte of the cold loader actually requires three bytes (16-bit address and 8-bit data byte) over the serial port, so at 2400bps you'll only get 80bytes/second of throughput. In addition, the written program will just be in RAM.
You could write a new pilot program with necessary code to receive the full firmware image and write it out to flash (or RAM). I believe the cold loader and pilot source describe the method used. You could also check Dynamic C 10 documentation as it may be more thorough (and describe a bootstrapping method that would apply to writing a boot strap process for Rabbit 2000/3000 products from scratch).
It might be possible to copy C code from the Open Source Dynamic C libraries and BIOS to create a .C program that you can compile from SDCC to create a fully-free pilot.c.
from openrabbit.
But, after looking at what the Pilot BIOS can do, I could see implementing a "Pilot-only" mode. You could read or write any location in memory in that mode, including reading the System ID Block. I'm curious about using it to download a copy of the installed firmware, something that should be possible on any device with just the Pilot BIOS.
from openrabbit.
Indeed cold-boot only would be very slow. And since we have free coldload.bin and pilot.bin there not that much motivation anyway (though we still can't compile pilot.bin using free tools, so maybe an initial loader only mode would make sense).
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.