
現在、H8Sマイコンのプログラミング環境を今までやっていたPCから別のPCでもできるように自分のPCにHEWをインストールして同じ環境を構築しようとしています。
今までビルドを行っていたPCからプロジェクトを自分のPCにもコピーしてビルドを実行してみたところ、ソースコードも同一なのですが、出力されてきたバイナリファイルの内容に違いが生じてしまいます。
今までのPCと自分のPCにインストールされているHEWのコンパイラのVersionも確認したところ同一であることも確認しました。
hwpファイル等もファイルパスの違いがあるだけだったので、それぞれのPCのHEWのtoolchainの設定を今度は比較したいと思っているのですが、現在のHEWのtoolchainで設定されているオプションなどのテキストはどこかのファイル等で一括で確認することはできませんでしょうか?
どうぞ、ご教授いただきますよう、お願い致します。

No.3ベストアンサー
- 回答日時:
繰り返しますが……。
拡張子が、bin のファイルは、単なるアセンブラファイルでも、単なる機械語のファイルでもありません。
H8系だと、最終的なオブジェクトファイルは、拡張子がhexのファイルじゃないかなと思いますが、hex ファイルが違っていたら、「生成されたマシン語が違う」ということです。
bin ファイルには、主にデバッグのための、いろいろな情報が詰まっています。
その中には、ソースファイルの所在(つまり、フォルダ名を含む)があるかもしれません。
単純なバイナリ比較をして、「違う」と騒ぐ前に、普通のエディタで良いから,中をのぞいてみましょう。エディタで読める形で、フォルダが見えたりする可能性はかなりあります。
せめて、hex ファイルを生成して、それを比較してみましょう。
hex ファイルが同じなら、「マシン語として同じ」ということです。

No.2
- 回答日時:
だから、「お礼」の欄に書かれたのが、「PCのHEWのtoolchainの設定」です。
tookchain の個々の設定は、HEW ではなくて、ワークスペース毎にありますから。
で、それが同じなら、あなたのいう、「バイナリ」が同一になるかどうかは、わかりません。
そもそも、その、「バイナリの中に、マシン固有の情報をかかえていませんか? 設定が違うかどうかより、バイナリファイルの具体的な『違い』をまず調べましょう」というのが、当方の主張です。
回答頂きありがとうございます。お世話になっております。以前使用していたPCで出力したバイナリのbinファイルと、自分のPCで出力したbinファイルを比較ソフトのDFでバイナリ比較機能で違いを調べてみたところ、ファイルのデータ中、16バイト中1つでもデータの違いのある番地は約410kbyte中1/3程度ありました。
コンパイラのtoolchainの設定の違いでここまでバイナリのデータの結果に違いが出るものでしょうか。
また、バイナリファイルの具体的な違いがここまである場合、たとえば、このC言語のプログラムはこのようにアセンブラに変換している等のファイルなどはHEWの場合ありますでしょうか?
AtmelのAVR Studioなどだと拡張子lssファイルなどでアセンブラ変換をどのようにしたかというのが解説されるファイルがあったと思うのですが、HEWにはありませんでしょうか?
どうぞ、よろしくお願い致します。

