现在到了能看懂usb_descriptor.c的程度,继续说下自己不明白的地方,求帮助。
1、C:\freescale\Freescale USB Stack v4.1.1\Documentation这里的文档USBUG--5.3 Developing an Application指出,需要复制一些源文件,并新建new_app.c 和 new_app.h。是不是说,这个new_app.c里面就是开发者所要实现的应用层的内容?而底层的那些device driver,class drive可以直接用?
2、C:\freescale\Freescale USB Stack v4.1.1\Source\Device\app\msd中的disk.h有如下代码(红色):
#if RAM_DISK_APP
/* Change this to suit the available RAM size on the device */
#ifndef __HIWARE__
#define TOTAL_LOGICAL_BLOCKS_ADDRESS (2)
/* Length of each logical block address */
#define LENGTH_OF_EACH_LBA (512)
#else
#define TOTAL_LOGICAL_BLOCKS_ADDRESS (1)
/* Length of each logical block address */
#define LENGTH_OF_EACH_LBA (256)
#endif
/* Total number of logical blocks present */
#define DISK_SIZE (LENGTH_OF_EACH_LBA * TOTAL_LOGICAL_BLOCKS_ADDRESS)
#endif
文档说了这个头文件很重要,虽然注释很详细了,可是我还是不能把这些宏与特定的address或者block联系起来,不知道哪些数值该有具体的什么参数确定。我用的是8MB的SPI flash,又加了FAT文件系统,就更不知道这些值该怎么改了。
3、C:\freescale\Freescale USB Stack v4.1.1\Source\Device\app\msd中的disk.c文件中有一个Disk_App函数,里面只有一个return。这个函数是干嘛的?请问这里需要填充代码吗?(这个问题很白痴。。。可是就是不明白。。。)