Menu

Using Dev-C with Hitachi GCC tools

Anonymous
2003-11-04
2012-09-26
  • Anonymous

    Anonymous - 2003-11-04

    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.

     
    • Anonymous

      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.

       
    • Wayne Keen

      Wayne Keen - 2003-11-04

      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

       
    • Anonymous

      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:

      >>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.

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.