ポイントは、IARリンカー-xlinkを使用してメイン関数なしで16進数を生成することですか? このコードは、RL78 MCUのRAMにロードする必要があります。IARリンカーを使用してメイン関数なしで16進数を生成する方法 - xlink?
答えて
Google検索でiar generate hex from library
を検索したところ、this document, "Creating an Absolutely Placed Library"という最初の結果が得られました。これには、必要なすべての情報と、一貫性チェックにCRCを使用するための情報が含まれています。この文書はIAR EWRXバリアント用ですが、概念はすべて同じである必要があります。
基本的なプロセスは、ライブラリを実行可能ファイルとしてコンパイルすることですが、その中にはmain()
機能はありません。 [ライブラリ]の[一般] - > [ライブラリオプション]をNone
に設定する必要があります。この時点でファイル変換設定を設定することもできます。
プログラムエントリポイントにmain()
関数がないので、IAR Cランタイム初期化関数__iar_data_init2()
を呼び出すエントリ関数を作成し、この関数をエントリとして使用するようにリンカを設定する必要がありますポイント(リンカオプション - >ライブラリオプションの下にあります)。
ライブラリをビルドする場合、ライブラリを使用するアプリケーションの最終リンクステップまですべてのシンボルが保存されますが、実行可能ファイルとしてビルドするので、保持するシンボルには__root
というキーワードリンカ - >余分オプションの下で、すべてのシンボルを保持するために--no-remove
を指定することができます。
isymexport
を使用して、必要なシンボルをエクスポートする必要があります。ツールにエクスポートするものを指示するファイルが必要です。
show lib_*
show __checksum*
これはlib_
で始まるすべてのシンボルと__checksum
で始まるすべてのシンボルをエクスポートするツールを指示します:例では、彼らは次のものが含まれていたファイルを持っています。彼らは、__iar_data_init2()
はではなくをエクスポートする必要があることに注意してください。最終的にこのコードを使用するアプリケーションと競合する可能性があります。あなたはそのようなツールを起動します。
isymexport <path to .out file> <path to output from tool> --edit <path to file created above>
今、あなたはisymexport
から出力し、あなたが探していたライブラリファイルを持っている必要があります。このライブラリを使用するアプリケーションでは、isymexport
の出力をリンカ - >ライブラリの下にライブラリとして追加する必要があります。アプリケーションでは、ライブラリのエントリ関数を呼び出す必要があります。図書館のシンボル。
これは、16進ファイルで存続し、別々にロードできるライブラリを生成するために必要な情報であり、そのライブラリの使用方法です。参照されているドキュメントの詳細は非常に多いので、そのリンクで利用可能な場合(またはタイトル別に見つけることもできます)、ここでのまとめよりも参考になります。
- 1. Groovyスクリプトを使用して16進数の16進数を生成する
- 2. キャストを使用して16進数から16進数に変換する
- 3. SASS lighten関数を使用して16進数のカラーコードを返します
- 4. Arduinoは16進数で十進数を作成します
- 5. 多くの16進数を生成
- 6. erlangでバイナリ値を16進数に16進数に変換する方法
- 7. Pythonで16進数または16進整数を解析する方法
- 8. Qt QSerialPortを使用して16進数を送信する方法0x00
- 9. 16進数をvarcharに変換する方法とSybase ASEを使用して16進数をvarcharに変換する方法はありますか?
- 10. 接頭辞 `0x 'なしで16進数にする方法
- 11. 文字列を16進数と16進数に変換する方法は?
- 12. 文字列を16進数で16進数に変換する
- 13. Pythonで16進数のリストを生成する
- 14. boost :: formatで16進数の出力を生成するには?
- 15. 変数(16進数を含む)を使用してバイナリタイプに変換する
- 16. QStringをQByteArrayに16進数ではなく16進数として追加しますか?
- 17. ACKメッセージ(16進数から16進数)
- 18. lz4を使用して16進数のバイトデータを圧縮解除
- 19. TypeScriptを使用してバイナリ、オクテット、および16進数の型を作成する方法
- 20. mockitoを使用してメイン関数のスイッチケースをテストする方法は?
- 21. 16進数を10進数に正しく変換します
- 22. Pythonを使って16進バイトからチェックサムを生成する方法
- 23. luhnのアルゴリズムを使用して16進数IMEI(数値+文字)のチェックディジットを計算する方法は?
- 24. 符号なし文字配列を使用して16進数を入力
- 25. 「16進数をエスケープして」ブール値
- 26. EJSでonclick関数を作成して使用する方法
- 27. OpenXMLでFormat(#、###。##)を使用して10進数のCellValueを作成する方法
- 28. uint_64の16進表現を16進数の符号なし文字配列にコピーする方法は?
- 29. Perl 64ビット16進数関数
- 30. xqueryで16進数をasciiに変換する関数
これまでに何をしていますか? 'library.a'のようなものを生成するライブラリプロジェクトがあると思いますか? – rjp
XY質問のように見えます。あなたは実際に何を達成しようとしていますか?動的ロード/リンクおそらく?完全にリンクされたアプリケーションにはエントリポイントが必要です。 GNUリンカは、あなたのことが分からない「部分的なリンク」というオプションをサポートしています。 – Clifford