MCF52259 在以太网和USB中的应用
MCF52259 是基于V2 ColdFire 微架构的高度集成的32 位微控制器,包括64 KB 的内部SRAM,512 KB 的Flash 内 存,1 个快速以太网控制器,1 个USB OTG 控制器,1 个 外部总线接口, 4 个32 位定时器, 1 个4 通道DMA 控制 器, 2 个IIC 模块, 3 个UART 和1 个队列SPI。 MCF52259 系列适用于通用的工业控制应用。
InterNiche
ColdFire® TCP/IP 堆栈是公共源堆栈,可应用于ColdFire 系列处理器。它可以分成两大部分:小型TCP 层库 和小型IP 层库。另外,它还包括一个虚拟文件系统(VFS),该系统支持美国信息互换标准码(ASCII)和 二进位数据,并且与名为NicheTask 的轮询任务系统集成。
从NicheTask 的 usb-mass-host-task.c 中调用API
在 usb-mass-host-task.c 中,创建一个名为 create_cmxusb_task() 的功能,它被用来支持NicheTask。它是从支持NicheTask 的标准输入/ 输出任务对象 tk_keyboard 调用,上电复位后它就被添加到任务控制模板(TCB)表格里。
TK_ENTRY(tk_keyboard)
{
for (;;)
{
TK_SLEEP(1); /* make keyboard yield some time */
kbdio(); /* let Iniche menu routines poll for char */
keyboard_wakes++; /* count wakeups */
#ifdef MCF52259
if((usbmst_attach == 1)&&(usbtsk_created == 0))
{
create_cmxusb_task();
usbtsk_created = 1;
}
else if((usbmst_attach == 0)&&(usbtsk_created == 1))
{
tk_kill(to_cmxmasshosttask);
usbtsk_created = 0;
}
#endif
if (net_system_exit)
break;
}
TK_RETURN_OK();
}
**来源:http://www.originic.hk/Item/Show.asp?m=1&d=1964 |