CCS+C6678LE开发记录08:以太网接口测试示例之代码研究

本文深入研究了CCS+C6678LE开发中的以太网接口测试代码,通过精简原始示例并添加少量代码以理解其工作原理。在EVM_init()初始化后,创建了两个任务Task1和Task2,Task1负责网络配置,启动网络服务并等待连接。Task2中设置了计数器,当条件满足时停止执行。测试过程通过PC与设备交互,展示了程序运行情况。

本文是针对CCS+C6678LE开发记录06:以太网接口测试的后续研究。

在已经通过测试之后我想研究一下测试用例的实现原理,至少应该明白大致原理。

为了方便贴代码,我将原始实例的代码做了精简;

为了探索其原理,我修改/添加了少量代码。

主要代码如下

#include <stdio.h>
#include <ti/ndk/inc/netmain.h>
#include <ti/sysbios/BIOS.h>
#include <ti/sysbios/knl/Task.h>
#include <xdc/runtime/Error.h>
#include <xdc/runtime/System.h>
#include "ti/platform/platform.h"
#include "ti/platform/resource_mgr.h"

static int counter=0;
static HANDLE hHello=0;
char *HostName    = "TMS320C6678";
char *LocalIPAddr = "169.254.11.119";   // My PC Local IP
char *LocalIPMask = "255.255.255.0";    // Not used when using DHCP
char *GatewayIP   = "192.168.2.101";    // Not used when using DHCP
char *DomainName  = "demo.net";         // Not used when using DHCP
char *DNSServer   = "0.0.0.0";          // Used when set to anything but zero
Uint8 clientMACAddress[6] = {0x01, 0x02, 0x03, 0x04, 0x0C, 0xEF}; /* MAC Addr */


static void   NetworkOpen();
static void   NetworkClose();
static void   NetworkIPAddr(IPN IPAddr, uint IfIdx, uint fAdd);
extern int    dtask_udp_hello();

void EVM_init()
{
	printf("\nEVM_Init()\n");
	platform_init_flags   sFlags;
	platform_init_config  sConfig;
	memset( (void *) &sFlags,  0, siz
### 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(); // 延时函数实现省略 } } ``` ###
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值