boot l1 device via link by a different cpu

Non-technical related questions should go here.
vaneenbergen
Member
Posts: 8
Joined: Mon Nov 08, 2010 8:31 pm

boot l1 device via link by a different cpu

Postby vaneenbergen » Mon Nov 08, 2010 8:40 pm

hi

i would like to boot up a l1 device in slave mode on link0b. but the link is connected to a different cpu ( not xmos but arm7 )

the link protocol is described a bit, but not the procedure of booting from it.

reason is that i neet all 16 1 bit ports on the l1.
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Postby Folknology » Mon Nov 08, 2010 9:13 pm

Good Point

I would certainly appreciate more insight into this and flash booting in general, opening those pieces of code would be really useful.

regards
Al
User avatar
segher
XCore Expert
Posts: 843
Joined: Sun Jul 11, 2010 1:31 am

Postby segher » Tue Nov 09, 2010 7:50 am

You first need to make sure your L1 tries to boot from the external link;
for that, you'll have to set the boot mode pins correctly.

It will only try to boot from one of the four external links; I believe it's
link #3, but please look it up.

The boot code will listen on channel end #0, so that's where you'll need
to send to. Thread #0, and CPU #0 as well I think.

You start by sending your own id. Pick something nice as the node id,
anything works as long as it doesn't conflict.

Next you'll send the boot image length (in words).

Then you send the boot image, word by word.

Finally, you send the CRC over the image.

Then you send an END control token, and should get an END back.

That's it!
User avatar
lilltroll
XCore Expert
Posts: 955
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Postby lilltroll » Tue Nov 09, 2010 8:08 am

How did/will you you implement the Link Protocol on the ARM ?
What phy will you use on the ARM side ?
Probably not the most confused programmer anymore on the XCORE forum.
vaneenbergen
Member
Posts: 8
Joined: Mon Nov 08, 2010 8:31 pm

Postby vaneenbergen » Tue Nov 09, 2010 8:15 am

Just bit banging.

the receiver would interrupt on change of one of the 2 ports.
offcourse the xs1 should be set to a lower link speed.

this implementation would give me a boot and communication channel to the device without loosing 4 single bit io pins.
User avatar
lilltroll
XCore Expert
Posts: 955
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Postby lilltroll » Tue Nov 09, 2010 8:38 am

Being an ARM novice - is it an ARM7TDMI, or do you only use the ARM running stand-alone?
(Is it possible to)/(will you) use the ARM JTAG to program, debug the XMOS ?
E.g. does the ARM appear as the Flash and maybe ADC for the XMOS only - or do the ARM provide more features ?
Probably not the most confused programmer anymore on the XCORE forum.
vaneenbergen
Member
Posts: 8
Joined: Mon Nov 08, 2010 8:31 pm

Postby vaneenbergen » Tue Nov 09, 2010 8:46 am

the arm7 will be handling most of the communication and control.
it (will be) is on a separate jtag.
User avatar
RogerH
Active Member
Posts: 55
Joined: Fri Oct 15, 2010 12:14 am

Postby RogerH » Tue Nov 09, 2010 8:55 am

Hi,

I was about to sit down and code up this very thing for ARM 7 (LPC2478) and ARM Cotex M3 (LPC1768)!

Have you got the devices communicating yet?

Regards, Roger...
vaneenbergen
Member
Posts: 8
Joined: Mon Nov 08, 2010 8:31 pm

Postby vaneenbergen » Tue Nov 09, 2010 9:08 am

No, i'm in the investigation stage. looking at what parts to use.
i would like to use the xmos instead of a spartan 3A.

i found a AVR implementation of the link on the old xlinkers forum.
anyhow it doesn't seem to be very difficult.
User avatar
RogerH
Active Member
Posts: 55
Joined: Fri Oct 15, 2010 12:14 am

Postby RogerH » Tue Nov 09, 2010 9:17 am

Yes, I have seen that project on Xlinkers and was going to loosly base my project on that.

I will start with the Cortex M3 as the NVIC is better.

Roger...

Who is online

Users browsing this forum: No registered users and 0 guests