<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Tasking  Keil compiler conversions</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/29751/tasking-keil-compiler-conversions</link><description> 
Hi, 

 
I&amp;#39;ve some questions about the Cx51 keil development: 

 
I&amp;#39;ve one c-file which must be converted from Tasking compiler to
the keil compiler 

 
_sfrbyte x _at(y) (Tasking Compiler) -&amp;gt; Sfr(x, y) (Keil compiler)?????
 

 
Are these conversions</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Tasking  Keil compiler conversions</title><link>https://community.arm.com/thread/127245?ContentTypeID=1</link><pubDate>Wed, 30 Nov 2011 13:16:02 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:adf30da5-4c59-4e55-82e6-ae5eb1d8d9bc</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;p&gt;
A compiler doesn&amp;#39;t &lt;b&gt;run&lt;/b&gt; code - it just
&lt;i&gt;&lt;b&gt;translates&lt;/b&gt;&lt;/i&gt; it.&lt;/p&gt;

&lt;p&gt;
So, as long as this &amp;quot;TUSB6250&amp;quot; thing uses the standard 8051
instruction set (which it almost certainly does), you can use
&lt;i&gt;&lt;b&gt;any&lt;/b&gt;&lt;/i&gt; compiler that generates standard 8051 output - that
is the beauty of a standard architecture like the 8051 (or ARM)!&lt;/p&gt;

&lt;p&gt;
When you select a target device in uVision, that is just
configuring the tools for the &lt;i&gt;&amp;quot;peripheral&amp;quot;&lt;/i&gt; features of the
specific chip - SFRs, memory sizes, etc - it makes no difference to
the basic instruction set!&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Tasking  Keil compiler conversions</title><link>https://community.arm.com/thread/127252?ContentTypeID=1</link><pubDate>Wed, 30 Nov 2011 08:36:53 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:560dae17-6d5c-412a-8835-1dc6c7b1cae1</guid><dc:creator>erik malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;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?&lt;/i&gt;&lt;br /&gt;
I do not know, maybe SDCC&lt;br /&gt;
the keil eval is a)not for commercial purposes, b) linkes at 4k-up
and c)limited to 2k&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;do not change, get rid of.&lt;br /&gt;
Do you think that this code isn&amp;#39;t needed or better said must be
updated so that it works?&lt;/i&gt;&lt;br /&gt;
I, obviously, have no idea if it is &amp;#39;needed, but it should be
eliminated not &amp;quot;so that it works&amp;quot; but &amp;quot;so that the compiler has a
chance to generate good code&amp;quot;&lt;/p&gt;

&lt;p&gt;
Erik&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Tasking  Keil compiler conversions</title><link>https://community.arm.com/thread/116622?ContentTypeID=1</link><pubDate>Wed, 30 Nov 2011 08:32:19 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:80f01558-9f86-4890-845a-bc8bcc418ccf</guid><dc:creator>Jens Nonnewitz</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;they use the Tasking Compiler, but the free version has some
code size restrictions so that I couldn&amp;#39;t use it.&lt;br /&gt;
then I hope you have a full Keil&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
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?&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;do not change, get rid of.&lt;/i&gt;&lt;br /&gt;
Do you think that this code isn&amp;#39;t needed or better said must be
updated so that it works?&lt;/p&gt;

&lt;p&gt;
best regards&lt;br /&gt;
Jens&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Tasking  Keil compiler conversions</title><link>https://community.arm.com/thread/105537?ContentTypeID=1</link><pubDate>Wed, 30 Nov 2011 08:25:10 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:aa0e938b-7d72-4bce-a27c-7af71f845b2e</guid><dc:creator>erik malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;they use the Tasking Compiler, but the free version has some
code size restrictions so that I couldn&amp;#39;t use it.&lt;/i&gt;&lt;br /&gt;
then I hope you have a full Keil&lt;/p&gt;

&lt;pre&gt;
typedef void (*pCALL)() REENTRANT;

void function()
{
  pCALL    pFunction;
  void  *pPara;
//some code
  pFunction( pPara );      //????
}
&lt;/pre&gt;

&lt;p&gt;
do not change, get rid of. It uses just about anything that should
be avoided when working with the &amp;#39;51. It is an unfortunate fact that
many that do not have even an inkling of the differences between a PC
and a &amp;#39;51 get published.&lt;/p&gt;

&lt;p&gt;
Erik&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Tasking  Keil compiler conversions</title><link>https://community.arm.com/thread/79802?ContentTypeID=1</link><pubDate>Wed, 30 Nov 2011 08:11:13 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b3855256-ec45-4f1e-a793-64df6d077a3f</guid><dc:creator>Jens Nonnewitz</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Erik,&lt;/p&gt;

&lt;p&gt;
thanks for your reply: I&amp;#39;m trying to create a working keil c51
programm to program the TUSB6250 controller from Texas Instruments.
Unfortunately, they use the Tasking Compiler, but the free version
has some code size restrictions so that I couldn&amp;#39;t use it.&lt;/p&gt;

&lt;p&gt;
Texas Instruments made these processor specifications:&lt;/p&gt;

&lt;pre&gt;
Processor Options:
Processor: Intel MCS 51 family
CPU (Special Function Registers): 8051
On-chip Data RAM Size: 256 bytes
External memory access allowed
Disable all interrupts at startup
&lt;/pre&gt;

&lt;p&gt;
So can I use anyone of the derivatives, using a 8051
processor?&lt;/p&gt;

&lt;p&gt;
Another short conversion for checking:&lt;/p&gt;

&lt;pre&gt;
_rom (Tasking Compiler) --&amp;gt; code (Keil compiler)
&lt;/pre&gt;

&lt;p&gt;
Moroever I don&amp;#39;t know how I should change the Texas Instruments
code at this position:&lt;/p&gt;

&lt;pre&gt;
typedef void (*pCALL)() REENTRANT;

void function()
{
  pCALL    pFunction;
  void  *pPara;
//some code
  pFunction( pPara );      //????
}

&lt;/pre&gt;

&lt;p&gt;
best regards&lt;br /&gt;
Jens&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Tasking  Keil compiler conversions</title><link>https://community.arm.com/thread/60137?ContentTypeID=1</link><pubDate>Wed, 30 Nov 2011 07:39:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:2d9c7eb3-60dd-4023-812a-12086bc3e3c4</guid><dc:creator>erik malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
... would cut the above questions to one or even zero.&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;Are these conversions are correct?&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;_xdat (Tasking compiler) --&amp;gt; xdata (Keil compiler)&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;_data (Tasking compiler) --&amp;gt; data (Keil compiler)&lt;/i&gt;&lt;br /&gt;
yes, but the position may be different (char data vs data char)&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;REENTRANT void function() (Tasking Compiler) --&amp;gt; void
function() REENTRANT; (Keil Compiler)&lt;/i&gt;&lt;br /&gt;
reentrant should be avoided for the &amp;#39;51 series of chips&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;Moreover do you know which controller I&amp;#39;ve to add to the keil
project if the &amp;quot;Intel MCS 51 family&amp;quot; is required?&lt;/i&gt;&lt;br /&gt;
there is no such thing as the &amp;quot;Intel MCS 51 family&amp;quot; any more, the
derivatives have derived far away. Keil has specific include files
for most derivatives&lt;/p&gt;

&lt;p&gt;
Erik&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>