Is the Multiply-Accumulate (MAC) Unit supported by the C51 compiler for the cygnal c8051f12x devices? How to use it?
Actually, in the C51 v7.20 release notes, we find: "Added support for the Silicon Labs C8051F12x multiply and accumulate unit (MAC0). The MDU_F120 directive enables use of MAC0 for int and long multiplication and long shift operations." http://www.keil.com/update/relnotes/c51v750.htm So there you have it - objection withdrawn, m'lud.
THANK YOU! THANK YOU! THANK YOU! This looks like what I really want! Now, I get to show my ignorance. I'm not as familiar with the Keil tools as I'd like to be (sorry but until this 8051 based project I've been using Tasking tools - I prefer a C++ compiler). For the most part I've been using Keil's tools through the silabs IDE (which looks like a modified version of the Keil IDE). Here is the "stupid" question... How do I use (invoke) this "MDU_F120" directive? No picking at me about the C++ comment please - there are lots of advantages to a C++ compiler, even in an embedded environment. You just have to understand what will be generated if you get carried away with things (and I used it with C167 and ST10, which are much more capable than an 8051).
In uVision, Open the Project Options Dialog and click on the C51 tab. Under Miscellaneous, enter MDU_F120. Jon
how is that cone from the commandline? Erik
I probably should have elaborated a little more. The silabs IDE uses the keil compiler, linker, etc but invokes it via command line. What I need to know is how to issue the directive as a command line argument. I'd much rather use the Keil tools than the silabs IDE but I don't know how to do that. The silabs development boards come with their own little JTAG adapter (download and debug) and the Keil tools don't recognize it, so I'm stuck with the silabs IDE (and they don't seem to have a command line interface to their JTAG adapter).
uVision shows you the command-line it generates - so just get uVision to show you? The C51 Manual describes both command-line invocation, and the corresponding uVision options.
What I need to know is how to issue the directive as a command line argument. Enter MDU_F120 on the command line. Jon
Thank you. As a side note, silabs now has a driver for their JTAG interface that works with uVision3 (so now I'm using uVision3!!!). Should anyone need it here is the (very long) link to it:
http://www2.silabs.com/tgwWebApp/appmanager/tgw/tgwHome;jsessionid=B1r9TpZyt3w0HwHBl4YGmQfbR1lbk2ZJN6vhBnwhkJmRHh4jWZCM!515573835?_nfpb=true&_pageLabel=GenericContentPage&contentObjectId=/public/web_content/products/Microcontrollers/en/mcu_keildriver.htm