前段时间在CCS中直接导入build中的例程Gpio,编译调试运行正常,
现在我自己新建了一个工程,默认存储路径,带main.c的哪种,然后将例程中源文件code移植到main.c,
编译的时候报错:error#5,soc_AM335x.h头文件打不开。
我估计应该是工程哪个地方设置不对,看了startware中的Creat a CCS5 project章节介绍没找到相关信息,
比对Gpio例程的设置没发现不同,
请问:
我需要将soc_AM335x.h文件Add到自建的工程中么?
如果需要那soc_AM335x.h文件在哪?可Gpio例程并没有Add
谢谢!
Jason Wang83:
请问你用的是CCS3还是CCS5?
STONE:
回复 Jason Wang83:
CCSV5.4 官网上下载的
Jason Wang83:
STONE你好,如果你的error只有一个“error#5,soc_AM335x.h头文件打不开”,推荐你可以先到CCS5的安装目录下面去找找这个头文件,然后手动添加上去再编译试试。我手头的CCS5最近崩溃了正在重装,所以暂时还不能帮你查找是否有这个头文件,等装好了我也帮你看看吧。
如果是有很多错误的话,则推荐你好好看看你的后台配置,和例程的后台配置去比较一下,对平台相关的配置理解应该对你也会很有帮助。
STONE:
回复 Jason Wang83:
非常感谢您的回复!
我正在尝试中,因刚刚接触ccs,十分不熟悉,
所以很多问题还需不断尝试。
Jason Wang83:
回复 STONE:
嗯,不客气~共同学习!
我又看了一下你的原贴,个人非常赞赏你用例程出发去一步一步修改的思路,这个是对的!
正是在一步一步修改、error、思考、理解和解决的过程中非常有利于你对于系统架构和编译链的理解,
但是这个地方因为你是从其他地方拼凑的程序,个人觉得你可以先思考一下简单的来讲有两条思路:
第一,你这里的程序是否需要用到这个头文件,如果不需要注释掉看看程序是否有error;
第二,如果是从原程序原封不动复制粘贴过来的是需要的,建议你去打开用到了soc_AM335x.h的例程,邮件属性,找到位置,然后在检查一下你那边设置的是否有那个路径,或者尝试一下手动添加试试~
STONE:
回复 Jason Wang83:
新建工程main.c中头文件有4个如下:
#include "soc_AM335x.h" 、#include "beaglebone.h" 、#include "gpio_v2.h" 、#include "interrupt.h"
最早报错是soc头文件无法打开,我将soc的头文件Add到工程中,然后编译,
#include soc.h这行编译过了,但对"beaglebone.h"报相同错误。
我就又把beaglebone.h在Add到成功中,然后编译,beaglebone.h过了,又对“interrupt.h‘报相同错误,
相同方法再将interrupt.h加入工程,最后头文件编译过了,但还是有错误,信息如附件
另外我比对了两个工程的后台配置,发现不同,原Gpio中的File search path中除了“libc.a外还”有“…/gpioLCDBacklight.cmd”,
自建的工程只有“libc.a”,没有.cmd文件
STONE:
回复 STONE:
问题应该可以确认是File search path中没有相应的.cmd文件导致,
请教各位大侠,如何添加.cmd文件呢?谢谢
Jason Wang83:
回复 STONE:
看到你的图片中的用的compiler和linker下面写的是:TMS470,你的AM335x是cortex-A系列的,而TMS470应该ARM7系列的;
正确的应该是选择平台的时候选择:New CCS project》Family:ARM》Variant: AM33x-Cortex A8》你用的型号
你可以检查一下,看看你新建工程时候的平台选择对不对啊,会不会是这个问题呢?
STONE:
回复 Jason Wang83:
Gpio例程中的complier和linker是TMS470,板子是AM3359的,可是例程调试正常。
自建工程Test_LED是Arm A8的,工程路径中没有.cmd文件,不知是否跟这个文件有关?
Jason Wang83:
回复 STONE:
TMS470的分类和定位相关的了解性资料可以参考以下两个链接:
http://www.ti.com.cn/mcu/cn/docs/mcuorphan.tsp?contentId=24577
http://wenku.baidu.com/view/e797360e6c85ec3a87c2c5af.html
TI中文支持网
