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

TMS320F280025C: HIC使用问题

Part Number:TMS320F280025COther Parts Discussed in Thread:C2000WARE

1、HIC模块GCR寄存器配置非0xA值时,外部主机无法访问HIC模块可写寄存器?

2、数据接口配置为8位时,外部连续偶地址写HIC寄存器,写入数据与手册相关介绍不一致。

Cherry Zhou:

您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!

,

zhou jin:

谢谢

,

Cherry Zhou:

zhou jin 说:HIC模块GCR寄存器配置非0xA值时,外部主机无法访问HIC模块可写寄存器?

是的,此字段可以阻止外部主机向邮箱寄存器和device region写入数据。

zhou jin 说:2、数据接口配置为8位时,外部连续偶地址写HIC寄存器,写入数据与手册相关介绍不一致。

请问您指的写入数据和手册介绍不一致具体是什么含义?能否提供一个例子?

,

zhou jin:

1、第1个问题,按您说的,那就与手册介绍不一致呀,手册是说非0xA值,还可以写HIC中外部主机可写的寄存器。

2、第2个问题,例如:地址0x40写数据,接着0x44写数据,此时第一个数还未完成打包,第二个数的地址却超过了第一个数打包地址的边界,就触发了错误,手册上是说丢弃第一个写的数,实际测试是保留下来了。

,

Cherry Zhou:

zhou jin 说:1、第1个问题,按您说的,那就与手册介绍不一致呀,手册是说非0xA值,还可以写HIC中外部主机可写的寄存器。

您好,感谢您的指正,手册在这里写得不是很清楚,我们将在下次版本更新时修订这一点。简言之,如果 GCR 具有非 0xA 值,主机将不能访问寄存器或器件区域。

zhou jin 说:2、第2个问题,例如:地址0x40写数据,接着0x44写数据,此时第一个数还未完成打包,第二个数的地址却超过了第一个数打包地址的边界,就触发了错误,手册上是说丢弃第一个写的数,实际测试是保留下来了。

您是指,当您尝试在packing边界之外的非连续地址时,您看到第一次写入仍然有效,而不是被丢弃?

,

zhou jin:

是的

,

zhou jin:

您好!请问与0025c例程对通的emif程序能提供下吗?

The example demonstrates the following sequences//! 1. Sending a message to the Host using Device to Host buffer,Passing a token//! which triggers an interrupt at the Host.//! 2. Waits for the Host to clear the interrupt.//! 3. Then waits for a message from Host which contains the code 0x1 in//! buffer index 0 and index 1 contains the Base address to be configured//! 4. Configures the base address for Page 0//! 5. Sends a message to Host after that is configured//! 6. After this step the external host can use the address 0-0xFF//! to access the Base address region in System memory

这是指邮箱模式下的例程吗?那0-FF能访问0025c的外设空间?

,

Cherry Zhou:

帮您跟进下问下哈,有答复会尽快给到您。

,

zhou jin:

非常感谢您!主要是用贵公司例程时发现跟理解的有点没对应上。

,

Cherry Zhou:

您好,

zhou jin 说:是的

关于这个问题工程师需要确认下是否正常,有确定的答案会尽快给到您。

 关于示例,c2000ware ex., 'hic_ex2_config_8bit_adc' 是使用邮箱模式的,其对应的Emif代码位于 <C2000Ware InstallDir>\driverlib\f2838x\examples\c28x\emif\CCS\emif_ex8_8bit_asram_hic_adc

如 TRM 和app note所示,邮箱模式下,访问仅限于 HIC 寄存器空间。 主机设备的 CPU 或者 DMA 应访问所需要的外设,并且将数据复制到 HIC 邮箱寄存器中(或者从 HIC 邮箱寄存器中复制)。

,

zhou jin:

嗯嗯~收到!感谢!主要是第一个对例程的说明,跟手册说的感觉没对应上,期待您后续的解答。

,

Cherry Zhou:

您好,很抱歉回复晚了。从初始分析来看,第一次写入似乎是不会被忽略的。 我们正在尝试通过内部仿真进行确认,预计在 2-3 天内给到您新的反馈。 

,

zhou jin:

感谢

,

Cherry Zhou:

您好,工程师在不同的配置下重新实验过,结果是如果第二次写入超出了封装边界,第一个写入会被忽略。 您能否提供以下信息,以便我们更好地解决您的问题:

主机和器件之间的 IO 连接
配置选项: HICMODECR、 HICHOSTCR
从主机放置的访问

十分感谢!

,

zhou jin:

1.emif端口连接,8bits,按照官方文档提供的端口信号连接关系做的。

2.MODECR=0xF40 HOSTCR未配置

3. 8bits-16bits pack:写地址40,41,42,44,45,此时报错44,45与44打包的16位数据的低8位是42的数;

写地址40,42,41,43,不报错,41与40打包,43与42打包。

,

Cherry Zhou:

感谢您提供的详细信息。 工程师正在做实验,有新的结果会尽快给到您。

此外,方便说下您为什么尝试这些ilegal序列吗? 封装逻辑错误功能旨在捕捉应用开发过程中的任何意外缺失。

,

zhou jin:

第一次使用,所以想了解多一点!正如您所说,想了解下出错时的容忍程度,以便系统的设计。

,

Cherry Zhou:

抱歉回复晚了,我们进行了仿真实验,当序列: 40,41,42,4445 被启动时,写入 41 会被提交,并且packing在地址 44 处被违反。 此时会生成错误和相应的中断。 此时应该停止针对该错误的进一步事务处理,并且任何超过该点的写入都会导致意外写入,因为状态机已经处于错误状态。 您的该问题就是由于写入 45 的尝试超出了该点,因此导致了一个目标写入。

,

zhou jin:

是的!也就是说不管后续怎样,系统正常工作就改认为错了需要打断正常操作是吗?不应该存在说错误容忍的可能?

,

Cherry Zhou:

您好,在您提到的序列中,只有当地址 0x44 被发送时,才会违反封装,错误也是在这个时候产生的。因此封装和错误处理是如预期一般正常工作的。 是这样的对吗?

只有被写入的数据是地址 0x42,是因为地址 0x45 的写入发生在错误条件之后,如果存在超出错误条件的访问,就无法保证是否会发生错误。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F280025C: HIC使用问题
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1