This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

如何查看库函数的原代码

例如:

int main(void)
{
// Setup the system clock to run at 50 Mhz from PLL with crystal reference
SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
// Enable and configure the GPIO port for the LED operation.

选择SysCtlClockSet   按F3 自动打开sysctl.h文件 找到

extern void SysCtlClockSet(uint32_t ui32Config);

接着怎么查看 SysCtlClockSet这个函数的原代码

谢谢。

  • C:\ti\TivaWare_C_Series-2.1.0.12573\driverlib目录下找到sysctl.c,函数在这里。

    其实你也可以不把外设驱动库放到工程里,把上述目录下的所有源码都放到工程里编译也行,这样可以灵活的查看库函数的寄存器操作了。

  • 其实你也可以不把外设驱动库放到工程里,把上述目录下的所有源码都放到工程里编译也行,这样可以灵活的查看库函数的寄存器操作了。

    是不是多了个“不”,还是我理解问题(注:本人对这个型号的器件真是新手)。

    把源码放工程中的方法:右键工程-----add files-----选择相应的源码文件。应该是这么个过程吧。

    谢谢

  • 麻烦问下,那个外设驱动库指的是什么。

    有没有TI这些库函数的说明文档。

  • cortexwang

    同事Micheal的建议中,所提到的外设驱动库是在..\driverlib\ccs\Debug目录下已经封装为.lib格式的API函数库。

    如果只添加该.lib函数库,可以编译但是无法查看各个API函数源代码的。

    如果想查看API函数源代码,需要添加外设驱动API函数的源代码,即..\driverlib目录下的.c 和.h文件。

    具体添加过程是一样的,如你所述。

    工作愉快。

  • 明白,这样可以看到源代码。

    谢谢。

    不过又遇到一个问题。

    添加源代码后,在编译的时候出现了重复定义的问题。

    例如:

    Description Resource Path Location Type
    #10056 symbol "SysCtlAltClkConfig" redefined: first defined in "./sysctl.obj"; redefined in "C:\ti\TivaWare_C_Series-2.1.0.12573\driverlib\ccs\Debug\driverlib.lib<sysctl.obj>" CH2_3 C/C++ Problem

    这个问题怎么解决比较合适,是把.lib函数库链接取消么,这们的话是不是应该需要把所有引用的API函数库添加进来,有这个必要么。

    麻烦了,刚入门,问题比较多。

    (我现在用的是Tiva c Series TM4C123G LaunchPad及模拟实验箱)

  • Cortexwang

    把lib库连接取消即可。API函数的文件只添加用到的即可。

  • 至少要添加那些源文件啊?编译时interrupt.c一直出错,不知是少添加什么文件了

  • Xueyin

    编译的时候出的什么错误?请把错误贴出来。谢谢

  • Description Resource Path Location Type
    unresolved symbol IntDisable, first referenced in ./sysctl.obj gpiostudy C/C++ Problem
    unresolved symbol CPUwfi, first referenced in ./sysctl.obj gpiostudy C/C++ Problem
    unresolved symbol IntRegister, first referenced in ./sysctl.obj gpiostudy C/C++ Problem
    unresolved symbol IntEnable, first referenced in ./sysctl.obj gpiostudy C/C++ Problem
    <a href="file:/C:/ti/ccsv5/tools/compiler/dmed/HTML/10234.html">#10234-D</a> unresolved symbols remain gpiostudy C/C++ Problem
    unresolved symbol IntUnregister, first referenced in ./sysctl.obj gpiostudy C/C++ Problem
    #10010 errors encountered during linking; "gpiostudy.out" not built gpiostudy C/C++ Problem

    这个我取消库链接后,编译时出现的错误,谢谢。

  • 外设驱动库的源码可以编译成库文件(.lib)后,单独把库加到工程里;也可以直接把外设驱动库的源码加到工程里,这时候就不能再加库了,否则会重复。

    如果你不用lib文件,建议把driverlib下所有的.c文件都加到工程中去编译就行了。

  • 我源文件全都添加了,还是老样子报错

    您看看,这是什么问题。。。。

  • 报错的地方在这边。。。

  • 应该是有变量未定义,是不是导入的文件缺失。

    全部导入,我也尝试过,印象中没有成功的记录。主要是文件太多,无从下手。

    如刚学,建议一个模块一个模块,按部就班的学习。

  • 还是工程设置、源码、头文件包含的问题。

    建议先直接导入TivaWare中的工程例程,熟悉了文件架构,工程设置后,在这个基础上进行修改。

  • 工程文件都是用lib库,没有用一个是源文件的,,,lib库建立工程没问题,也很容易。用源文件就interrupt文件老是出错。。。如之前所示,,,可以发一份使用源文件建立的例程吗?万分感谢。。。

  • http://processors.wiki.ti.com/index.php/Getting_Started_with_the_TIVA™_C-Series_TM4C123G_LaunchPad?DCMP=tivac&HQS=TM4C123G-Launchpad-Workshop

    照这个wiki去做吧,Workshop Material里面能下载到所有相关的文档,实验指导书,例程,其中CCS那边会有如何新建工程。非常详细的。