TI论坛
直播中

胡红枚

7年用户 331经验值
私信 关注

请问c6670的MCSDK模板程序main函数也没有调用,请问他们什么时候被执行的,起什么作用啊?

本帖最后由 一只耳朵怪 于 2018-6-19 14:48 编辑

初接触6670,有两点问题,望前辈指点:


1.
c6670的MCSDK模板程序主程序文件中前面定义了四个函数
uint8_t *Osal_platformMalloc (uint32_t num_bytes, uint32_t alignment)
void Osal_platformFree (uint8_t *dataPtr, uint32_t num_bytes)
void Osal_platformSpiCsEnter(void)
void Osal_platformSpiCsExit (void)
main函数也没有调用,请问他们什么时候被执行的,起什么作用啊


2.
为什么他的MCSDK里面底层驱动程序独立一个project,测试程序独立一个project,不在一个工程的话测试程序怎样使用底层驱动程序定义的函数的,编译器怎么把他们联系起来的

回帖(3)

胡红枚

2018-6-19 03:49:13
注释掉这些函数编译会出错

这两个工程一个在C:tipdk_C6670_1_1_2_6packagestiplatformevmc6670lplatform_lib目录下
一个在C:tipdk_C6670_1_1_2_6packagestiplatformevmc6670lplatform_test目录下
我觉得这两个工程应该可以确定是主从关系,因为platform_lib文件夹下的工程里是各种底层驱动函数,见不到main函数(但是这个工程可以单独build)。而platform_testb文件夹下的工程里只有一个主函数文件。但是源文件不在一个project里面就搞不懂了
 
 
帮忙解答一下  谢啦
举报

杨娟

2018-6-19 03:56:50
引用: oiewjrj 发表于 2018-6-19 03:49
注释掉这些函数编译会出错

这两个工程一个在C:tipdk_C6670_1_1_2_6packagestiplatformevmc6670lplatform_lib目录下

platform_lib是static library project,只需要将头文件源文件加在一起编译生成一个library;platform_test是一个测试工程,在工程属性->linker->file search path 中添加了platform_lib生成的lib。Osal_platformMalloc等这些函数在platform_lib中的platform.c 中有使用,但是lib工程中没有其实现,所以可以在test工程中实现,否则在linker的时候会提示函数未定义,也可以将实现与声明均放在lib中编译生成lib。
                                                                          

举报

胡红枚

2018-6-19 04:11:17
引用: zbb9612 发表于 2018-6-19 03:56
platform_lib是static library project,只需要将头文件源文件加在一起编译生成一个library;platform_test是一个测试工程,在工程属性->linker->file search path 中添加了platform_lib生成的lib。Osal_platformMalloc等这些函数在platform_lib中的platform.c 中有使用,但是lib工程中没有其实现,所以可以在test工程中实 ...

谢谢你的回复
举报

更多回帖

发帖
×
20
完善资料,
赚取积分