在旧的嵌入式c / c ++代码上启用现代代码分析工具的使用

问题描述

如何在较旧的嵌入式c / c ++源代码上使用现代代码分析工具(例如SourceTrail),该工具最初用于诸如Micro-Controller的Hi-Tech C,PIC C,IAR Workbench之类的编译器,仅限于Microchip的PIC,PIC16和PIC18系列。

为了支持微型微控制器的有限体系结构,嵌入式编译器的供应商不得不提出对c / c ++语言的扩展,这些扩展已经(或尚未采用)c语言规范。 / p>

这会导致特定于微控制器的头文件包含以下内容:

// Register: ANSELA
extern volatile unsigned char           ANSELA              @ 0xF38;
#ifndef _LIB_BUILD
asm("ANSELA equ 0F38h");
#endif

typedef union {
    struct {
        unsigned ANSB0                  :1;
        unsigned ANSB1                  :1;
        unsigned ANSB2                  :1;
        unsigned ANSB3                  :1;
        unsigned ANSB4                  :1;
        unsigned ANSB5                  :1;
    };
} ANSELBbits_t;
extern volatile ANSELBbits_t ANSELBbits @ 0xF39;

extern volatile unsigned short long     TBLPTR              @ 0xFF6;

extern volatile __bit                   ABDEN1              @ (((unsigned) &BAUDCON1)*8) + 0;

和代码文件包含以下内容:

void interrupt high_priority InterruptVectorHigh(void) 
{
}

void interrupt low_priority InterruptVectorLow(void)
{
}

用现代工具支持此源的最简单方法是什么,同时确保仍可将源与原始编译器一起使用?

编辑:

下面提供了一个答案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)