基于EM-LPC1300开发板USB Memory Storage开发完成了,与大家分享

ye0217   2010-2-3 11:17 楼主
基于EM-LPC1300开发板USB Memory Storage开发完成了,与大家分享刚刚拿到英蓓特公司开发的EM-LPC1300开发板(芯片为NXP公司推出的LPC1343FBD48,功能很强大,特别是USB2.0全速接口,高达12MBPS。内核为Cortex-M3 主频72MHZ)网上都说,LPC1300系列USB功能非常强大,做USB开发可以像串口一样简单。所以很感兴趣。因为本人以前做过USB Memory Storage的开发,实现起来都不是很容易,鉴于此开发板USB功能如此有特色,所以就想在这个板子上实现USB Memory Storage,看是不是网上说的有那么强大。研究了很长时间终于顺利做出了USB Memory Storage的程序。发现EM-LPC1300这个板子确实不错,不说别的,就只说它的外观就和别的板子有的一拼。它的外观非常小巧,然而功能确不少,正所谓“麻雀虽小,五脏俱全”,真的是一块用来学习的好板子。别的不多说,用了就会知道。下面是我做这个板子USB Memory Storage开发时的一点小小经验,贴出来跟大家分享一下喜悦之情。 这个板子只有32KB Flash,8KB的RAM。所以我用FLAH中的14KB做为USB Memory Storage的存储空间。在实现的过程中,为了方便,直接将部分端点描述符比如驱动器名等还有初始状态里面存放的一个小txt文件内容都通过const关键字将他们全放在了DiskImage[MSC_ImageSize]缓冲区。程序启动时将它从FLASH搬到RAM中,这样在USB_Init时直接从RAM中取就可以了。Main函数非常简单,如下所示:
int main (void) {

uint32_t n;


for (n = 0; n < MSC_ImageSize; n++) {
/* Copy Initial Disk Image */


Memory[n] = DiskImage[n];
/*
from Flash to RAM
*/


}


SystemInit();


/* NVIC is installed inside UARTInit file. */


UARTInit(115200);




printf("\n\r-- Basic USB Mem Project V1.0 --\n\r");


printf("\n\r-- EM-LPC1300 --\n\r");


printf("\n\r-- USB Memory Storage test --\n\r");



USBIOClkConfig();



USB_Init();
/* USB Initialization */


USB_Connect(TRUE);
/* USB Connect */



while (1);
/* Loop forever */

}
这个板子上的硬件资源有:  LPC1343(32位RISC性能处理器)32位ARM Cortex-M3结构优化,72MHz运行频率 ? 8个LED 发光管,1个电源发光管 1个mini型USB 插座,支持全速USB 2.0  1个BOOT按键 1个RESET 按键  1个UART支持RS-485/EIA-485  SSP接口  I2C接口  8通道10位ADC模块  1个JTAG/SWD调试接口 供电方式: USB供电
参考网址 http://www.embedinfo.com/list.asp?id=333

[ 本帖最后由 ye0217 于 2010-2-3 14:13 编辑 ]

回复评论 (1)

哈哈,这玩意儿是你写的吗?
点赞  2010-2-8 11:28
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复