I am trying to use MON51 on a Rigel Corporation R-515JC. I have tried using the install.bat with the following parameters: install 1 0C0 00 I also tried: install 0 0EF 00 The board has a 32K EPROM (27C256) that I programmed the resulting Hex file into. The board configuration has the EPROM at 0 and the RAM at 8000h. In install.a51 I set: INT_ADR_OFF EQU 8000H DEF_PC_VAL EQU 8000H I can't get it to go! Anybody got any suggestions or experience with this board?
You've probably already seen this link, but... http://www.keil.com/support/docs/1221.htm Getting the monitor to work is pretty straight forward. Just make sure you're not locating it (or its data space) in memory that doesn't exist. Jon
Yes, I saw that and used it. I agree that it looks like it should be straight-forward Rigel's monitor works fine on the Rigel board and I use Keil's monitor on some Siemans 515C boards I got from Phytec. I prefer the Keil software to Rigel software so it appeared that it would be a straight-forward task to make the hex file, put it in EPROM, and be happy. Right now I'm not too happy! I was wondering if anyone else had particular experience with this board and knew if there were any hidden "gotchas". I have run out of ideas!
Let me ask a more specific question. If the 32K EPROM starts at address 0 and the 32K SRAM starting at 8000h, then should I set the xdatastart to be in the 00-7F range or the 80-FF range. I had presumed the 80-FF range, since that is the RAM. But as I keep re-reading, especially the sentence: If your monitor is stored in EPROM (starting at 0) and your von Neumann memory starts at 4000h, your XDATA memory (in your target program) may occupy 0000h to 3FFFh. I wonder if maybe it isn't suppose to be in the 00-7F range?
When you configure the monitor, you must specify 4 things: 1. Which serial port to use as well as the baudrate. 2. The starting address for the monitor code. Usually, this is 0000h in the CODE space. 3. The place to redirect interrupts to. Usually this is the address where the von Neumann RAM starts (0x8000 in your case). 4. The starting address for the monitor's XDATA area. This MUST be von Neumann memory because the monitor generates code that is writes to this XDATA space and, of course, executes from CODE. In your case, a good place is at the top of memory (0xFF00). It appears to me that you have these 4 things right on target. So, that means that something else is wrong. Maybe the documentation is lying about the address space that is available. Are you able to program a simple assembly program that just toggles port bits or transmits a character out the serial port? Jon
I should have been more specific about what doesn't work. I cannot even connect to the MON51 Monitor! As for a program, I just used a program that I used on the other Siemens board I have from Phytrec. And I got that program to work fine when I downloaded it on to Rigel's C515C board using Rigel's Reads software. But unless I am misunderstanding, I don't think it has anything to do with the program I am trying to download. There is some other piece I am missing. I can't think of anything that seems wrong with the memory addressing. I made one other change as per the instructions. In install.a51, I put: DEF_PC_VAL EQU 8000H even though it was 0 to start with. But if I understand its purpose, it really isn't used until Keil has connected and a program is downloaded. So I didn't think that figured in to the problem. Does MON51 require some hardware hand-shaking on the serial port that maybe isn't happening? I use a standard cable and using that same cable on the other Sieman's board with Keil works just fine.
Does MON51 require some hardware hand-shaking on the serial port that maybe isn't happening? I use a standard cable and using that same cable on the other Sieman's board with Keil works just fine. No. But maybe the Rigel board does something fancy like use DTR to reset the board. Check the schematic of the Rigel board to be sure that it doesn't use the signal lines to reset or enable the board. MON51 uses only RX and TX on the serial interface. All other signal lines, DTR, DSR, CTS, RTS, DCD, and RI are not used. - Jon
The Rigel docs says only 3 lines are needed, send,receive,ground. So I would presume that I need to think up some other possibility.