Empty ihx Hex file

Help
OLM
2008-05-16
2013-03-12
  • OLM

    OLM - 2008-05-16

    I have a project I'm building using SDCC and UltraEdit.  The project builds and my .rel files have info in them, however my .ihx and .hex files have just one line
    :00000001FF

    I get a few warnings, for unused variables in functions, but no other warnings or errors.  Any idea what could be going on?

     
    • Raphael Neider

      Raphael Neider - 2008-05-19

      We could use a tiny bit of information about
      * the source
      * the compiler version
      * target processor
      * environment (OS (Windows I guess), IDE (UltraEdit?), linker/assembler versions)
      * command lines
      * exact warnings/errors/output

      > Any idea what could be going on?

      It seems not to work.

       
    • OLM

      OLM - 2008-05-30

      I'm using the windows version of the compiler 2.8.0.  The target processor is the Zilog Z180.  The OS is Windows XP, the IDE is UltraEdit.  I'm using the built in build commands from Ultra Edit for SDCC.  And I'm using the ASXXXX assembler.

      The only warnings I get are about a few unused variables that I have in the code.

       
    • OLM

      OLM - 2008-05-30

      Here's the command line build:

      --------------------Configuration: RBVRM C - Release--------------------
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o executive.rel ..\executive.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o dsphndlr.rel ..\dsphndlr.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o cal_check.rel ..\cal_check.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o inp_stat.rel ..\inp_stat.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o keyhndlr.rel ..\keyhndlr.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o msghndlr.rel ..\msghndlr.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o param_key.rel ..\param_key.c
      ..\\param_key.c:970: warning 84: 'auto' variable 'select_chan' may be used before initialization
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o rqsthndlr.rel ..\rqsthndlr.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o self_test.rel ..\self_test.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o set_param.rel ..\set_param.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o softkeys.rel ..\softkeys.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o stat_keep.rel ..\stat_keep.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o trip_stat.rel ..\trip_stat.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o trip_test.rel ..\trip_test.c
      ..\\trip_test.c:232: warning 85: in function next_mr_hr_digit unreferenced function argument : 'pos'
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o util.rel ..\util.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o calibrate.rel ..\calibrate.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o bargraph.rel ..\bargraph.c
      ..\\bargraph.c:237: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG
      ..\\bargraph.c:390: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG
      ..\\bargraph.c:418: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG
      ..\\bargraph.c:541: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG
      ..\\bargraph.c:541: warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOG
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o asm_functions.rel ..\asm_functions.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o arm_comm.rel ..\arm_comm.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o arm_bios.rel ..\arm_bios.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o arm_dios.rel ..\arm_dios.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o armdef_sv.rel ..\armdef_sv.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o manager.rel ..\manager.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o prn_scr.rel ..\prn_scr.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o text_msv.rel ..\text_msv.c
      SDCC --use-stdout --portmode=z180 --asm=asxxxx -S -mz80 -c -o texthndlr.rel ..\texthndlr.c
      SDCC --use-stdout --no-std-crt0 -mz80 --out-fmt-ihx executive.rel dsphndlr.rel cal_check.rel inp_stat.rel keyhndlr.rel msghndlr.rel param_key.rel rqsthndlr.rel self_test.rel set_param.rel softkeys.rel stat_keep.rel trip_stat.rel trip_test.rel util.rel calibrate.rel bargraph.rel asm_functions.rel arm_comm.rel arm_bios.rel arm_dios.rel armdef_sv.rel manager.rel prn_scr.rel text_msv.rel texthndlr.rel
      REN *.ihx RBVRM_C.hex
      RBVRM_C.hex - 0 error(s), 7 warning(s)

      And here's the contents of the hex file:
      :00000001FF

       
    • Med

      Med - 2008-05-30

      I don't know very much of this, but in my makefile the last line is something like this

      sdcc main.c all.rel all1.rel ... -o final.ihx
      cp final.ihx final.hex

      Hope will help

       
    • Maarten Brock

      Maarten Brock - 2008-06-02

      Could it be it that SDCC expects .o objects for the z80-like targets? Can you try again with .o instead of .rel objects?

       
    • OLM

      OLM - 2008-06-02

      It was the -S option.  It created the assembly file but did not assemble it.  For some reason, the assembly command is failing.  I was able to manually assembly the files and build a Hex file.  Thanks for the Help

       
    • Maarten Brock

      Maarten Brock - 2008-06-03

      Ok, I missed the -S option.

      Explanation from the manual for -S :

      Stop after the stage of compilation proper; do not assemble. The output is an assembler code file for
      the input file specified.

      This means that the assembler will NOT be called. So why do you use it? And I assume that the assembly output was stored in the .rel file as you requested with the -o option. The linker of course cannot link assembly listings, only object files.

       

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks