Topic : RLink doesn't respond as expected

Forum : ARM

Original Post
Post Information Post
September 18, 2007 - 4:55pm
Guest

I'm using the RLink with the ST712FR2. When I open the RFLasher utility, and click any of the 8 buttons (sans Reload Memory) in the Commands section, I get a message box that pops up and disappears too quickly to read it, and then get a second message box that simply says "CPU is reset".

I took a screen capture of the disappearing message box, and it reports

Connecting to RLink on Emu=RLink;Port=RLinkUSB
Communication DLL CRLINK ver. 1.03 loaded

It seems harmless; certainly not an error, but shouldn't I see some sort of verification that the memory is (or isn't) blank when I click Blank Check? I would expect to see some sort of message for the other buttons as well, but I've never used RFlasher before, so I don't really know.

The board the STR712 is mounted on is a board that was made for us by a company we're working for. Is this possibly caused by a mis-connected pin?

Thanks in advance for any help on the issue.

Matt

Replies
Post Information Post
+1
0
-1
September 19, 2007 - 4:47pm
Raisonance Support Team

Hi,

The message means that RLink is not able to communicate with the device for a reason that is probably related with reset. I'm afraid it's not harmless at all. ;)

You would see messages like "Blank-Checking" or "Erasing" after that, if this phase was successful. But this error means that none of these operations can be done, so we don't even try to go further. :(

It can very possibly be caused by some mis-connected pin. But not only. :rolleyes:

We will need more information for helping you further. For the fastest possible answer, I suggest you answer this form:
http://www.raisonance.com/Forum/punbb/viewtopic.php?id=2231

We'll probably need to take a look at the board's schematic. Also, please try the "connect to target" option in the "programmer-specific options" section and tell us how it goes.

Best Regards,

Vincent

+1
0
-1
September 19, 2007 - 10:47pm
Guest

Thanks for the help. The chip was, indeed, being held in the reset state. The reset pin was shorted to ground. I probably should have checked that earlier.

Now, I have another question. We bought the Olimex STR-712P development board, and none of the example programs that came with the RLink seem to run on the board. They load OK, and I can erase flash, verify the program, etc, but when I tell the program to run the board doesn't respond the way it should. For example, the UART example doesn't reply or output anything over the serial port; the GPIO example doesn't toggle the pins, etc.

I know it's not the best idea to be mixing development tools from different manufacturers, but my boss didn't want to spend the money on the mother and daugher boards from Raisonance.

Thanks again for any help,

Matt

+1
0
-1
September 20, 2007 - 2:32pm
Raisonance Support Team

Hi,

Of course you will have to modify the code of the examples for them to work on another board. The LEDs, UART and other components are probably not on the same pins, and there might also be other differences.

You should find all the information you need in the device datasheet and the board's schematic.

There is not much we can do to help for this, except tell you where can find the documentation (and schematics) for the REva, for which the examples have been designed:
"help"->"PDF"->"STRx-Tools"->"REva"
and there:
"help"->"PDF"->"STRx-Tools"->"REva daughter boards for STRx"

Also, I advise you to check if the board's manufacturer has made some examples for it. They usually do.

Best Regards,

Vincent

+1
0
-1
September 20, 2007 - 5:27pm
Guest

I thought about comparing schematics; there are plenty of differences, but I don't think the issue is the board. When I run the GPIO program, according to the documentation and comments, I should see the pins on GPIO port 1 toggle back and forth. All the IO pins are brought out to a header, but none of them toggle. They all simply remain in their initial high/low/tristate position.

The BootEn pin is pulled low. That should lock me into flash boot mode. When I program flash and reset the board (or power-down and power-up), shouldn't I see the program execute? I'm concerned that I'm missing some fundamental item with the STR712 itself, like that I'm actually programming the RAM portion of the chip and then booting in flash.

When I mentioned that the UART program wasn't operating, I was looking at the TX and RX pins on a scope, straight out of the chip. I tried tapping into all 4 ports, but to no avail. I know the program isn't executing, and that it's not that the board I'm using has different port connections.

I want to add that I'm getting really worried about using this RLink with RFlasher as an on-site programming tool. We bought it because it seemed we could generate a hex file, and load that hex file into the STR712 in the field. That way we don't need to buy a more expensive programmer and have a full IDE with us just to perform firmware upgrades. A hex file built for the Raisonance demo board should work on the PCBs that we're having printed (and the one from Olimex), shouldn't it? This just goes back to my worries that I'm missing something basic.

Thanks again for your replies, and especially for your patience since I really seem to have no idea what I'm doing.

Matt

+1
0
-1
September 24, 2007 - 2:51pm
Raisonance Support Team

Hi,

The RLink can of course be used with other PCBs than the REva. All our customers do that at some point.

We have received your answer to the form by email. Thank you.
I prefer to continue the discussion here because it might help other people...

First, please check that you are compiling and linking for the Flash boot mode. You can select the boot mode there:
"Options"->"Target"->"Options"->"Boot Mode"
By default, most examples are for RAM mode because you can debug in RAM mode with the standard RLinks but not in Flash mode.
You will find more information on the handling of boot modes in RIDE and a lot of other things there:
"help"->"PDF"->"STRx-Tools"->"Getting Started STRx"
(note that it is different from the "QuickStart", which is just one or two pages)

Also, please check that the pins you are looking at have pullups. Our examples are designed for the REva, which has pullups on most pins that are used by the examples. So the examples configure the IOs in open drain, and you won't see the pin moving if there is no pullup on the board, even if the program is actually running. You can add pullups on the board, or modify the example for it to use other pins that have pullups on the board, or to configure the IOs in push-pull. (but then be careful not to create electrical conflicts)

I think it is very likely that one of these two points solves your problem. If not, then I'm afraid we'll have to try and get one of these boards here.

Best Regards,

Vincent

+1
0
-1
September 24, 2007 - 10:42pm
Guest

I thought maybe the GPIO pins needed to be re-configured, so I re-configured them all as push-pull in the GPIO example (they were half-and-half in the original code). After I read your last post, I tried pulling a couple of the port1 pins up to 3.3V and re-loading the original example, but that didn't help the situation.

I double-checked that RIDE and RFlasher were both set to flash mode. They both output an error that prevents you from using the RAM setting if the boot pin is pulled down.

I'm just being curious, but shouldn't the UART example run whether the GPIO pins were pulled up or not?

Either way, the program still doesn't seem to be executing. I can certainly send this Olimex board for evaluation, and I'm trying to get a spare of the original boards that we're supposed to be working on.

EDIT:
Does RIDE automatically set up the startup vector tables based on RAM or FLASH mode? Is it possible I need to re-configure anything to that effect when I want to boot from flash? It really seems like the program is getting loaded in, but it's just not running when I turn power on.

Thanks again, and double thanks again for your patience.

Matt

+1
0
-1
September 24, 2007 - 11:34pm
Guest

I don't know what happened, but I got the GPIO program working. I re-installed all the RIDE and RFlasher software, because I had altered several of the example programs without saving the originals. I tried debugging the program, even though I knew the RLink-STX wouldn't allow it, and the program loaded and executed just fine (without debugging, of course). I re-tried with RFlasher, and all is well. I must have missed something when I originally configured the software, or lost a configuration on power-down, or who knows what.

I'm terribly sorry I took up so much time for what looks like my own snafu, but thank you very much for all the help you offered.

Matt