RBC Bootloader

Korean company maker of Robot kits and servos designed for of articulated robots. Re-incarnation of Megarobotics.
10 postsPage 1 of 1
10 postsPage 1 of 1

RBC Bootloader

Post by i-Bot » Sun Jul 06, 2008 2:57 pm

Post by i-Bot
Sun Jul 06, 2008 2:57 pm

The bootloader used on the RBC appears to be the standard AVRBL from Progressive Resources.

The protocol is described here :
https://www.priio.com/AVRBL-128.pdf

The three character entry sequence is 0x40, 0x26, 0x24

The RBC upgrade tool is developed from the AVRBL code and works fine.
The bootloader used on the RBC appears to be the standard AVRBL from Progressive Resources.

The protocol is described here :
https://www.priio.com/AVRBL-128.pdf

The three character entry sequence is 0x40, 0x26, 0x24

The RBC upgrade tool is developed from the AVRBL code and works fine.
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by Joe » Tue Feb 24, 2009 4:33 pm

Post by Joe
Tue Feb 24, 2009 4:33 pm

Thanks, i-Bot! You're my hero (again). I searched everywhere for this information last night, but apparently my google-fu was not strong enough.

I did hook my RBC up to a terminal program, and verified that upon reset it sends a '^' character, but couldn't get any farther than that. Now, from the AVRBL documentation you pointed out, I see how that fits into the programming protocol.

Have you already made a portable tool that implements this protocol? If not, I'd be happy to make one.

Thanks,
— Joe
Thanks, i-Bot! You're my hero (again). I searched everywhere for this information last night, but apparently my google-fu was not strong enough.

I did hook my RBC up to a terminal program, and verified that upon reset it sends a '^' character, but couldn't get any farther than that. Now, from the AVRBL documentation you pointed out, I see how that fits into the programming protocol.

Have you already made a portable tool that implements this protocol? If not, I'd be happy to make one.

Thanks,
— Joe
Joe offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 204
Joined: Tue Sep 05, 2006 1:00 am

Post by i-Bot » Tue Feb 24, 2009 5:00 pm

Post by i-Bot
Tue Feb 24, 2009 5:00 pm

Hi Joe,

I did not make a portable tool, because I am using Windows and the RBC update program works OK.

At least Robobuilder give you the RBC update tools for Windows and don't encode the files, we had no choice but to reverse engineer for Robonova and Bioloid !

Richard
Hi Joe,

I did not make a portable tool, because I am using Windows and the RBC update program works OK.

At least Robobuilder give you the RBC update tools for Windows and don't encode the files, we had no choice but to reverse engineer for Robonova and Bioloid !

Richard
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by Joe » Tue Feb 24, 2009 9:56 pm

Post by Joe
Tue Feb 24, 2009 9:56 pm

I've written a downloader tool, but it's getting only mixed results.

According to the AVRBL spec, every line should be acknowledged with '~' if it was received and flashed successfully. Then, when the programming is complete, AVRBL should send '#' indicating that all is good, or '@' indicating that the program did not load successfully.

I'm getting a '~' on every line, but a '@' at the end. I'm not sure what to make of that.

I also observe pretty odd usage of the XON and XOFF character; the RBC appears to send these around every '~' — i.e., "<XOFF>~<XON>" is sent for every line, regardless of how much data is waiting. I've had to crank down my send rate in order to get a number of line acknowledgments that matches the number of lines sent. If the RBC (AVRBL?) were using XON and XOFF correctly, I think that shouldn't be necessary.

But that's a side point — the real point is, why am I getting a '@' at the end, even when every line was sent successfully? I'm out of time for now, but will try some additional experiments tonight or tomorrow.
I've written a downloader tool, but it's getting only mixed results.

According to the AVRBL spec, every line should be acknowledged with '~' if it was received and flashed successfully. Then, when the programming is complete, AVRBL should send '#' indicating that all is good, or '@' indicating that the program did not load successfully.

I'm getting a '~' on every line, but a '@' at the end. I'm not sure what to make of that.

I also observe pretty odd usage of the XON and XOFF character; the RBC appears to send these around every '~' — i.e., "<XOFF>~<XON>" is sent for every line, regardless of how much data is waiting. I've had to crank down my send rate in order to get a number of line acknowledgments that matches the number of lines sent. If the RBC (AVRBL?) were using XON and XOFF correctly, I think that shouldn't be necessary.

But that's a side point — the real point is, why am I getting a '@' at the end, even when every line was sent successfully? I'm out of time for now, but will try some additional experiments tonight or tomorrow.
Joe offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 204
Joined: Tue Sep 05, 2006 1:00 am

Post by Joe » Tue Feb 24, 2009 10:10 pm

Post by Joe
Tue Feb 24, 2009 10:10 pm

Joe wrote:According to the AVRBL spec... when the programming is complete, AVRBL should send '#' indicating that all is good, or '@' indicating that the program did not load successfully.

I'm getting a '~' on every line, but a '@' at the end. I'm not sure what to make of that.


Nuts! I think I know what to make of it: the AVRBL documentation is wrong. On page 2, it says:

AVRBL-128.pdf, page 2 wrote:5. After the programming is complete, the AVRBL sends either a ‘#’, meaning the programming is all right, or an ‘@’ indicating that an error has occurred and the program did not load successfully.

