<?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>check the input &amp;amp; ouput of Triscend E5 I/O pin</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/14834/check-the-input-ouput-of-triscend-e5-i-o-pin</link><description> Hi, can anyone tell me how to 
set the input and check the output 
of Triscend E5 I/O pins when debugging 
in uvision 2? Thanks. </description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: check the input &amp; ouput of Triscend E5 I/O pin</title><link>https://community.arm.com/thread/129709?ContentTypeID=1</link><pubDate>Fri, 18 Jan 2002 17:35:28 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b6221022-7816-4bb0-9394-053bd194669b</guid><dc:creator>Minkui Liu</dc:creator><description>&lt;p&gt;Thx all for your inputs.I really&lt;br /&gt;
appreciate it. Again, sincere thanks&lt;br /&gt;
to all.&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: check the input &amp; ouput of Triscend E5 I/O pin</title><link>https://community.arm.com/thread/121707?ContentTypeID=1</link><pubDate>Fri, 18 Jan 2002 08:50:21 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b7a81216-62ac-43d2-9ab6-73d0b4b853d5</guid><dc:creator>Alex Ruiz</dc:creator><description>&lt;p&gt;Reserved XDATA addresses and non CSL implemented stuff are placed in a &lt;i&gt;TE5_CSOC.H&lt;/i&gt; file.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;TE5_CSOC.H

* $Id: //depot/software/FC220/include/TE5_CSOC.h#5 $ */
/***************************************************************************
 * Triscend E5 CSoC Device Common Register Definition File
 *
 * This file applies to all members of the Triscend E5 device family.
 *
 * Copyright (c) 2000, 2001 Triscend Corporation. All rights reserved.
 ***************************************************************************
 */

#ifndef _TE5_CSOC_H
#define _TE5_CSOC_H

/***************************************************************************
 * E5 SFR defintions
 ***************************************************************************
 */

/***************************************************************************
 * BYTE Registers
 ***************************************************************************
 */
/* Unused SFR locations [0x80,0xff] are available for use by a soft module. */
//sfr P0    =   0x80;   /* to be exported and implemented in CSL */
sfr SP      =   0x81;
sfr DPL     =   0x82;
sfr DPH     =   0x83;
sfr DPL1    =   0x84;
sfr DPH1    =   0x85;
sfr DPS     =   0x86;
sfr PCON    =   0x87;
sfr TCON    =   0x88;
sfr TMOD    =   0x89;
sfr TL0     =   0x8a;
sfr TL1     =   0x8b;
sfr TH0     =   0x8c;
sfr TH1     =   0x8d;
sfr CKCON   =   0x8e;
/* unused: 0x8f */
//sfr P1    =   0x90;   /* to be exported and implemented in CSL */
/* unused: [0x91,0x97] */
sfr SCON    =   0x98;

...

***************************************************************************
 * E5 Configuration Register Unit (CRU) defintions
 ***************************************************************************
 */

/* All addresses in the range [0xff00,0xffff] are reserved */
#define CMAP0_TAR	(*((unsigned char volatile xdata*) 0xff00))
#define CMAP0_ALT	(*((unsigned char volatile xdata*) 0xff01))
#define CMAP1_TAR_0	(*((unsigned char volatile xdata*) 0xff02))
#define CMAP1_TAR_1	(*((unsigned char volatile xdata*) 0xff03))
...&lt;/pre&gt;
&lt;br /&gt;
All your module register declarations will be placed in the &lt;i&gt;&amp;lt;yourprojname&amp;gt;.c&lt;/i&gt; file, right after some macro definition.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;#ifdef TASKING_TOOLS
#   define SFR_BIT(name,location) _sfrbit name _at( location );
#   define SFR_BYTE(name,location) _sfrbyte name _at( location );
#   define CHAR_XDATA(name,location) volatile unsigned char _xdat name _at( location );
#   define CHAR_ARRAY_XDATA(name,location,size) volatile unsigned char _xdat name[size] _at( location );
#else
#   define SFR_BIT(name,location) sbit name = location;
#   define SFR_BYTE(name,location) sfr name = location;
#   define CHAR_XDATA(name,location) volatile unsigned char xdata name _at_ location;
#   define CHAR_ARRAY_XDATA(name,location,size) volatile unsigned char xdata name[size] _at_ location;
#endif
#define USE_PROJECT_FILE_MACRO

/* add &amp;lt;FastChip install directory&amp;gt;\include to the compiler include path */
#include &amp;lt;TE5_CSOC.h&amp;gt;


