Foros: VC++公開討議 (Thread #31669)

設定したいデータが書かれたファイルからインテルHEXファイルを出力したい。 (2012-03-01 16:22 by blackzoro #62551)

いつもお世話になっております。

設定したいデータが書かれたファイルからインテルHEXファイルを出力できないかと考えております。

\trunk\VC_test\eeprom_make_file


次のような設定値が書かれたファイルがEXEにドロップされたら
----------------------------------------------------------------
シリアルID(serial) = ,000037,
キャリア周波数調整値(adj_freq) = ,24,
周波数調整加算減算フラグ(freq_add_sub) = ,80,
温度計調整値(adj_temper) = ,36,
温度計調整加算減算フラグ(temper_add_sub) = ,80,
各温度での周波数調整値 ,,
-10℃(temp_neg10) = ,FFFD,
- 5℃(temp_neg5) = ,FFFC,
0℃(temp_0) = ,FFFC,
5℃(temp_5) = ,FFFC,
10℃(temp_10) = ,FFFD,
15℃(temp_15) = ,FFFD,
20℃(temp_20) = ,FFFF,
25℃(temp_25) = ,FF00,
30℃(temp_30) = ,0001,
35℃(temp_35) = ,0002,
40℃(temp_40) = ,0003,
45℃(temp_45) = ,0004,
50℃(temp_50) = ,0005,
55℃(temp_55) = ,0005,
キャリア出力禁止フラグ(f0_dis) = ,AB,

-------------------------------------------------------------------------



このようなインテルHEX形式のテキストファイル出力できるようなプログラムを
作成したいのですが、現在のIntelHEXFileというクラスのプログラムを使えばで
きるようなものなのでしょうか?

-----------------------------------------------------------------------
:1000000024800000373680FFFFFFFFFFFFFFFFFF68
:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
:10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
:1000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:1000F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:10010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:10011000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:10012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:10013000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:10014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
:10015000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
:10016000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
:10017000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
:10018000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
:10019000FFFFFFFFFFFFFFFDFFFCFFFCFFFCFFFD7C
:1001A000FFFDFFFFFF000001000200030004000547
:1001B000000500FFFFFFABFFFFFFFFFFFFFFFFFF9B
:1001C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
:1001D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:1001E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:1001F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
:00000001FF

----------------------------------------------------------------------



Responder al #62551×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Entrar

RE: 設定したいデータが書かれたファイルからインテルHEXファイルを出力したい。 (2012-03-12 19:09 by blackzoro #62739)

まだ、ちゃんと仕様を細かく説明していなかったと思うので書かせて頂きます。

各行の1つ目の(,)カンマより右に来るテキストをインテルHEXファイルの次のところに設置したいと考えています。


----------------------------------------------------------------
シリアルID(serial) = ,000037, //:10000000番地の5文字目から6文字
キャリア周波数調整値(adj_freq) = ,24, //:10000000番地の1文字目から2文字
周波数調整加算減算フラグ(freq_add_sub) = ,80, //:10000000番地の3文字目から2文字
温度計調整値(adj_temper) = ,36, //:10000000番地の3文字目から2文字
温度計調整加算減算フラグ(temper_add_sub) = ,80, //:10000000番地の11文字目から2文字
各温度での周波数調整値
-10℃(temp_neg10) = ,FFFD, //:10019000番地の13文字目から4文字
- 5℃(temp_neg5) = ,FFFC, //:10019000番地の17文字目から4文字
0℃(temp_0) = ,FFFC, //:10019000番地の21文字目から4文字
5℃(temp_5) = ,FFFC, //:10019000番地の25文字目から4文字
10℃(temp_10) = ,FFFD, //:10019000番地の29文字目から4文字
15℃(temp_15) = ,FFFD, //:1001A000番地の1文字目から4文字
20℃(temp_20) = ,FFFF, //:1001A000番地の5文字目から4文字
25℃(temp_25) = ,FF00, //:1001A000番地の9文字目から4文字
30℃(temp_30) = ,0001, //:1001A000番地の13文字目から4文字
35℃(temp_35) = ,0002, //:1001A000番地の17文字目から4文字
40℃(temp_40) = ,0003, //:1001A000番地の21文字目から4文字
45℃(temp_45) = ,0004, //:1001A000番地の25文字目から4文字
50℃(temp_50) = ,0005, //:1001A000番地の29文字目から4文字
55℃(temp_55) = ,0005, //:1001B000番地の1文字目から4文字
キャリア出力禁止フラグ(f0_dis) = ,AB, //:1001B000番地の13文字目から2文字

-------------------------------------------------------------------------



このようにテキストを配置したいと考えております。番地名はそれぞれの行の先頭に8文字追加された状態です。


Responder al #62551

Responder al #62739×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Entrar

RE: 設定したいデータが書かれたファイルからインテルHEXファイルを出力したい。 (2012-03-16 12:31 by toy_dev #62796)

すいません。この件をすっかり失念していました。
できると思います。しばらくお待ちください。わからないことがあればこちらから質問します。
Responder al #62551

Responder al #62796×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Entrar

RE: 設定したいデータが書かれたファイルからインテルHEXファイルを出力したい。 (2012-03-27 14:31 by toy_dev #62943)

できました。

https://svn.sourceforge.jp/svnroot/cc1101driver/trunk/VC_test/intelhexutil_custom_output

ソースは上述の位置にコミットしました。

急作りですが、目的は果たせると思うので、確認して見てください。

間違えてたら言ってください。直します。

ここまで来ると C++ より別のスクリプト言語の方が楽になってきます。
Responder al #62551

Responder al #62943×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Entrar

RE: 設定したいデータが書かれたファイルからインテルHEXファイルを出力したい。 (2012-04-17 19:29 by blackzoro #63270)

toy_devさん


blackzoroです。
いつもお世話になっております。

今回もプログラム作成して頂きありがとうございます。返事が遅れて大変申し訳ありません。


もしよければ教えてほしいのですが、現在”ビルド”を行うと次のようなエラーが出てきてしまうのですが、

1>------ ビルド開始: プロジェクト: intelhexutil, 構成: Debug Win32 ------
1>LINK : fatal error LNK1104: ファイル 'libboost_regex-vc100-mt-gd-1_47.lib' を開くことができません。
========== ビルド: 0 正常終了、1 失敗、1 更新不要、0 スキップ ==========


この解決方法など教えて頂けませんでしょうか?  


Responder al #62943

Responder al #63270×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Entrar

RE: 設定したいデータが書かれたファイルからインテルHEXファイルを出力したい。 (2012-04-18 21:46 by toy_dev #63313)

ライブラリのパスが足りないのだと思います。

「Boost C++ のインストールフォルダ/lib」をライブラリのパスとして追加してください。

以前はインクルードファイルのパスを追加したと思うのですが、それと同じ要領です。
Responder al #63270

Responder al #63313×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Entrar

RE: 設定したいデータが書かれたファイルからインテルHEXファイルを出力したい。 (2012-05-24 10:23 by blackzoro #63999)

toy_devさん

いつもお世話になっております。blackzoroです。

実はこの問題、まだ解決してませんで質問させて頂きたいことがあります。


intehexutilソルーション内にある2つのプロジェクト

intelhex,intelhexutil

この2つのプロジェクトの
VC++ディレクトリ->ライブラリディレクトリの設定で次の2つのパスを追加しています。

C:\mywork\new_wireless_module\open\cc1101driver\trunk\VC_test\intelhexutil_custom_output\Debug
C:\Program Files %28x86%29\boost\boost_1_47



このプロジェクト設定でビルドを行うのですが、どうしても次のようなエラーが出てきます。

1>------ ビルド開始: プロジェクト: intelhexutil, 構成: Debug Win32 ------
1>LINK : fatal error LNK1104: ファイル 'libboost_regex-vc100-mt-gd-1_47.lib' を開くことができません。
========== ビルド: 0 正常終了、1 失敗、1 更新不要、0 スキップ ==========



そこで、”libboost_regex-vc100-mt-gd-1_47.lib”というのが自分のPC内に存在するのか、PC全体に検索を欠けてみたところ見つからないとのことでした。

これはboostをインストールするとこの”libboost_regex-vc100-mt-gd-1_47.lib”というのは存在するようになるのでしょうか?何かインストールミスしていると言うことを表していますでしょうか。

どうぞ、ご教授頂きますよう、お願い致します。


Responder al #63313

Responder al #63999×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Entrar

RE: 設定したいデータが書かれたファイルからインテルHEXファイルを出力したい。 (2012-05-25 23:33 by toy_dev #64020)

以下から

http://www.boostpro.com/download/

BoostPro 1.47.0 Installer をダウンロードしてインストールし、インクルードファイルとライブラリのパスを設定しなおせば解決します。

blackzoro さんは、恐らく Boost C++ 本家からインストール(というか zip ファイルを解凍)したのではないかと思います。

説明誤り、もしくは説明不足だと思われます。申し訳ないです。

本家から入手したものは、自分でコンパイルして lib ファイルを作る必要があるのです。

インストーラーを使うとコンパイルが不要になります。

これで解決すると思います。もし解決できなかった場合は、いつでも気軽に聞いてください。
Responder al #63999

Responder al #64020×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Entrar

RE: 設定したいデータが書かれたファイルからインテルHEXファイルを出力したい。 (2012-05-27 12:17 by blackzoro #64030)

トゥイー さん

回答頂きありがとうございます! お世話になっております。

http://www.boostpro.com/download/ ここでインストーラをインストールしたら、ビルドできるようになりました。

原因なんですが、最初インストールしたときは、”libboost_regex-vc100-mt-gd-1_47.lib”がなく、再インストールなどをして行っていたら、インストール時の設定でライブラリファイルが200Mbyte分しか設定されていなくて、古インストールに設定して4Gbyte程度一気にインストールしたらこのlibファイルがPC内に配置されるようになり、インクルードパス、ライブラリパス設定後に正常にビルドができるようになりました!

今回もいろいろとありがとうございます。

Responder al #64020

Responder al #64030×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Entrar