※ ChatGPTを利用し、要約された質問です(原文:C8051F320マイコンのプログラム)
C8051F320マイコンのプログラムのコンパイルエラー
このQ&Aのポイント
C8051F320マイコンのプログラムをKeil uVision3でコンパイルする際にエラーが発生し、HEXファイルが出力されません。
コンパイルエラーの対処方法について教えてください。
エラーメッセージには「SERIAL NUMBER EXPIRED」や「PATH OR FILE NOT FOUND」という内容が含まれています。
C8051F320マイコンのプログラムをKeil uVision3という開発環境でプログラミングしたいと思っているのですが、
とりあえずサンプルプログラムをコンパイルしてみたのですが、エラーが出てきてHEXファイルが出力されません。コンパイルOKにするにはどのようにしたらよいのでしょうか?
(プログラム内容)
#include <stdio.h>
#include <reg51.h>
extern void func0(void);
extern void func1(void);
void main(void) {
/* INITIALIZE SERIAL INTERFACE TO 2400 BAUD @12MHz */
SCON = 0x52; /* SCON */
TMOD = 0x20; /* TMOD */
TCON = 0x69; /* TCON */
TH1 = 0xf3; /* TH1 */
printf("MAIN PROGRAM CALLS A FUNCTION IN BANK 0 \n");
func0();
printf("MAIN PROGRAM CALLS A FUNCTION IN BANK 1 \n");
func1();
while(1);
}
エラー内容は下の内容が出てきました。
Build target 'BL51'
compiling C_root.c...
C_ROOT.C(1): warning C500: SERIAL NUMBER EXPIRED
compiling C_bank0.c...
C_BANK0.C(1): warning C500: SERIAL NUMBER EXPIRED
compiling C_bank1.c...
C_BANK1.C(1): warning C500: SERIAL NUMBER EXPIRED
compiling C_bank2.c...
C_BANK2.C(1): warning C500: SERIAL NUMBER EXPIRED
linking...
BL51 BANKED LINKER/LOCATER V6.11 - SN: D1R0C-48BF2E
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2007
COMMON {"C_root.obj"},
BANK0 {"C_bank0.obj"},
BANK1 {"C_bank1.obj"},
BANK2 {"C_bank2.obj"}
TO "IBANKING" BankArea(0x0000,0xFFFF)
RAMSIZE(256)
IBANKING
*** FATAL ERROR L210: I/O ERROR ON INPUT FILE:
EXCEPTION 0021H: PATH OR FILE NOT FOUND
FILE: C_root.obj
Target not created
お礼
回答いただきありがとうございます。 コンパイルを行った際に4つのobjファイルは出力されていませんでした。 今日この問題についていろいろと調べてみたところ、Keil uVision4評価版をwin7 Home premiume(64bit版)PCにインストールしてみて、コンパイルを行ってみたところ、同様の症状が発生していることを確認しました。しかし、所有するもう一台のPC(Vista)にもuVision4をインストールしてみたところ、こちらでは全く問題なくコンパイルできて、HEXファイルが生成されました。
補足
回答いただきありがとうございます。その後、Keil uVision4がwin7 Home premiume(64bit版)でもHEXファイルを出力できるようになりました。 コントロールパネル->ユーザーアカウント->ユーザーアカウント制御設定の変更 この項目で”コンピューターに対する変更の通知を受け取るタイミングの選択” のレベルを”通知しない”にの一番低い設定したところコンパイル後にHEXファイルが作成されるようになることがわかりました。