初めまして、よろしくお願いします。
Cortex-M3のコードに対応していないBLX命令が組み込まれてしまい、ハードフォルトが発生してしまいます。対策についてご教示ください。
【環境】開発環境:E2studioツールチェイン:GNU ARM Enbedded 10.3.1.20210824Device:RZ/T1
【問題発生の経緯、確認事項】①オープンソースの暗号化ライブラリを組み込もうとした際にハードフォルトが発生。②デバッガにてハードフォルトが発生する前にM3側でBLX命令を実行していることを確認。③ネット情報にてCortex-M3でリンクするときにBL命令を勝手にBLX命令してしまう事象があることを確認。 →おそらくこれが起こっていると予想。 M3リンカのオプションには-mcpu=cortex-m3 -march=armv7-m -mthumbが入っていることを確認。
【気になる事項】M3のコードをコンパイルしてオブジェクト化し、R4のリンカに渡している→もしかして、R4のリンカがBLM命令に変換している? R4のリンカオプションは-mcpu=cortex-r4f -march=armv7-r -marm
ここまでは調べましたが解決には至っておらずお力添えいただければ嬉しいです。