But on page 3, they list standard #defines that are part of the AVRBL:

Code: Select all
// define file complete, no errors character
#define FILE_COMPLETE_CHAR  '@'
// define file complete, with errors character
#define FILE_ERROR_CHAR  '#'


See the discrepancy? The defines say that '@' is all-good and '#' indicates error — the exact opposite of what the description on page 2 says.

So I'm going to go for now with the hope that my code actually was uploaded correctly. (Hard to say since it's not "my code" at all, but l3v3rz's, and I'm not entirely clear on what it is supposed to do.) Again, I'll try to confirm this when I get a bit more time to experiment tonight or tomorrow.
Joe wrote:According to the AVRBL spec... when the programming is complete, AVRBL should send '#' indicating that all is good, or '@' indicating that the program did not load successfully.

I'm getting a '~' on every line, but a '@' at the end. I'm not sure what to make of that.


Nuts! I think I know what to make of it: the AVRBL documentation is wrong. On page 2, it says:

AVRBL-128.pdf, page 2 wrote:5. After the programming is complete, the AVRBL sends either a ‘#’, meaning the programming is all right, or an ‘@’ indicating that an error has occurred and the program did not load successfully.

But on page 3, they list standard #defines that are part of the AVRBL:

Code: Select all
// define file complete, no errors character
#define FILE_COMPLETE_CHAR  '@'
// define file complete, with errors character
#define FILE_ERROR_CHAR  '#'


See the discrepancy? The defines say that '@' is all-good and '#' indicates error — the exact opposite of what the description on page 2 says.

So I'm going to go for now with the hope that my code actually was uploaded correctly. (Hard to say since it's not "my code" at all, but l3v3rz's, and I'm not entirely clear on what it is supposed to do.) Again, I'll try to confirm this when I get a bit more time to experiment tonight or tomorrow.
Joe offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 204
Joined: Tue Sep 05, 2006 1:00 am

Post by i-Bot » Tue Feb 24, 2009 11:00 pm

Post by i-Bot
Tue Feb 24, 2009 11:00 pm

Do you have a windoze system too ?

I can send you a serial port dump of a good RBC download if it helps.
Do you have a windoze system too ?

I can send you a serial port dump of a good RBC download if it helps.
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by Joe » Tue Feb 24, 2009 11:36 pm

Post by Joe
Tue Feb 24, 2009 11:36 pm

i-Bot wrote:Do you have a windoze system too ?

I do, but I don't have any easy way to "sniff" the serial communications.

i-Bot wrote:I can send you a serial port dump of a good RBC download if it helps.

Wow, that would be really helpful! You can trim out most of the middle of it, which is very repetitive, and just include the interesting top and bottom parts.

Thanks,
— Joe
i-Bot wrote:Do you have a windoze system too ?

I do, but I don't have any easy way to "sniff" the serial communications.

i-Bot wrote:I can send you a serial port dump of a good RBC download if it helps.

Wow, that would be really helpful! You can trim out most of the middle of it, which is very repetitive, and just include the interesting top and bottom parts.

Thanks,
— Joe
Joe offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 204
Joined: Tue Sep 05, 2006 1:00 am

Post by Joe » Wed Feb 25, 2009 1:16 am

Post by Joe
Wed Feb 25, 2009 1:16 am

Actually, never mind — I've now verified that the program loaded successfully!

I'll try to make up a web page for my little uploader app and post it soon, for anybody else in the same boat.

The app I wrote today over lunch was a GUI tool, very similar to RoboBuilder's; but I'll probably make a command-line version too, which could be invoked from a Makefile. Then it would be a one-step compile/install cycle. When that's done, I'll post that too.

Cheers,
— Joe
Actually, never mind — I've now verified that the program loaded successfully!

I'll try to make up a web page for my little uploader app and post it soon, for anybody else in the same boat.

The app I wrote today over lunch was a GUI tool, very similar to RoboBuilder's; but I'll probably make a command-line version too, which could be invoked from a Makefile. Then it would be a one-step compile/install cycle. When that's done, I'll post that too.

Cheers,
— Joe
Joe offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 204
Joined: Tue Sep 05, 2006 1:00 am

Post by i-Bot » Wed Feb 25, 2009 11:19 am

Post by i-Bot
Wed Feb 25, 2009 11:19 am

Pleased to hear it works OK.

I use HHD Free Serial Port Monitor for watching serial transfers under Windows.

Richard
Pleased to hear it works OK.

I use HHD Free Serial Port Monitor for watching serial transfers under Windows.

Richard
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

AVRBL Downloader available

Post by Joe » Sat Mar 07, 2009 4:34 am

Post by Joe
Sat Mar 07, 2009 4:34 am

I finally got around to putting up a web page for the custom AVRBL download tool I've been using. Here it is:

http://www.strout.net/info/robotics/uti ... index.html

Anyone who would find it useful is welcome to it, and I'd be happy to hear any feedback you might have.

Share and enjoy,
— Joe
I finally got around to putting up a web page for the custom AVRBL download tool I've been using. Here it is:

http://www.strout.net/info/robotics/uti ... index.html

Anyone who would find it useful is welcome to it, and I'd be happy to hear any feedback you might have.

Share and enjoy,
— Joe
Joe offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 204
Joined: Tue Sep 05, 2006 1:00 am


10 postsPage 1 of 1
10 postsPage 1 of 1
cron