To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.legosOpen lugnet.robotics.rcx.legos in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / legOS / 2481
2480  |  2482
Subject: 
CYGWIN & legOS 0.2.5.3
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Fri, 19 Apr 2002 03:52:02 GMT
Viewed: 
1747 times
  
I have verified that the following configuration works (but not without some
minor modifications).

I am hoping to submit and include the modifications in a future release of
legOS (maybe 0.2.7).  Apparently, the GNU Toolchain available from the
Hitachi web site is more restrictive than what I have seen from the egcs and
gcc releases.  I am hoping that the output is a bit more optimized as well.
(but it will be hard to tell, I bet)

So to recap the process taken to get it working:

I am on Win2k,  CYGWIN 1.3.10-1 (cygcheck), CYGWIN_NT-5.0 (uname),
legOS-0.2.5.3, 2000r1_i686-cygwin32-x-h8300-hms.zip (from Hitachi's site)

Installed CYGWIN, with all packages except Mail, Apache and a couple others
that I knew I would not need.
Decompressed the h8300-hms tools into cygwin folder.
Copied legOS-0.2.5.3.tar.gz to cygwin folder.
Opened cygwin
        export PATH=/h8300-000821/H-i686-cygwin32/bin:$PATH
        tar -xzf legOS-0.2.5.3.tar.gz
        cd /legOS-0.2.5.3
        make realclean
        make clean
        make
        util/firmdl3 boot/legOS.srec
        util/dll demo/robots.lx

NOTE: I received errors during the make phase... so I corrected them, reran
make realclean, make clean and make until all errors were elliminated.  The
following diff will show the changes made.

----------------------------------------------------------------------------
------------------------------------
diff --recursive legOS-0.2.5.3/Makefile.common
legOS-0.2.5.3-working/Makefile.common
52c52
< TOOLPREFIX=h8300-hitachi-hms-
---
TOOLPREFIX=h8300-hms-
diff --recursive legOS-0.2.5.3/include/c++/Motor.H
legOS-0.2.5.3-working/include/c++/Motor.H
89,90c89,90
<   const void (*ms)(unsigned char speed);
<   const void (*md)(const MotorDirection dir);
---
  void (*ms)(unsigned char speed);
  void (*md)(const MotorDirection dir);
diff --recursive legOS-0.2.5.3/include/dmotor.h
legOS-0.2.5.3-working/include/dmotor.h
104,106c104,106
< extern const void motor_a_dir(MotorDirection dir);
< extern const void motor_b_dir(MotorDirection dir);
< extern const void motor_c_dir(MotorDirection dir);
---
extern void motor_a_dir(MotorDirection dir);
extern void motor_b_dir(MotorDirection dir);
extern void motor_c_dir(MotorDirection dir);
116c116
< extern const inline void motor_a_dir(MotorDirection dir)
---
extern inline void motor_a_dir(MotorDirection dir)
124c124
< extern const inline void motor_b_dir(MotorDirection dir)
---
extern inline void motor_b_dir(MotorDirection dir)
132c132
< extern const inline void motor_c_dir(MotorDirection dir)
---
extern inline void motor_c_dir(MotorDirection dir)
143c143
< extern const inline void motor_a_speed(unsigned char speed)
---
extern inline void motor_a_speed(unsigned char speed)
151c151
< extern const inline void motor_b_speed(unsigned char speed)
---
extern inline void motor_b_speed(unsigned char speed)
159c159
< extern const inline void motor_c_speed(unsigned char speed)
---
extern inline void motor_c_speed(unsigned char speed)
diff --recursive legOS-0.2.5.3/kernel/dmotor.c
legOS-0.2.5.3-working/kernel/dmotor.c
152c152
< const void motor_a_dir(MotorDirection dir)
---
void motor_a_dir(MotorDirection dir)
163c163
< const void motor_b_dir(MotorDirection dir)
---
void motor_b_dir(MotorDirection dir)
174c174
< const void motor_c_dir(MotorDirection dir)
---
void motor_c_dir(MotorDirection dir)
diff --recursive legOS-0.2.5.3/lib/c/printf.c
legOS-0.2.5.3-working/lib/c/printf.c
118c118
<     dst[pos] = va_arg(arg, char);
---
    dst[pos] = va_arg(arg, int);

----------------------------------------------------------------------------
------------------------------------


I think I will stick with this setup for a while... and let the gcc folks or
someone with more time and patience work out the compile errors for gcc on
cygwin.  I hope others are able to get some milage out of this as well.

// Joe


Toolchain from Hitachi:
http://semiconductor.hitachi.com/tools/2000r1_i686-cygwin32-x-h8300-hms.zip



Message has 2 Replies:
  Re: CYGWIN & legOS 0.2.5.3
 
(...) Am I understanding your diff? This version does not have the "hitachi" segment in the path? (...) And if I'm understanding this, this version of the tool chain does not support 'const'? If this is true, I'm not a fan of removing const from our (...) (22 years ago, 19-Apr-02, to lugnet.robotics.rcx.legos)
  Re: CYGWIN & legOS 0.2.5.3
 
(...) What compile errors? Max. (22 years ago, 19-Apr-02, to lugnet.robotics.rcx.legos)

5 Messages in This Thread:


Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR