Keil问题及其解决

1.下载器(如ST-Link)连接芯片下载程序,找不到芯片,如下:

Keil问题及其解决_第1张图片

解决办法:

首先检查芯片电源是否有问题,VDD、VSS、VDDA、VSSA、VBAT是否正常。

然后检查芯片晶振是否正常起振,如果没有尝试换一个晶振,如果换晶振仍然不起振,那就没有办法了。

如果晶振起振正常,那就继续往下走。

然后检查BOOT0、BOOT1是否正常。

都正常的话,就按住芯片的复位按键,点下载程序,然后放开复位键。一般程序就下进去了。


2.keil右键“Go To Definition Of”无效的问题。

Keil问题及其解决_第2张图片

当你想看某个函数的定义,然后右键Go To Definition Of,会弹出下面的窗口:

Keil问题及其解决_第3张图片

解决办法:

就像它说的一样,你需要打开Target-Options然后选Output标签,把下面的Browse Information勾上。

Keil问题及其解决_第4张图片


3.stm32芯片能下载程序,但程序不能运行。

自己遇到过一次,好像是复位电路或晶振电路的问题,我重新把这个地方焊了,就解决了。


4.编译没有错误,链接时就出现了如下错误:
..\OBJ\UCOSII-1.axf: error: L6050U: The code size of this image (34522 bytes) exceeds the maximum allowed for this version of the linker.

重新破解一次软件即可解决。

keil 5全版本破解器:点击打开链接

5.出现错误:

..\OBJ\IIC.axf: Error: L6200E: Symbol error multiply defined (by control.o and main.o).

或:Error: L6200E: Symbol asc2_1206 multiply defined (by lcd.o and oled.o)

解决:从报错,“multiply defined”是多次定义的意思。因此上面那个错误是指“error”这个表示,在control.cmain.c文件中重复定义了。

Keil问题及其解决_第5张图片Keil问题及其解决_第6张图片

可以把其中一个“error”的定义前加上extern关键字。也可以的其中一个error改名字。

 

你可能感兴趣的:(MCU,stm32,keil)