banner
yono

yono

哈喽~欢迎光临
follow
github

c2000 シリーズ生成 bin の疑難雑症

CCS に基づくプロジェクトでは、以下の post-build ステップを追加することで bin ファイルを生成できます。

"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/ofd2000.exe" "${CG_TOOL_ROOT}/bin/hex2000.exe" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe"

このコマンド内の奇妙な {CCE_INSTALL_ROOT} 環境変数は、CCS ターミナル環境では {CCS_INSTALL_ROOT} と等価です。

したがって、実際には正常に生成できず、CCS インストールディレクトリ内の /utils/tiobj2bin/tiobj2bin.bat というファイルを見つけ、その中の "470" をすべて "2000" に変更し、再コンパイルすれば正常に生成されます。

この時、"C: が見つかりません" というエラーが表示されることがありますが、それは tiobj2bin.bat 内の以下の部分が原因です。このエラーメッセージが本当に嫌な場合は、この部分を削除すれば、bin ファイルの生成には影響しません。

rem ========================================================================== 
rem C2000 EABIファイルはサポートされていません。このコードはofd2000を使用して
rem ファイルヘッダーを検索し、それがELFファイルかどうかを判断します。すべての出力
rem コマンドの結果、エラーダイアグノスティクスを含むものは捨てられます。この仕組みの詳細は、
rem インターネットで使用されるコマンドを検索してください。
rem ========================================================================== 
if %base_ofdcmd% == ofd2000 (
   setlocal enabledelayedexpansion
   %ofdcmd% --obj_display=none,header %outfile% | findstr/c:" ELF " > nul 2>&1
   if !errorlevel! equ 0 (
      echo C28xファイルは--abi=eabiでビルドされているためサポートされていません
      exit /b
   )
   setlocal disabledelayedexpansion
)

この記事は Mix Space によって xLog に同期更新されました。 原始リンクは https://www.yono233.cn/notes/21

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。