CCS+C6678LE开发记录18:解决EVM网口“DHCP配置无法获取IP”的问题

本文记录了在使用CCS+C6678LE开发时遇到的EVM网口DHCP配置无法获取IP的问题。通过检查错误代码和TI社区资源,发现可能原因在于DSP发送的DISCOVER报文未收到回应。尝试修改dhcp.h文件中的SZOPTIONS定义无效。最终,通过使用第三方DHCP Server工具成功让DSP获取到IP地址。这是一个临时解决方案,作者将持续关注并更新进展。

之前测试过程中曾经遇到如下问题:

将DSP的网络IP配置设置为DHCP方式会出现错误,无法获取IP地址,打印信息如下

[C66xx_0] Service Status: DHCPC    : Enabled  :          : 000 
[C66xx_0] Service Status: DHCPC    : Enabled  : Running  : 000 
[C66xx_0] Service Status: DHCPC    : Enabled  : Fault    : 002  

大概2分钟后循环一次,再次打印Fault: 002错误

// Errors
enum DhcpErrors
{
    DHCP_NOERROR=0,
    DHCP_ERR_ISSET,
    DHCP_ERR_NAK,
    DHCP_ERR_OFFER,
    DHCP_ERR_RECV,
    DHCP_ERR_REQUEST,

1. 综述...........................................................................................................................1 1.1 关键特性.......................................................................................................1 1.2 功能性综述...................................................................................................2 1.3 基础操作.......................................................................................................2 1.4 电源供给.......................................................................................................3 2. K7_CameraLink 板卡的介绍....................................................................................5 2.1 JTAG 仿真概述 ............................................................................................5 2.2 时钟分配.......................................................................................................5 2.3 串行 RapidIO 接.......................................................................................5 2.4 DDR3 外部存储器接 ...............................................................................6 2.5 PCIe 接......................................................................................................6 2.6 FMC 接 .....................................................................................................7 2.7 CameraLink 接..........................................................................................8 2.8 ESATA 接 .................................................................................................9 2.9 RS422 接...................................................................................................9 3. K7_CameraLink 板卡物理规格.............................................................................. 11 3.1 板卡布局..................................................................................................... 11 3.2 连接器.........................................................................................................13 3.2.1 FMC 连接器 ....................................................................................13 3.2.2 CameraLink 连接器.........................................................................21 3.3 开关.............................................................................................................22 3.4 系统 LED....................................................................................................22 4. 电源分配.................................................................................................................24
### CCS与TMS320C6678LE开发经验记录 在使用Code Composer Studio (CCS)进行TMS320C6678LE开发时,开发者需要完成硬件环境搭建、软件配置以及调试流程等多个关键步骤。以下是一些常见的开发经验总结,涵盖了从CCS配置到实际调试的典型操作。 #### 硬件连接与CCS配置CCS配置TMS320C6678LE开发环境时,首先需要打开CCS软件并加载目标配置文件。通常,开发者需要双击`TMS320C6678LE.ccxml`文件,进入“Basic”配置页面。在此页面中,“Connection”选项应选择“Blackhawk XDS560v2-USB Mezzanine Emulator”,而“Board or Device”则应选择“TMS320C6678”[^1]。这一设置确保了调试器能够正确识别目标设备并建立连接。 #### 启动与脚本配置 完成硬件配置后,下一步是加载和运行开发板所需的初始化脚本。通常,在加载程序之前,需要先运行特定的I²C参数配置文件,例如`i2cparam_0x50_tl6678_little_0x500.out`,以确保外部设备与DSP之间的通信正常[^2]。加载完成后,可以通过CCS的“Scripts”菜单选择`EVM TL6678 IBL -> SetConfig_TL6678_main`来配置IBL(Initial Boot Loader),该步骤对于后续的引导和运行至关重要。 #### 调试与问题排查 在调试过程中,开发者可能会遇到连接失败、脚本执行错误等问题。常见原因包括硬件连接不稳定、目标配置错误或脚本执行顺序不当。为确保调试顺利进行,建议开发者在执行脚本前确认I²C参数已正确加载,并检查目标板供电是否稳定。此外,使用CCS的日志功能可以帮助定位运行时错误,提升调试效率。 #### 示例代码片段 以下是一个简单的DSP初始化代码示例,用于在TMS320C6678LE上点亮LED,验证基本的GPIO操作: ```c #include <ti/csl/csl_gpio.h> void initGPIO() { CSL_GPIO_init(); CSL_GPIO_setDirection(0, 0); // 设置GPIO0为输出 } void toggleLED() { static Uint32 state = 0; CSL_GPIO_setData(0, state); // 设置GPIO0状态 state ^= 1; // 翻转状态 } int main() { initGPIO(); while (1) { toggleLED(); // 延时函数实现省略 } } ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值