2008-09-04 09:45:24     Assembly code in uClinux

Document created by Aaronwu Employee on Aug 7, 2013
Version 1Show Document
  • View in full screen mode

2008-09-04 09:45:24     Assembly code in uClinux

Daniele Pagani (ITALY)

Message: 61622   

 

Dear guys,

 

sorry if this one could be a stupid question.

 

I've the BF537STAMP board and in the docs with the cd I find the file

 

ism-main.html in which I have a link to "arithmetic operation", but the link doesn't work fine.

 

Then I'm a little confused.

 

So, the question is:

 

1) in uClinux and in userspace can I develop program with Blackfin assembly code (with Dreg,Preg and so on..)?

 

2) can I use all the arithmetic operation that I usually used with VisualDSP (in assembly code)? That is can I write a simple line such as:

 

"A0 = R2.L*R1.H, A1 = R2.L*R1.L (M) || [I1++M0]=R0;  "

 

Any suggestion is appreciated,

 

best regards,

 

Daniele.

TranslateQuoteReplyEditDelete

 

 

2008-09-04 10:18:24     Re: Assembly code in uClinux

Mike Frysinger (UNITED STATES)

Message: 61625   

 

you should be using http://docs.blackfin.uclinux.org/ for the latest documentation ... it explains how to use inline assembly in C, or just write raw assembly code

 

since the assembly language is Blackfin specific (see the PRM), it doesnt matter what toolchain you use as the language is the same

QuoteReplyEditDelete

 

 

2008-09-04 10:41:33     Re: Assembly code in uClinux

Daniele Pagani (ITALY)

Message: 61626   

 

Dear Mike,

 

I'm looking also at

 

http://docs.blackfin.uclinux.org/doku.php?id=ism:main

 

but the link to arithmetic operations doesn't exist yet.

 

So, if I understand, I can use also arithmetic operations in assembly code and then I can use bfin-uclinux-gcc and so on to compile software.

 

Thank you very much for you support.

 

Best regards,

 

Daniele.

TranslateQuoteReplyEditDelete

 

 

2008-09-04 12:04:23     Re: Assembly code in uClinux

Frank Van Hooft (CANADA)

Message: 61627   

 

This page gives you info on writing assembly language code within uclinux:

 

http://docs.blackfin.uclinux.org/doku.php?id=using_in-line_assembly_calling_external_assembly_from_c&s[]=asm

 

Regarding the detailed blackfin instruction set, your best reference is the one you're no doubt already familiar with, which is the Analog Devices Blackfin programming reference manual.

QuoteReplyEditDelete

 

 

2008-09-04 13:57:16     Re: Assembly code in uClinux

Mike Frysinger (UNITED STATES)

Message: 61634   

 

the ism: namespace is just a limited portion of the PRM.  if something is missing, go read the PRM.

QuoteReplyEditDelete

 

 

2008-09-05 02:52:45     Re: Assembly code in uClinux

Daniele Pagani (ITALY)

Message: 61650   

 

Thank you very much,

 

so, if I understand, I can use my math alghoritm developed in assembly.

 

A different question is if can I use sport register, dma and so on in assembly code in user space, but I think that it is not possible, as in C language.

 

Best regards,

 

Daniele.

TranslateQuoteReplyEditDelete

 

 

2008-09-05 03:49:48     Re: Assembly code in uClinux

Mike Frysinger (UNITED STATES)

Message: 61651   

 

the language doesnt matter -- it's an architecture issue, not language

 

after all, pretty much all languages out there (like C) simply generate assembly before being turned into machine code anyways ...

QuoteReplyEditDelete

 

 

2008-09-05 04:47:13     Re: Assembly code in uClinux

Daniele Pagani (ITALY)

Message: 61652   

 

Ok,

 

thank you very much for your support.

 

Best regards,

 

Daniele.

Attachments

    Outcomes