TI中文支持网
TI专业的中文技术问题搜集分享网站

用HCG生成的代码如何结合C++编程

您好,我想问下这个HCG生成的代码必须使用CCS project来使用吗?如果用CCS建立一个C++的工程,能不能使用HCG生成的代码呢?

另外,如何在CCS中配置建立一个C++的工程呢?具体应该如何操作?

Regards

yong

yong zhang2:

在CCS中选择建立C++工程时在project type中选择的是GNU Autotools,生成后控制台显示两个错误,Program “g++” not found in path 和 Program "gcc" not found in path.

如果选择project type中的Executable里面的工程,在右边ToolChains里面有两个选项,选择Microsoft Visual C++编译后还是会有错误,缺少kernel32.lib,添加这个库文件后还会有一些lnk2019的错误,无法解析的外部符号

想问下这个如果建立C++工程的话还需要装其他的什么东西吗?感觉现在使用编译器还得包含机器上原来的编译器之类的东西

Regards

yong

Jay:

回复 yong zhang2:

Hi yong,

即使你需要使用C++来写程序,在建立工程时还是需要建立CCS Project,而不是建立普通的C++ 工程。

Halcogen生成的代码都是C格式的,如果需要有C++ 来写程序的话,需要修改一下。可以把每个外设封装成一个类,把预先定义函数都作为成员函数。类的构造函数和析构函数需要手动添加,头文件也需要对应修改。

Regards,

Jay

 

yong zhang2:

回复 Jay:

Hi,Jay

如果单纯的使用CCS作为开发环境进行C++的开发的话还需要装什么插件么?

另外,之前做的一个C++工程,如果要结合HCG 的代码使用的话就只能把那些文件一个个的复制过来然后再去调用HCG的代码了么,这样工程量貌似很大啊。

您这列说的把外设封装成一个类指的是把HCG中生成的比如说can.c中的函数封装起来么?

Regards,

yong

yong zhang2:

回复 Jay:

另外需要向您咨询的是如果不需要使用芯片的某些功能,比如说不使用SCI模块,那在HCG中还是会生成相应的.c跟.h文件在程序中会使用到么?这样的话全部生成的文件都得做相应的改变吗?

如果按照您提供的例子改成CPP的文件,那么下次再使用HCG生成代码后是不是还需要再改一遍呢?

regards,

yong

Jay:

回复 yong zhang2:

Hi yong,

1. 你在Halcogen配置时,需要用到的外设模块把它使能,这样Halcogen就生成对应的.c文件, 但是.h不管是否使能都会存在。

2. 如果用Halcogen再次生成,那么会生成一个新的.c文件,不会覆盖改完的.cpp,但仍需要再改一遍。目前,Halcogen只能生成C文件。

 Regards,

Jay

yong zhang2:

回复 Jay:

如果涉及到中断的话,将中断服务程序改成相应的cpp文件会不会影响系统正常的调用呢?中断函数这块我们自己配置只是在HCG中给了中断的向量表,这个程序内部具体调用会不会因为改成cpp而受影响呢?

还有就是以太网这部分程序用到lwip的协议栈,这块好像不太可以改成cpp的吧?

regards,

yong

Jay:

回复 yong zhang2:

Hi yong,

中断不会有影响。

以太网部分可以不用改,因为C++是兼容C的,也就是说,在C++ 的工程里,所以C定义的函数都可以正常使用。

Regards,

Jay

赞(0)
未经允许不得转载:TI中文支持网 » 用HCG生成的代码如何结合C++编程
分享到: 更多 (0)