Getting Started with the StarterKit

All technical discussions and projects around startKIT
IraqiGeek
Member++
Posts: 23
Joined: Wed Dec 18, 2013 3:10 pm

Post by IraqiGeek »

richard wrote: I'm not sure what you mean - the documentation has the code needed to reconfigure the port inline with the text. You can get the complete example by concaternating all the code in this section.
Since the rest of the document, and most other XMOS documents that had code, usually begin by posting all the code, then decompose it explaining what each line is doing, I thought this was worth pointing out.
richard wrote: Usually the examples are also available from the HowTo tab of the xTIMEcomposer. However in this case the example isn't available yet (it's in a queue to be published). For now I've posted the complete example below:

Code: Select all

#include <xs1.h>

out port p = XS1_PORT_1A;

int main() {
  out port * movable pp = &p;
  buffered out port:32 * movable buffered_p;

  buffered_p = reconfigure_port(move(pp), buffered out port:32);
  *buffered_p <: 0xa0a0a0a0;
  pp = reconfigure_port(move(buffered_p), out port);

  return 0;
}
Thanks :)


IraqiGeek
Member++
Posts: 23
Joined: Wed Dec 18, 2013 3:10 pm

Post by IraqiGeek »

Finally had the time to finish my xTIMEcomposer hello world tutorial:

xTIMEcomposer Hello World[/list]

Edited the first post to add it to the list.

I'd really really really appreciate input and some tips and tricks on using xTIMEcomposer as I'm planning on expanding the hello world project in my next post to cover basic concurrency and channel communication.
IraqiGeek
Member++
Posts: 23
Joined: Wed Dec 18, 2013 3:10 pm

Post by IraqiGeek »

And one more installmenet: The Concurrent Blinkies

I wanted to have the threads declared to run explicitly on specific cores using

Code: Select all

on tile[0].core[x]:
But got "statement placed on a core must be call to combinable function" errors. Googling for that led me to this recent thread on the forums. The same search also lead me to the Programming real time multicore applications which describes cooperative multitasking on page 9. Is there any document, besides that, that talks about cooperative multitasking in more detail?
User avatar
sethu_jangala
XCore Expert
Posts: 589
Joined: Wed Feb 29, 2012 10:03 am

Post by sethu_jangala »

IraqiGeek wrote:And one more installmenet: The Concurrent Blinkies

I wanted to have the threads declared to run explicitly on specific cores using

Code: Select all

on tile[0].core[x]:
But got "statement placed on a core must be call to combinable function" errors. Googling for that led me to this recent thread on the forums. The same search also lead me to the Programming real time multicore applications which describes cooperative multitasking on page 9. Is there any document, besides that, that talks about cooperative multitasking in more detail?
You cannot have the logical cores(threads) declared to run explicitly on specific cores as this does not make any difference in the execution as all the cores run independently. You can do it only while you are using two combinable tasks to specify which core the task has to run on. You can find more details about combinable task in the following document:
https://www.xmos.com/download/public/XM ... o-C(D).pdf

Usage of all these features are available as xSOFTip examples in the How To tab of the xTIMEcomposer tool.

Sethu.
wadebrown
Junior Member
Posts: 4
Joined: Fri Feb 28, 2014 6:06 pm

Post by wadebrown »

AJB2K3 wrote: There is a document which contains a listing of every pinout on the startkit available from the startkit mini site!
Maybe I am an idiot, some have told me that. I am unable to find the doc with the mapping of the pins on the startKit board to ports on the MCU, so could you share the link with one of the great unwashed masses?

Thanks
wade
wadebrown
Junior Member
Posts: 4
Joined: Fri Feb 28, 2014 6:06 pm

Post by wadebrown »

Like I said sometimes I can be an idiot, the hardware manual is the obvious place to look.

Thanks that solves this problem,

wade
Post Reply