Comments (5)
In general, the generic crt0 approach is apparently working, but there are still issues:
Dhrstone doesn't complete its output:
Enum_Loc: 1
should be: 1
Str_1_Loc: DHRYSTONE PROGRAM, 1'ST STRING
should be: DHRYSTONE PROGRAM, 1'ST STRING
Str_2_Loc: DHRYSTONE PROGRAM, 2'ND STRING
Output ends here, so there are a few lines missing (including the final score). Also, at startup, the line
Dhrystone Benchmark, Version 2.1 (Language: C)
Is shown twice, as if the program restarts in the middle of execution. Maybe there is some issue with how we setup the clock doubler or other configration, that makes the Rabbit unstable?
P.S.: Even without the clock doubler, and with MB0CR and GCSR at reset value and MB2CR at the "safe" value from the generic crt0, I still see the same problem. At least that means that the problem is not the watchdog - the watchdog one is timed from a separate clock, so we'd get a noticeable change in behaviour when running Dhrystone much slower.
P.P.S.: I found the problem: I forgot to update the Makefile with the correct value for --data-loc. With this fixed, Dhrystone works.
from openrabbit.
I've read through the documentation of 7 RCM now.
All of them have:
- Flash at /CS0, /OE0
- RAM at /CS1, /OE1, /WE1
This is also what coldload.bin assumes (which gets these values from the default makecold configuration).
We might not necessarily get the fastest configuration from that (RCM3209 has additional faster RAM at /CS2), but something that works on nearly all hardware.
For Flash, we could just leave MB0CR in its reset state. For RAM, I suggest to configure on of the other MBxCR registers to 0x05.
Due to backwards-compability in the Rabbit 4000 MMU, the generic crt0 should even work with the RCM for Rabbit 4000.
from openrabbit.
A first version of such a generic crt0 is now in the repo as crt0-generic.s. It works for me on the RCM2200.
from openrabbit.
I'll try to do a bit more testing with the generic crt0 next week, then, assuming no problems turn up, merge it into SDCC.
from openrabbit.
The current generic crt0 works with at least 6 different boards (i.e. all the boards I have).
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
- 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.