XMOS Cookbook

XCore Project reviews, ideas, videos and proposals.
User avatar
russf
XCore Addict
Posts: 146
Joined: Thu Dec 10, 2009 10:17 pm

XMOS Cookbook

Post by russf »

Version: 0.1
Status: Public release
License: BSD
Download: http://github.com/XMOSCookbook/xmos_network_modules

This is an experiment in combining packages for XMOS devices in a more flexible way than shipping around zip files. Using zip files is sooo.... 1991, and tends to lose all the valuable little bits of IP that each developer adds to a codebase, just because it's hard to send changes upstream. Using git also makes it easy to update modules in a project, to obtain fixes and improvements.
The work is taking place here http://github.com/XMOSCookbook. The first target is the xmos TCP/IP stack as delivered for the XC-2 board.
Short instructions to give it a try

First, get git installed, if you don't already have it.
Create a github account and log in.
Create a fork of the project. To do this, you simply click the “fork” button on the project’s page. When the fork has completed, you will be presented with your new repo information.
Now clone the fork to get a copy on your local filesystem. Make sure you use the Private URL and not the Public one, and first of all cd to where you keep your workspaces.

cd ~/MyXMOSWorkspaces

git clone git@github.com:YOUR_ACCOUNT/xmos_network_modules

cd xmos_network_modules

git submodule init

git submodule update


Now start XDE and select the xmos_network_modules directory as the workspace. Close the welcome page, once the gui appears.
Import the projects into XDE. Then... Import | Existing Projects into Workspace. Select root | browse to the xmos_network_modules directory | finish. This makes XDE aware that there are live projects in the workspace.
Invoke the Build option on app_xc2_firmware, and check there are no errors. (I fixed most of the 10.04 related warnings, and we need to clean up the final ones).
You can run the result as an application, if you have an XC-2

Because you are working on your own fork, you can add your own modules to this build, to compose your own functionality. Or you can make improvements and send a Pull request for integration in the XMOSCookbook repository, for all to share. There is a useful note about XMOS's new module structure here. If we can develop more along that path, we'll have the ability to mix-and-match modules very easily.
I will be publishing more sub- and super-modules, and will accept components that fit within in this regime.
I welcome comments and contributions.
Russ Ferriday

russf@topia.com


User avatar
shawn
XCore Addict
Posts: 238
Joined: Thu Dec 17, 2009 5:15 am

Post by shawn »

This is a great ideal, an open cookbook...
So you need Raw Data Now, and you provided a great way for repository.
This thread has real value. I am sure Data is forth coming.

Thanks,
Shawn
User avatar
Berni
Respected Member
Posts: 363
Joined: Thu Dec 10, 2009 10:17 pm

Post by Berni »

We need to agree on a common simple way of formating the code, so for example to get ethernet working you would only need to add a folder to your project and include one h file. Cause it can be frustrating to pull a certain part of the code out when its merged with the rest of the code.

So why not make things easyer for everyone and save time.
User avatar
shawn
XCore Addict
Posts: 238
Joined: Thu Dec 17, 2009 5:15 am

Post by shawn »

Multi-Xcore based IDE: Primary Languges
Xasm,Xn,Xc
C, C++
everthing else meta...
User avatar
russf
XCore Addict
Posts: 146
Joined: Thu Dec 10, 2009 10:17 pm

Post by russf »

I took the xmos TCP/IP stack as a starting point, because I may use Berni's winsock layer in a project, but would prefer to have it as a shim rather than a monolithic blob. I am making a new superproject with the current state of my winsock refactoring for others to help ;)

Thanks,
--r.