1

STM32F207VC コントローラーを使用しています。uvision4 IDE を使用しています。単純なコードをコンパイルしようとすると、エラー tst1.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f2xx.o) が表示されます。. プロジェクト ディレクトリに stm32f2x ファイルを配置しました。

しかし、それでも同じ問題です。

これを解決するのを手伝ってください。

ありがとう

4

3 に答える 3

6

SystemInit()「Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c」は、その中で定義されているように追加する必要があります。

于 2013-05-09T05:30:50.417 に答える
3

それは、startup.s ファイルから呼び出されるため、関数 SystemInit を定義する (またはどこかから取得する) 必要があります。

または、SystemInit 関数が呼び出されるスタートアップ ファイルの行にコメントを付けることができます。次のようなものがあります。

1 IMPORT  SystemInit
2 IMPORT  __main
3 LDR     R0, =SystemInit
4 BLX     R0
5 LDR     R0, =__main
6 BX      R0

行 1、3、4 は ; でコメントできます。シンボル。

実際、関数 SystemInit は通常、STM Peripheral ライブラリの一部であり、必要なすべての周辺機器を初期化することを目的としています。それがなければ、自分で初期化を行う必要があります。

于 2012-11-20T17:34:45.267 に答える
0

手遅れかもしれませんが、Keil uVision のインストール フォルダを確認してください。すべての (できれば) ベンダー向けの SystemInit 関数が搭載されたファイルがあります :)

~\Keil\ARM\Startup\ST\STM32F2xx\system_stm32f2xx.c

于 2015-07-12T21:42:51.270 に答える