EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Programming an RCM6700

Started by seecwriter June 25, 2011
I have an RCM6700 dev kit. And the dev kit uses a USB interface to
program the rabbit. It's really very slick. They have a simple USB
to serial chip on the dev board that converts your PC's USB to a
serial interface.

But the product that the RCM6700 will go into only uses a standard
RS232 interface. As far as I can tell, the R6000 is programmed the
same as the R3000. It uses the RS232 Rx, Tx, DTR, and DSR signals.
So we designed our motherboard the same as for R3000, as far as
programming goes. But when we try to program the RCM6000 using the
serial port it fails. We scoped it out and noticed that when using
USB the rabbit's Tx signal is active during programming. It seems
to respond after some amount of data is received. But when using the
serial interface, the Tx signal is always inactive. I contacted
rabbit support about this, and their solution was to program the
module in the dev kit and then move it to our board. Not one of
their more helpful responses.

Has anyone here done this? Is there something different about the
R6000 when it comes to programming?

Thank you,
Steve

On 6/25/2011 10:13 PM, seecwriter wrote:
> I have an RCM6700 dev kit. And the dev kit uses a USB interface to
> program the rabbit. It's really very slick. They have a simple USB
> to serial chip on the dev board that converts your PC's USB to a
> serial interface.
>
> But the product that the RCM6700 will go into only uses a standard
> RS232 interface. As far as I can tell, the R6000 is programmed the
> same as the R3000. It uses the RS232 Rx, Tx, DTR, and DSR signals.
> So we designed our motherboard the same as for R3000, as far as
> programming goes. But when we try to program the RCM6000 using the
> serial port it fails. We scoped it out and noticed that when using
> USB the rabbit's Tx signal is active during programming. It seems
> to respond after some amount of data is received. But when using the
> serial interface, the Tx signal is always inactive. I contacted
> rabbit support about this, and their solution was to program the
> module in the dev kit and then move it to our board. Not one of
> their more helpful responses.
>
> Has anyone here done this? Is there something different about the
> R6000 when it comes to programming?
>

Dis you set the SMODE pins the same as the programming cable?
--
------
Scott G. Henion, Consultant
Web site: http://SHDesigns.org
Rabbit libs: http://shdesigns.org/rabbit/
------

Yes. We do everything the same as if it was a 300 module.

Steve

>________________________________
>From: Scott Henion
>To: r...
>Sent: Saturday, June 25, 2011 7:45 PM
>Subject: Re: [rabbit-semi] Programming an RCM6700

>On 6/25/2011 10:13 PM, seecwriter wrote:
>> I have an RCM6700 dev kit. And the dev kit uses a USB interface to
>> program the rabbit. It's really very slick. They have a simple USB
>> to serial chip on the dev board that converts your PC's USB to a
>> serial interface.
>>
>> But the product that the RCM6700 will go into only uses a standard
>> RS232 interface. As far as I can tell, the R6000 is programmed the
>> same as the R3000. It uses the RS232 Rx, Tx, DTR, and DSR signals.
>> So we designed our motherboard the same as for R3000, as far as
>> programming goes. But when we try to program the RCM6000 using the
>> serial port it fails. We scoped it out and noticed that when using
>> USB the rabbit's Tx signal is active during programming. It seems
>> to respond after some amount of data is received. But when using the
>> serial interface, the Tx signal is always inactive. I contacted
>> rabbit support about this, and their solution was to program the
>> module in the dev kit and then move it to our board. Not one of
>> their more helpful responses.
>>
>> Has anyone here done this? Is there something different about the
>> R6000 when it comes to programming?
>>Dis you set the SMODE pins the same as the programming cable?
>
>--
>------
>Scott G. Henion, Consultant
>Web site: http://SHDesigns.org
>Rabbit libs: http://shdesigns.org/rabbit/
>------
>
And as if it was a 3000 module too. Sheesh!

>________________________________
>From: Steve Trigero
>To: "r..."
>Sent: Saturday, June 25, 2011 8:51 PM
>Subject: Re: [rabbit-semi] Programming an RCM6700

