21回答

0收藏

[求助] 解决PSoCRocks在PSoC Creator 2.0下的兼容问题

英飞凌 英飞凌 9561 人阅读 | 21 人回复 | 2012-12-16

  之前刚拿到板子时,最想做的一件事就是把官方提供的几个典型例子下进去看一下。不过一下就出问题了,例子是1.0版本的,而我的软件是2.0的,版本改后,好多器件不兼容了。现在闲了,想对例子进行改造,好让用2.0的都可以正常演示。于是我就对1.0的器件进行了更新和替换,解决了几个问题,比如数字和模拟端口都用2.0的引脚器件进行替换了,ADC升级了(还要重选下出入范围),但是控制寄存器至今有个问题,编译通不过,说是某个模块没定义,如下:

这个写控制寄存器可以在源文件中找到函数定义,函数如下:
  1. void LED_Control_Reg_Write(uint8 control)
  2. {
  3. LED_Control_Reg_Control = control;
  4. }
复制代码
在头文件中可以看到LED_Control_Reg_Control 的定义:
  1. #define LED_Control_Reg_Control (* (reg8 *) LED_Control_Reg_ctrl_reg__CONTROL_REG )
复制代码
那 LED_Control_Reg_ctrl_reg__CONTROL_REG 有时什么呢,用搜索功能搜索了增个工程却没有找到任何一个地方还出现 LED_Control_Reg_ctrl_reg__CONTROL_REG ,猜想这应该是问题的所在,但却不知道为什么会是这样,有谁可以帮忙解决下吗?

分享到:
回复

使用道具 举报

回答|共 21 个

倒序浏览

沙发

ming1006

发表于 2012-12-16 10:43:10 | 只看该作者

ht868788 发表于 2012-12-16 10:25
随板附带的5个例程都跑过一遍,但是是用1.5来实现的,2.0的没试过,好像很多组件需要升级,相关的寄存器应 ...

在头文件中有定义,定义为
  1. #define LED_Control_Reg_Control (* (reg8 *) LED_Control_Reg_ctrl_reg__CONTROL_REG )
复制代码
但是LED_Control_Reg_ctrl_reg__CONTROL_REG的定义在整个工程里却找不到,寄存器参考手册刚才看了下,没找到
板凳

ming1006

发表于 2012-12-16 11:27:41 | 只看该作者

ht868788 发表于 2012-12-16 11:03
顺便回过头来把经验更新一下我对寄存器控制也是似懂非懂

好的
地板

nemon

发表于 2012-12-17 10:08:29 | 只看该作者

本帖最后由 nemon 于 2012-12-17 10:10 编辑

顺着include的顺序反方向找就可以了:
看cyfitter.h,有
  1. #define LED_Control_Reg_ctrl_reg__CONTROL_REG CYDEV_UWRK_UWRK8_B1_UDB10_CTL
复制代码
看cydevice.h,有:
  1. #define CYDEV_UWRK_UWRK8_B1_UDB10_CTL 0x0000657au
复制代码
5#

ming1006

发表于 2012-12-17 11:20:19 | 只看该作者

nemon 发表于 2012-12-17 10:08
顺着include的顺序反方向找就可以了:
看cyfitter.h,有看cydevice.h,有:

我用了搜索,而且是整个工作空间,都没找到,怎么回事
6#

ming1006

发表于 2012-12-17 11:28:42 | 只看该作者

nemon 发表于 2012-12-17 10:08
顺着include的顺序反方向找就可以了:
看cyfitter.h,有看cydevice.h,有:

手动看了下也没有
7#

nemon

发表于 2012-12-17 11:38:26 | 只看该作者

ming1006 发表于 2012-12-17 11:28
手动看了下也没有

用1.0编译就会有。这个文件是不是在2.0下不能生成啊,所以你clean之后就找不到了。
8#

ming1006

发表于 2012-12-17 12:06:41 | 只看该作者

nemon 发表于 2012-12-17 11:38
用1.0编译就会有。这个文件是不是在2.0下不能生成啊,所以你clean之后就找不到了。 ...

应该是,我直接拿未编译的看了下,是有定义的,但修改完后在2.0上就找不到了
9#

ming1006

发表于 2012-12-17 12:55:31 | 只看该作者

nemon 发表于 2012-12-17 11:38
用1.0编译就会有。这个文件是不是在2.0下不能生成啊,所以你clean之后就找不到了。 ...

刚才试了下,直接更新cy_boot就可以编译通过,不知道你在“天冷了,跑几步”你的工程是不是这么改的,不然应该编译通不过吧(你图上红色的字都还在)
10#

nemon

发表于 2012-12-17 14:31:58 | 只看该作者

红字只是提醒,编译时报一个waring,不影响的
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条