News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

MASM on embedded devices?

Started by rob_c, May 09, 2006, 09:16:19 AM

Previous topic - Next topic

rob_c

Quote from: Eugen on May 09, 2006, 04:10:10 PM
I dont know any FREE alternative  :wink. You can check armasm as others suggest, but i dont know if its free.

As eMbedded Visual C++ appears to be free, i guess armasm must be too.

Rob

rob_c

btw, i found this: http://www.fileproperties.com/a/armasm-exe.htm

It gives a description of the files in evc\win4x0\bin\

As I've already used the toolkit to build an app for my target in c++ so it may well be possible that the armasm.exe in there could be the correct assembler for it too!....hopefully.

Rob

Eugen

Quote from: BogdanOntanu on May 09, 2006, 04:22:09 PM
Besides in an ironical way it makes more sense to write ASM only applications for desktop PC's since there is a huge number of then with almost the same CPU and ASM language. On embeded devices the number of devices that share the same CPU and hhardware architecture is much smaller so you will have to port your code/application many times... because of this portability issue a simple C compiler makes more sense in embeded devices

Dont let the voice of reason distract you  :lol, forget about "portability", its more fun to program in asm and see what this ARM CPU is all about  :bg, than to think about a possible but improbable future from the start.(Apparently Bogdan spends too much time in the office lately  :bdg )

Eugen

rob_c

No worries Eugen! I tend to lose interest if there's an easy way to do something anyhow! :wink

BogdanOntanu

Hmmm i do not think you get the hummor :D

For me and I also guess Eugen:
========================
-doing something very easy is doing it in full ASM
-doing something the hard way is doing it in plain ANSI C
-doing it the incredible harder way is doing it in OOP C++ with multiple inheritance and templates
-doing it in the hardest possible way would be doing it in Java or in  C#/.NET

I guess for me only there are 2 extra options:
=================================
-doing it the "still easy" but somehow "twisted strange" way would be: FORTH
-doing it the medium way would be Pascal with some ASM included



Ambition is a lame excuse for the ones not brave enough to be lazy.
http://www.oby.ro

Mark Jones

Quote from: Ar-ras on May 09, 2006, 01:13:25 PM


"C:\Documents and Settings\WOPR>"   ????? LOL :lol

(For those of you who don't know what WOPR was, (War Operations Planned Response), see: http://features.engadget.com/2004/10/23/movie-gadget-friday-the-w-o-p-r-from-wargames/
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08

rob_c

Quote from: BogdanOntanu on May 10, 2006, 04:51:48 PM
Hmmm i do not think you get the hummor :D

For me and I also guess Eugen:
========================
-doing something very easy is doing it in full ASM
-doing something the hard way is doing it in plain ANSI C
-doing it the incredible harder way is doing it in OOP C++ with multiple inheritance and templates
-doing it in the hardest possible way would be doing it in Java or in  C#/.NET

I guess for me only there are 2 extra options:
=================================
-doing it the "still easy" but somehow "twisted strange" way would be: FORTH
-doing it the medium way would be Pascal with some ASM included


My background is ANSI C for embedded devices. I enjoy programming using ASM but find it more challenging (and it's been years since I had the opportunity to use for my work). I love it for the few windows apps I've had a go at.

Rob

Roger

Quote from: BogdanOntanu on May 10, 2006, 04:51:48 PM
I guess for me only there are 2 extra options:
=================================
-doing it the "still easy" but somehow "twisted strange" way would be: FORTH
FORTH isn't that twisted (and in my humble opinion might suit many on this forum who seem to have this strange idea that programming is actualy meant to be hands on and code should be accessable).

Now for really twisted I have a version of FORTH that I originally wrote in FORTH such that the FORTH code could be assembled by MASM or A86.

BTW If anyone is interested I am translating it into 32bit form for use in my current project .

Regards Roger

PS (You(could(always(try)))(LISP))

vozzie

Building with armasm

download and install eVC4

armasm.exe and link.exe eVC4 locations are...
C:\Program Files\Microsoft eMbedded C++ 4.0\EVC\wce500\bin
C:\Program Files\Microsoft eMbedded C++ 4.0\EVC\wce420\bin
C:\Program Files\Microsoft eMbedded C++ 4.0\EVC\wce410\bin
C:\Program Files\Microsoft eMbedded C++ 4.0\EVC\wce400\bin

Download and install various windows mobile and pocket pc sdk's too

pocket pc 2003 sdk
windows mobile 5.0 sdk
windows mobile 6.0 sdk

When eVC is not installed but Visual Studio is, you can look for armasm in the visual studio directories.

C:\Program Files\Microsoft Visual Studio 8\VC\ce\bin\x86_arm
C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\bin\x86_arm

But when you will get a warning about "mspdb80.dll" missing, you can look for
"mspdb80.dll" and place it in the same directory of "armasm.exe". BUT remove it
after because visual studio was unhappy about it on my computer. After removing
it everything was back normal...


The commandlines are,...

armasm.exe code.asm
armasm.exe -g code.asm

link commandline for a dll is,....

link.exe /DLL /DEF:code.def /MACHINE:ARM /ARMPADCODE /SUBSYSTEM:WINDOWSCE code.obj

i did not build a executable yet but you can find one example of a commandline probably on the internet,...

Also, if you have visual studio you can mix arm assembly with c/c++ in a a project, a easy way to create a arm procedure because you can step thru the asm code...I've download a small project somewhere from the internet, but i don't find it back so  I attached it to this message,...

greetz