>Yes. We do everything the same as if it was a 300 module.
>Steve
>>________________________________
>>From: Scott Henion
>>To: r...
>>Sent: Saturday, June 25, 2011 7:45 PM
>>Subject: Re: [rabbit-semi] Programming an RCM6700
>> 
>>On 6/25/2011 10:13 PM, seecwriter wrote:
>>> I have an RCM6700 dev kit. And the dev kit uses a USB interface to
>>> program the rabbit. It's really very slick. They have a simple USB
>>> to serial chip on the dev board that converts your PC's USB to a
>>> serial interface.
>>>
>>> But the product that the RCM6700 will go into only uses a standard
>>> RS232 interface. As far as I can tell, the R6000 is programmed the
>>> same as the R3000. It uses the RS232 Rx, Tx, DTR, and DSR signals.
>>> So we designed our motherboard the same as for R3000, as far as
>>> programming goes. But when we try to program the RCM6000 using the
>>> serial port it fails. We scoped it out and noticed that when using
>>> USB the rabbit's Tx signal is active during programming. It seems
>>> to respond after some amount of data is received. But when using the
>>> serial interface, the Tx signal is always inactive. I contacted
>>> rabbit support about this, and their solution was to program the
>>> module in the dev kit and then move it to our board. Not one of
>>> their more helpful responses.
>>>
>>> Has anyone here done this? Is there something different about the
>>> R6000 when it comes to programming?
>>>Dis you set the SMODE pins the same as the programming cable?
>>
>>--
>>------
>>Scott G. Henion, Consultant
>>Web site: http://SHDesigns.org
>>Rabbit libs: http://shdesigns.org/rabbit/
>>------
>>
>
On Jun 25, 2011, at 7:13 PM, seecwriter wrote:
> But the product that the RCM6700 will go into only uses a standard
> RS232 interface. As far as I can tell, the R6000 is programmed the
> same as the R3000. It uses the RS232 Rx, Tx, DTR, and DSR signals.

Steve,

If I recall correctly, the baseboard for the RCM5600 included pads for a programming cable. Check the schematic for that baseboard and confirm the pinouts for the programming header.

Did the 3000-series use 5V instead of 3.3V? I know that the MiniCores use 3.3v.

There's also a chance that the DTR or DSR signals are inverted for the newer cores. Maybe compare your programming header to one of the RCM4xxx cores since it uses DC 10 instead of DC9.

-Tom
The R3000 is a 3.3v device, but it has 5V tolerant inputs. I
don't think any of the rabbits after the 3000 are 5V tolerant. I know
the R6000 isn't.

It turns out that the R6000 is different from the R3000 when it
comes to programming. They both still use the same 5-signals:
Rx, Tx, Status, Smode, and Reset. But they respond differently.

For the R3000 and below, the Rabbit samples the SMODE inputs on
the rising edge of the Reset pulse. If SMODE is high, the Rabbit
enters programming mode. Once in programming mode, the programming
process can begin. When using the Rabbit programming cable, it
hardwires SMODE high, and uses the RS232 DTR signal to generate the
reset pulse. The Rabbit STATUS signal is routed back to the PC using
the DSR signal on the RS232 cable.

While the R6000 uses the same signals, and process to get into
programming mode, if programming doesn't begin within a short time
after Reset goes high, it won't program at all. With the R3000, you
could put it into programming mode one day, and start programming it
the next day. It didn't care about the amount of time between
entering programming mode and the start of programming.

This has a significant impact on our RS232 User interface. With the
R3000, we only used Rx, Tx, DSR (Status), & ground. We would tie the
RS232 ground to a PROGRAM_MODE input on our connector. This caused
SMODE to go high. Then we cycle power to the unit. That puts the cpu
into programming mode. We then ran the RFU to program the Rabbit.

We can't do that with the R6000. We *HAVE* to use the DTR signal to
generate a reset to get programming to work. Now the Rabbit won't run
unless an RS232 cable is connected and the PC's serial port is
open. When you disconnect the RS232 cable, the R6000 goes into reset. When you start a Windows program to communicate with the Rabbit using
RS232, the Rabbit will then boot-up. And when you close your
application, or disconnect the serial cable, the rabbit goes into
reset. Not a useful mode of operation.

We're working on some logic to block the DTR input when SMODE is low.

What a fiasco.

Steve
--- In r..., Tom Collins wrote:
>
> On Jun 25, 2011, at 7:13 PM, seecwriter wrote:
> > But the product that the RCM6700 will go into only uses a standard
> > RS232 interface. As far as I can tell, the R6000 is programmed the
> > same as the R3000. It uses the RS232 Rx, Tx, DTR, and DSR signals.
>
> Steve,
>
> If I recall correctly, the baseboard for the RCM5600 included pads for a programming cable. Check the schematic for that baseboard and confirm the pinouts for the programming header.
>
> Did the 3000-series use 5V instead of 3.3V? I know that the MiniCores use 3.3v.
>
> There's also a chance that the DTR or DSR signals are inverted for the newer cores. Maybe compare your programming header to one of the RCM4xxx cores since it uses DC 10 instead of DC9.
>
> -Tom
>


Memfault Beyond the Launch