Hi,
I've been studying the C6747 McASP driver code from PSP release 1.20.00. For our application, we need to reduce the size of this driver. Our goal is to have our entire application executing from L2 memory w/o need for external memory. Here is what I thought of doing:
- Have the driver only support a single McASP instance. We only use McASP1 in our application and are using McASP0 and 2 pins for other peripherals. It seems this will reduce the size of a few global variables and buffers. I suppose I could even dedicate the driver to just McASP1 but I don't think it's much savings over a single instance driver (user selects 0-2). Any attempt to create an instance on another McASP device would fail.
- Remove support for DIT mode. We have no need for this mode in our application.
- Remove code checks for "isDmaDriven" since the driver only works when this is TRUE.
- Have each function placed in a separate file and rebuild the library. Then unused functions aren't imported.
Any other suggestions for reducing the driver footprint would be helpful.
Here are general questions I have that might also help me reduce code size:
- If the application is executing entirely within L2 (and L3?), do I need to worry about cache issues? (e.g. calls to BCACHE_xxx, etc.)
- Which high-level (e.g. SIO_xxx) functions call the IOCTL functions? Would it be possible to eliminate the function "Mcasp_localSubmitIoctl" and the functions it calls?
Feel free to comment on any/all of these points.[;)]
thanks,
Mike