Copyright (c) Hyperion Entertainment and contributors.
Difference between revisions of "Xena Resource"
Jump to navigation
Jump to search
Steven Solie (talk | contribs) |
|||
(One intermediate revision by the same user not shown) | |||
Line 3: | Line 3: | ||
The Xena Resource provides access to the Xena chip on the AmigaOne X1000. Two functions allow you to use the Xena chip. |
The Xena Resource provides access to the Xena chip on the AmigaOne X1000. Two functions allow you to use the Xena chip. |
||
− | ''' |
+ | '''Xena Resource Functions''' |
{| class="wikitable" |
{| class="wikitable" |
||
− | | AllocResource || Obtain exclusive access to Xena resources. |
+ | | AllocResource() || Obtain exclusive access to one of the Xena resources. |
|- |
|- |
||
| FreeResource() || Returns a resource to the system. |
| FreeResource() || Returns a resource to the system. |
||
Line 17: | Line 17: | ||
| AutoDocs || [[xenares.doc]] |
| AutoDocs || [[xenares.doc]] |
||
|} |
|} |
||
+ | |||
+ | There are four separate resources that may be requested. |
||
+ | The application must secure as many as it requires to access the Xena system. |
||
+ | XR_XTAGPORT is for access to the JTAG control lines that access the Xena chip and any additional devices on the Xorro board. |
||
+ | XR_DATABUS is for the fast Localbus access to Core0. |
||
+ | XR_INTERRUPT is used for Xena to interrupt the PA6T when it needs attention. This is likely to be used with XR_DATABUS |
||
+ | XR_LONELYBIT is the extra unassigned pin |
||
+ | |||
+ | Example code to use the XTAG port: |
||
+ | <syntaxhighlight> |
||
+ | #include <proto/xena.h> |
||
+ | #include <resources/xena.h> |
||
+ | struct XenaIFace *IXena; |
||
+ | IXena = IExec->OpenResource("xena.resource"); |
||
+ | if(NULL == IXena) |
||
+ | { |
||
+ | exit(-5); |
||
+ | } |
||
+ | STRPTR result = IXena->AllocResource(XR_XTAGPORT, "MyAppName"); |
||
+ | if(NULL == result) |
||
+ | { |
||
+ | // we have exclusive access, |
||
+ | // code using the JTAG port goes here |
||
+ | |||
+ | //when finished, just |
||
+ | IXena->FreeResource(XR_XTAGPORT); |
||
+ | } |
||
+ | else |
||
+ | { |
||
+ | IDOS->Printf("We cannot access the port because %s got here first\n", result); |
||
+ | } |
||
+ | </syntaxhighlight> |
Latest revision as of 03:47, 24 May 2012
Xena Resource
The Xena Resource provides access to the Xena chip on the AmigaOne X1000. Two functions allow you to use the Xena chip.
Xena Resource Functions
AllocResource() | Obtain exclusive access to one of the Xena resources. |
FreeResource() | Returns a resource to the system. |
Xena Resource Information | |
---|---|
Includes | resources/xena.h |
AutoDocs | xenares.doc |
There are four separate resources that may be requested. The application must secure as many as it requires to access the Xena system. XR_XTAGPORT is for access to the JTAG control lines that access the Xena chip and any additional devices on the Xorro board. XR_DATABUS is for the fast Localbus access to Core0. XR_INTERRUPT is used for Xena to interrupt the PA6T when it needs attention. This is likely to be used with XR_DATABUS XR_LONELYBIT is the extra unassigned pin
Example code to use the XTAG port:
#include <proto/xena.h> #include <resources/xena.h> struct XenaIFace *IXena; IXena = IExec->OpenResource("xena.resource"); if(NULL == IXena) { exit(-5); } STRPTR result = IXena->AllocResource(XR_XTAGPORT, "MyAppName"); if(NULL == result) { // we have exclusive access, // code using the JTAG port goes here //when finished, just IXena->FreeResource(XR_XTAGPORT); } else { IDOS->Printf("We cannot access the port because %s got here first\n", result); }