Hi,
I've some questions about the Cx51 keil development:
I've one c-file which must be converted from Tasking compiler to the keil compiler
_sfrbyte x _at(y) (Tasking Compiler) -> Sfr(x, y) (Keil compiler)?????
Are these conversions are correct?
_xdat (Tasking compiler) --> xdata (Keil compiler)
_data (Tasking compiler) --> data (Keil compiler)
REENTRANT void function() (Tasking Compiler) --> void function() REENTRANT; (Keil Compiler)
Moreover do you know which controller I've to add to the keil project if the "Intel MCS 51 family" is required?
best regards Jens
they use the Tasking Compiler, but the free version has some code size restrictions so that I couldn't use it. then I hope you have a full Keil
typedef void (*pCALL)() REENTRANT; void function() { pCALL pFunction; void *pPara; //some code pFunction( pPara ); //???? }
do not change, get rid of. It uses just about anything that should be avoided when working with the '51. It is an unfortunate fact that many that do not have even an inkling of the differences between a PC and a '51 get published.
Erik
We only have the ARM version of the MDK. Do you know a free 8051 compiler where I can run the code for the TUSB6250?
do not change, get rid of. Do you think that this code isn't needed or better said must be updated so that it works?
We only have the ARM version of the MDK. Do you know a free 8051 compiler where I can run the code for the TUSB6250? I do not know, maybe SDCC the keil eval is a)not for commercial purposes, b) linkes at 4k-up and c)limited to 2k
do not change, get rid of. Do you think that this code isn't needed or better said must be updated so that it works? I, obviously, have no idea if it is 'needed, but it should be eliminated not "so that it works" but "so that the compiler has a chance to generate good code"
A compiler doesn't run code - it just translates it.
So, as long as this "TUSB6250" thing uses the standard 8051 instruction set (which it almost certainly does), you can use any compiler that generates standard 8051 output - that is the beauty of a standard architecture like the 8051 (or ARM)!
When you select a target device in uVision, that is just configuring the tools for the "peripheral" features of the specific chip - SFRs, memory sizes, etc - it makes no difference to the basic instruction set!