【ARM】控制PK51的警告等级与信息生成

1、 文档目标

控制PK51的警告信息的生成,屏蔽部分警告信息的生成。


2、 问题场景

客户在使用PK51对于工程进行构建的时候,会出现很多的警告信息。警告信息中有很多对于功能本身影响不大的警告信息,这些本身对于工程师的工作来说会形成困扰。工程师无法一条一条的去判断这些警告信息对于产品功能的影响大不大。那么针对这样的情况,工程师就需要对于警告信息进行控制了。


3、软硬件环境

1)、软件版本:Keil PK51 9.60

2)、电脑环境:Windows 11

3)、外设硬件:无


4、解决方法

1)、在PK51中,有两个对于警告的控制选项,一个是对于编译器的警告信息的等级控制(如图4-1-1),一个是对于链接器的警告信息控制(如图4-1-2)。



图4-1-1


图4-1-2


2)、在编译器的警告控制中,一共有3个等级:

(1)、Warninglevel 0:对于所有警告信息进行屏蔽。

(2)、Warninglevel 1:只列出那些可能产生错误代码的警告。

(3)、Warninglevel 2:列出所有警告,包括关于未使用的变量、表达式或标签的警告。


3)、在链接器的警告控制中,一共有3个等级:

(注意:这个链接器的警告控制是针对于LX51链接器,对于BL51链接器没有警告等级控制)

(1)、Level 0:包含较少的链接器警告。是对于链接过程大概率会产生影响的警告信息。

(2)、Level 1:包括可能由不正确的代码或数据类型不匹配导致的警告。

(3)、Level 2:包括所有警告。


4)、在LX51 Misc中还可以将指定的警告信息进行屏蔽,将工程师认为不会影响功能实现的警告信息进行直接屏蔽,如图4-4所示。



图4-4