No.1
- 回答日時:
あの……。
出力されたバイナリファイルの「何が・どう」違うのか確認しましたか?
H8 だとすると、.hex が違っていたら、ちょっと問題ですが、それ以外のファイルが違うことは、普通にあります。
適切なツールがなければ、テキストエディタで強引に開いて、その、「バイナリファイル」の中に、パスの情報が入っていたりしないか、眺めてみましょう。
あと、Hew でワークシートを開いた「後」で、「ビルド」メニューの、一番先頭にある、toolchains メニューで、それぞれのコマンドのオプションを確認するのは、やってみましたか?
回答頂きありがとうございます。助かります。
HEWのメニュー”ビルド”---->”H8S,H8/300 Standard Toolchain”のところのコンパイラやアセンブラや最適化リンカ等のコンパイラオプションが、今までビルドを行っていたPCのHEWの設定と同一かどうかをこれから調べようと思っています。
コンパイラのカテゴリとか、のソース、オブジェクト、リストなど、項目がかなりたくさんあるようですが、
(コンパイラオプション)
-cpu=2000A:24 -stack=large -include="$(PROJDIR)\include","$(PROJDIR)\rtos" -object="$(PROJDIR)\obj\$(FILELEAF).obj" -debug -show=nostatistics,allocation,nosource,tab=4 -optimize=0 -speed=register,switch,shift,struct,expression -global_alloc=1 -const_var_propagate=1 -chgincpath -nologo
(アセンブラオプション)
-cpu=2000A:24 -debug -object="$(CONFIGDIR)\$(FILELEAF).obj" -list="$(CONFIGDIR)\$(FILELEAF).lis" -nologo -chgincpath -errorpath
(最適化リンカオプション)
-noprelink -rom=D=R -nomessage -list="$(CONFIGDIR)\$(PROJECTNAME).map" -show=symbol,reference,xreference,total_size -nooptimize -start=PResetPRG,PIntPRG/0400,P,C,C$DSEC,C$BSEC,D/0800,BHEAPMEM/0600000,BJURNEL/0670000,BPROGERASE/0FF4000,B,R/0FF4400,S/0FFBE00 -nologo -output="$(CONFIGDIR)\$(PROJECTNAME).abs" -end -input="$(CONFIGDIR)\$(PROJECTNAME).abs" -form=binary -output="$(PROJDIR)\bin\$(PROJECTNAME).bin" -exit
(ライブラリオプション)
-cpu=2000A:24 -stack=large -output="$(PROJDIR)\obj\$(PROJECTNAME).lib" -reent -head=runtime,new,math,stdarg,stdio,stdlib,string
これらの内容が書かれていました。
このオプションの内容が、今までのPCのHEWのものと同一であれば、同一のバイナリ実行ファイルが出力できるようになるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 中古パソコン 中古PCを売る時、OS(Windows11)はどんな状態にするのが親切ですか? 4 2022/12/15 17:08
- その他(クラウドサービス・オンラインストレージ) ネット経由でPCとiPadでのテキストデータの同期(共有)方法は? 2 2023/04/23 19:26
- Outlook(アウトルック) Outlookでメールを設定したら、設定済み?? 2 2022/09/24 13:25
- その他(クラウドサービス・オンラインストレージ) Onedriveで実現したい事。2台のPC間で。 2 2023/04/10 20:42
- Windows 10 Windows10の回復環境 2 2023/02/03 19:13
- その他(セキュリティ) 役所など、情報系システムのセキュリティが弱くても業務システムに問題ないか 3 2022/11/02 16:38
- ネットワーク 瞬快 コンソール操作 ローカル端末のファイルをリモート端末にコピーする方法がない? 1 2023/03/17 18:56
- ドライブ・ストレージ vhdxファイルからのデータの取り出し方 4 2023/06/14 23:53
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- 固定IP Win11 アダプター設定変更にイーサネットが表示されない 1 2022/12/03 18:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
公文書のxmlファイルの開き方が...
-
.NETアプリを作ったときの .man...
-
「ブルーファイル」と「グリー...
-
リンクの張り付けかたを教えて...
-
binファイルを解凍したいの...
-
aviファイルの読み込み
-
HTMLからのBATファイル実行
-
Latexで図番号だけを「図1.1」...
-
Excel VBA リンク更新について ...
-
VBAでのicsファイル変換
-
VBAのバイナリ出力について
-
Word VBA MSGBOX 内で降順表示
-
参照するファイルをワイルドカ...
-
監視ツールを入れさせられまし...
-
CSSを1ページに1枚作るのって変...
-
#include <Windows.h>というヘ...
-
動画ファイルの結合について、b...
-
JPEGファイルの開き方
-
エクセルのヘルプファイルって...
-
アクセス 壊れた? 「ファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトで作成日時...
-
アクセス 壊れた? 「ファイ...
-
binファイルを解凍したいの...
-
.NETアプリを作ったときの .man...
-
リンクの張り付けかたを教えて...
-
公文書のxmlファイルの開き方が...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
コマンドプロンプトで、指定し...
-
jarファイル
-
「ブルーファイル」と「グリー...
-
ファイルが開かれているかどう...
-
バッチ処理で追記コピーしたい
-
VBAでのicsファイル変換
-
CSSを1ページに1枚作るのって変...
-
監視ツールを入れさせられまし...
-
C#でログファイルにファイルパ...
-
exeファイルの中身を見る方法は...
-
自分で作成した重要ファイルを...
-
HTMLからのBATファイル実行
おすすめ情報