// ========= BEGIN SOFT MODULE REGISTER DECLARATIONS ======
    &lt;b&gt;SFR_BYTE (P1,0x90)&lt;/b&gt;
// 
//     SELECTOR WITH USER ASSIGNED ADDRESS   
// 

// ========== END SOFT MODULE REGISTER DECLARATIONS =======
&lt;/pre&gt;
&lt;br /&gt;
&lt;i&gt;FastChip Version 2.3.0 Build 011129-0916&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
- Alex&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: check the input &amp; ouput of Triscend E5 I/O pin</title><link>https://community.arm.com/thread/109947?ContentTypeID=1</link><pubDate>Fri, 18 Jan 2002 03:53:55 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:818d7e7e-6406-482c-825b-a6e8c4b801e0</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;i&gt;&amp;quot;Triscend tools will place the the addresses of the registers in the file &lt;b&gt;triscend.h&lt;/b&gt;.&amp;quot;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Actually, that file will be called &lt;i&gt;&amp;lt;project&amp;gt;&lt;/i&gt;&lt;b&gt;.h&lt;/b&gt;, where &lt;i&gt;&amp;lt;project&amp;gt;&lt;/i&gt; is the name of your &lt;i&gt;FastChip&lt;/i&gt; Project.&lt;br /&gt;
&lt;br /&gt;
You will also need to add the corresponding &lt;i&gt;&amp;lt;project&amp;gt;&lt;/i&gt;&lt;b&gt;.c&lt;/b&gt; to your &lt;i&gt;uVision&lt;/i&gt; Project.&lt;br /&gt;
&lt;br /&gt;
Note that &lt;i&gt;FastChip&lt;/i&gt; v2.3.0 will truncate this to 8.3 characters&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: check the input &amp; ouput of Triscend E5 I/O pin</title><link>https://community.arm.com/thread/94942?ContentTypeID=1</link><pubDate>Fri, 18 Jan 2002 03:31:51 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:95fc60be-6c78-4f9e-83ad-1c75dcbed6e7</guid><dc:creator>Graham Cole</dc:creator><description>&lt;p&gt;The Triscend tools allow you to create devices in the programmable logic. The tools allow you to define registers that may be accessed by the processor as either xdata addresses or SFR addresses. &lt;br /&gt;
&lt;br /&gt;
In the case of SFRs, addresses will be allocated to the registers that are not currently used by any existing SFR.&lt;br /&gt;
&lt;br /&gt;
In the case of xdata, addresses will be allocated to the registers from the high end addresses not currently used by the E5.&lt;br /&gt;
&lt;br /&gt;
Generally speaking it is better to choose SFR addresses for quick access. The only compelling reason to choose xdata addresses is where you want to be able to point to the registers. For example, several identical UARTs are constructed in the programmable logic and you wish to handle them all with the same driver software. With the UART registers defined in xdata, the driver software may be invoked with a different pointer to access each UART.&lt;br /&gt;
&lt;br /&gt;
In any case, xdata or SFR, the Triscend tools will place the the addresses of the registers in the file triscend.h. This file can be included into any C module that requires to access the programmable logic.&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: check the input &amp; ouput of Triscend E5 I/O pin</title><link>https://community.arm.com/thread/54117?ContentTypeID=1</link><pubDate>Thu, 17 Jan 2002 19:34:30 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:e45792bc-ded3-47cd-b4c3-231e4c148be0</guid><dc:creator>Minkui Liu</dc:creator><description>&lt;p&gt;thx for the reply. sorry i am new&lt;br /&gt;
in using the tools. can u explain&lt;br /&gt;
how i should use the address? i implemented&lt;br /&gt;
I2C bus in the CSL on E5, then associated&lt;br /&gt;
the SDA and SCL to two E5 PIO pins. &lt;br /&gt;
can u tell me how to map them into addresses&lt;br /&gt;
or export them into SFRs? thx a lot.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: check the input &amp; ouput of Triscend E5 I/O pin</title><link>https://community.arm.com/thread/38276?ContentTypeID=1</link><pubDate>Thu, 17 Jan 2002 04:15:01 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:01766f7b-c244-4c9f-917c-fcb0053a27c4</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;If you&amp;#39;ve exported them as the standard SFRs, they should work just like any other variant; &lt;i&gt;eg,&lt;/i&gt; &lt;b&gt;P3&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise, use the addresses.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>