|
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 (...) (23 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
|
|
|
|