As embedded programmer I use the Dev-C IDE and the H8 GCC compiler/linker. Works fine.
Some small problems yet...
a) If I create a new compiler set, using the TOOLS->COMPILER OPTIONS menu, the entered options do not change after selecting a different compiler set. So swapping back to the DEFAULT compiler result in lots of 'unknown options' because the Hitachi settings are still active.
b) Although the Hitachi is a GCC compiler the error output is slightly different compared to the Dev-C DEFAULT compiler. Most errors are printed like:
main.c:14:error: parse error blablabla
The multiple semicolons confuse the Dev-C IDE and "error" is printed instead of line number.
Martien.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2003-11-04
a) If you are using the project facility, I believe that the selected toolchain options are only applied when a new project is created. You need to switch colpiler, then create a new project. (perhaps)
b) Dont know.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Your consideration of the community in posting this is exta-ordinary. If you get a chance, you might want to post some step-by-step directions on what ou did to set things up...
Wayne
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2003-11-04
Wayne,
Some additional info, maybe beyond the scope of this FAQ.
Dev-C release: 4.9.8.0
After downloading the Hitachi (Renesas) GCC tools I took following steps:
1) Add new compiler-set (Tools->Compiler options, Compiler-tab)
2) I named the new compiler set "H8-Tiny"
3) Add target specifid commands into window.
4) Enable the options window
5) Enter path-dir to binaries using the "Directories" tab
6) Enter cross-compiler executables using the "Programs" tab
7) Creating a new project
8) Switching to the new "H8-Tiny" cross-compiler ("project->Project Options")
10) Writing a "sections.ld" linker script
11) Writing suitable Crt0.s startup code and adding file to project. Because the file extension
is foreign to Dev-C the "include in compilation" and "include in linking" options
must be enabled. Remove all text from the "Override Build Command" box.
12) Writing a small test program that toggles an I/O pin or write strings using a UART.
13) compiling & downloading & testing, testing, testing......
Of course above steps take some time, but compared to other IDE's Dev-C is doing
fine.
Some problems I encounter:
Problem A) While compiling assembly Dev-C compiler-error-window is mixed up for some reason.
Examine the compile-log:
And here is a single line copied from the error-window:
>>Error C:\projects\Hitachi\Flow2_GNU\Drive\source\crt0.s:29 unknown opcode
Compiling C-files now..
Compile-log:
>>make.exe -f "C:\projects\Hitachi\Flow2_GNU\Level\Makefile.win" all
>>h8300-coff-gcc.exe -c source/main.c -o release/main.o -I"C:/DEV-CPP/include" -I"C:/projects/Hitachi/Flow2_GNU/Level/source" -O2 -Os -Wa,-al="list.lst" -fomit-frame-pointer -mh -mn
>>
>>source/main.c: In function `hw_initialise':
>>source/main.c:27: error: `liuhybiouy' undeclared (first use in this function)
>>
>>source/main.c:27: error: (Each undeclared identifier is reported only once
>>
>>source/main.c:27: error: for each function it appears in.)
>>source/main.c:27: error: parse error before '}' token
>>
>>h8300-coff-gcc.exe release/behave.o release/debug.o release/encoder.o release/error.o release/io.o release/level.o release/main.o release/Motor.o release/b3687.o release/link.o release/crt0.o release/version.o -o "release\Level.hex" -L"C:/DEV-CPP/lib" -nostdlib -T Sections.ld
>>
>>Execution terminated
And here is a single line copied from the error-window:
>> error C:\projects\Hitachi\Flow2_GNU\Level\source\main.c:27
>>`liuhybiouy' undeclared (first use in this function)
No need to tell you that clicking the error-line doesn't pop-up the editor pointing to the erronuous line.
Problem B) As can be seen from the previous compile-log the option -I"C:/DEV-CPP/include" is automatically
inserted. This is a pain when using Dev-C for foreign target platforms because the include
path is definitely different from the standard Dev-C includes. A simple bypass is using the -T linkerscriptfile
option that replaces all linker commands by the contents of the script.
Problem C) For a short time I decided to say good-by to the Hitachi target and fall back to
a simple PC-based console project.
I created a new console application and try to compile. Here's the Compile Log:
As you can see the default compiler is selected, but the H8-Tiny command options are still active.
After disabling the compiler options (Tools->Compiler options, Compiler-tab) everything runs fine.
See the compile log:
Here's my point: The Dev-C feature to add compiler-sets promises a multi-target environment.
The above tests prove that previous options are not automatically replaced by selecting
a different compiler-set while starting a new project. I really hope that I made some mistake
or you will repair the possible bugs in a future release.
Further the Hitachi GCC compiler produces really nice code. At least as good as the $2500 IAR compiler.
And there are toolchains for many many more target systems. It should be nice if Dev-C is the IDE to
support these tools.
Thanks anyway. I already replaced the Hitachi IDE to Dev-C....
Martien.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As embedded programmer I use the Dev-C IDE and the H8 GCC compiler/linker. Works fine.
Some small problems yet...
a) If I create a new compiler set, using the TOOLS->COMPILER OPTIONS menu, the entered options do not change after selecting a different compiler set. So swapping back to the DEFAULT compiler result in lots of 'unknown options' because the Hitachi settings are still active.
b) Although the Hitachi is a GCC compiler the error output is slightly different compared to the Dev-C DEFAULT compiler. Most errors are printed like:
main.c:14:error: parse error blablabla
The multiple semicolons confuse the Dev-C IDE and "error" is printed instead of line number.
Martien.
a) If you are using the project facility, I believe that the selected toolchain options are only applied when a new project is created. You need to switch colpiler, then create a new project. (perhaps)
b) Dont know.
Martien,
Your consideration of the community in posting this is exta-ordinary. If you get a chance, you might want to post some step-by-step directions on what ou did to set things up...
Wayne
Wayne,
Some additional info, maybe beyond the scope of this FAQ.
Dev-C release: 4.9.8.0
After downloading the Hitachi (Renesas) GCC tools I took following steps:
1) Add new compiler-set (Tools->Compiler options, Compiler-tab)
2) I named the new compiler set "H8-Tiny"
3) Add target specifid commands into window.
4) Enable the options window
5) Enter path-dir to binaries using the "Directories" tab
6) Enter cross-compiler executables using the "Programs" tab
7) Creating a new project
8) Switching to the new "H8-Tiny" cross-compiler ("project->Project Options")
10) Writing a "sections.ld" linker script
11) Writing suitable Crt0.s startup code and adding file to project. Because the file extension
is foreign to Dev-C the "include in compilation" and "include in linking" options
must be enabled. Remove all text from the "Override Build Command" box.
12) Writing a small test program that toggles an I/O pin or write strings using a UART.
13) compiling & downloading & testing, testing, testing......
Of course above steps take some time, but compared to other IDE's Dev-C is doing
fine.
Some problems I encounter:
Problem A) While compiling assembly Dev-C compiler-error-window is mixed up for some reason.
Examine the compile-log:
>>h8300-coff-gcc.exe -c source/crt0.s -o release/crt0.o -I"C:/DEV-CPP/include" -O2 -Os -Wa,-al="list.lst" -fomit-frame-pointer -mh -mn
>>source/crt0.s: Assembler messages:
>>source/crt0.s:29: Error: unknown opcode
And here is a single line copied from the error-window:
>>Error C:\projects\Hitachi\Flow2_GNU\Drive\source\crt0.s:29 unknown opcode
Compiling C-files now..
Compile-log:
>>make.exe -f "C:\projects\Hitachi\Flow2_GNU\Level\Makefile.win" all
>>h8300-coff-gcc.exe -c source/main.c -o release/main.o -I"C:/DEV-CPP/include" -I"C:/projects/Hitachi/Flow2_GNU/Level/source" -O2 -Os -Wa,-al="list.lst" -fomit-frame-pointer -mh -mn
>>
>>source/main.c: In function `hw_initialise':
>>source/main.c:27: error: `liuhybiouy' undeclared (first use in this function)
>>
>>source/main.c:27: error: (Each undeclared identifier is reported only once
>>
>>source/main.c:27: error: for each function it appears in.)
>>source/main.c:27: error: parse error before '}' token
>>
>>h8300-coff-gcc.exe release/behave.o release/debug.o release/encoder.o release/error.o release/io.o release/level.o release/main.o release/Motor.o release/b3687.o release/link.o release/crt0.o release/version.o -o "release\Level.hex" -L"C:/DEV-CPP/lib" -nostdlib -T Sections.ld
>>
>>Execution terminated
And here is a single line copied from the error-window:
>> error C:\projects\Hitachi\Flow2_GNU\Level\source\main.c:27
>>`liuhybiouy' undeclared (first use in this function)
No need to tell you that clicking the error-line doesn't pop-up the editor pointing to the erronuous line.
Problem B) As can be seen from the previous compile-log the option -I"C:/DEV-CPP/include" is automatically
inserted. This is a pain when using Dev-C for foreign target platforms because the include
path is definitely different from the standard Dev-C includes. A simple bypass is using the -T linkerscriptfile
option that replaces all linker commands by the contents of the script.
Problem C) For a short time I decided to say good-by to the Hitachi target and fall back to
a simple PC-based console project.
I created a new console application and try to compile. Here's the Compile Log:
>>Compiler: Default compiler
>>Building Makefile: "C:\projects\Hitachi\Makefile.win"
>>Finding dependencies for file: C:\projects\Hitachi\..\..\Dev-Cpp\Templates\main.cpp
>>Executing make...
>>make.exe -f "C:\projects\Hitachi\Makefile.win" all
>>g++.exe -c ../../Dev-Cpp/Templates/main.cpp -o ../../Dev-Cpp/Templates/main.o -I"C:/DEV-CPP/include/c++" -I"C:/DEV-CPP/include/c++/mingw32" -I"C:/DEV-CPP/include/c++/backward" -I"C:/DEV-CPP/include" -O2 -Os -Wa,-al="list.lst" -fomit-frame-pointer -mh -mn
>>
>>cc1plus.exe: invalid option `h'
>>cc1plus.exe: invalid option `n'
>>
>>g++.exe ../../Dev-Cpp/Templates/main.o -o "Project1.exe" -L"C:/DEV-CPP/lib"
>>
>>G__~1.EXE: ../../Dev-Cpp/Templates/main.o: No such file or directory
>>G__~1.EXE: no input files
>>
>>Execution terminated
As you can see the default compiler is selected, but the H8-Tiny command options are still active.
After disabling the compiler options (Tools->Compiler options, Compiler-tab) everything runs fine.
See the compile log:
>>Compiler: Default compiler
>>Building Makefile: "C:\projects\Hitachi\Makefile.win"
>>Executing make clean
>>rm -f ../../Dev-Cpp/Templates/main.o Project1.exe
>>
>>g++.exe -c ../../Dev-Cpp/Templates/main.cpp -o ../../Dev-Cpp/Templates/main.o -I"C:/DEV-CPP/include/c++" -I"C:/DEV-CPP/include/c++/mingw32" -I"C:/DEV-CPP/include/c++/backward" -I"C:/DEV-CPP/include"
>>
>>g++.exe ../../Dev-Cpp/Templates/main.o -o "Project1.exe" -L"C:/DEV-CPP/lib"
>>
>>Execution terminated
>>Compilation successful
Here's my point: The Dev-C feature to add compiler-sets promises a multi-target environment.
The above tests prove that previous options are not automatically replaced by selecting
a different compiler-set while starting a new project. I really hope that I made some mistake
or you will repair the possible bugs in a future release.
Further the Hitachi GCC compiler produces really nice code. At least as good as the $2500 IAR compiler.
And there are toolchains for many many more target systems. It should be nice if Dev-C is the IDE to
support these tools.
Thanks anyway. I already replaced the Hitachi IDE to Dev-C....
Martien.