I rephrase... :bg
I'm not arguing that about the portability, but there are well known problems with this - an argument as old as the hills.
With regard to CPUs, the Arm devices used in a LOT embedded systems... They have 2 basic assembler languages, one, a lite version of the other.
Creating a compiler to handle the different cpu's is as much work as writing it in assembler.
Java interface is also guilty of many different versions on many different phones, that is makes assembler look like childsplay :bg
I'd say there is a large gap for asm in the cell phone market - It just need a 'force' to 'install' it as much like C/C++,Java has had.
I don't see this happening at the cell phone makers want to keep their OS's 'untouched'
:8)
i can see where a guy might develop his own asm libraries for each CPU
then, the program is portable - you just have to build with the appropriate lib
the obvious advantage of asm in portable devices is size
if compilers didn't have so much overhead, it wouldn't be such an issue
on another note....
normal people construct sentances with subjects, objects, participles, and so on
when ASM programmers construct sentances, there is likely to be a lot of mnemonics and acronyms
when C programmers contruct sentances, every other word has to be an object of some sort :P
But with the compiler you can amortize the cost of writing it once, over all the applications that get ported as a result of having the compiler, and not requiring a total rewrite.
The ARM market is getting fractured, there are certainly at this point more than two instruction set in use, and features and extensions that are not consistent across the offerings. If you're using assembler as a proxy to squeeze the last piece of performance from a system, you're going be quite busy coding multiple solutions. A point that bogdan alludes to with the CPU changes is the ringing out of part costs, especially if you can save a dollar a piece on a million piece run. For that to work most efficiently you need a clean abstraction of the hardware, and a HLL.
MIPS is also in a significant number of devices, although less boldly touted. It's a valid Linux/Android/WinCE target.
Being comfortable with a number of assembly languages is certainly something I'd look for in an Embedded Engineering candidate.
Quote from: dedndave on January 24, 2012, 07:15:08 PM
then, the program is portable - you just have to build with the appropriate lib
Ja.. silly me.. I forgot about libraries :red
To me... I think business is losing focus with RAD systems and this is probably a good reason why masm32 ( and the next installment.. Nudge Nudge :wink :wink hey Hutch ??) still exists.
RADs original idea is working for business, but it seems like it is tearing it apart in the race 'to be first'- greed is good!!
:bg
Quote from: clive on January 25, 2012, 03:33:19 PM
The ARM market is getting fractured..
Ja.. you can now 'roll your own CPUs'... VHDL is taking us all over the place... This is exciting stuff though and the IDE's are something else... :eek
:8)
Quoteand the next installment.. Nudge Nudge wink wink hey Hutch ??
http://www.masm32.com/board/index.php?topic=18155.0
http://www.masm32.com/board/index.php?topic=18184.0
Quote from: vanjastyou can now 'roll your own CPUs'... VHDL is taking us all over the place...
You don't even need to go that far, the floating point option on the Cortex-M4 only supports 32-bit floats, whereas the option on the Cortex-R4 supports 32 and 64-bit (float, doubles).
http://www.ti.com/mcu/docs/mcuproductcontentnp.tsp?sectionId=95&familyId=1870&tabId=2824#
So I was thinking more about some of the off-the-shelf offerings, things are even more fun in the SoC space, but you wouldn't have the leisure of changing the CPU every 100K run<G>
Perhaps some of the fun from the 80's can be brought to the classrooms with the Raspberry Pi. Although the idea of writing several megabytes of assembler doesn't appeal quite as much.
http://www.raspberrypi.org/
Quote from: dedndave on January 25, 2012, 05:10:41 PM
Quoteand the next installment.. Nudge Nudge wink wink hey Hutch ??
http://www.masm32.com/board/index.php?topic=18155.0
http://www.masm32.com/board/index.php?topic=18184.0
How did I miss this.... must have had my head stuck in the sand!!
:bg :U
Quote from: clive on January 25, 2012, 05:30:52 PM
So I was thinking more about some of the off-the-shelf offerings, things are even more fun in the SoC space, but you wouldn't have the leisure of changing the CPU every 100K run<G>
You can always change the SoC... that is.. if the chip allows it.
Sorry OP - we digress here.. on warp factor 9. :green2
For those in the dark, VHDL (Verilog Hardware Definition Language - Verilog was contracted by DOD and this popped up) is all about logic level programming. I suppose the next level down from Asm. If you love
tinkering... this is your mecca
One could compare VHDL and explicit logic programming to Java and Assembler, but VHDL requires explicit logic and hardware knowledge (similar to Asm) to implement it efficiently, if at all. Something like writing an highly optimised assembler program without coding in assembler. Makes sense and this is only the beginning :bg
:8)
i designed a few ASIC's about a decade ago
never thought of it that way, but it is a little like ASM for digital circuit designers :P
haven't done much of that lately - i will probably need to get into it a little more
Quote from: vanjast
Quote from: cliveSo I was thinking more about some of the off-the-shelf offerings, things are even more fun in the SoC space, but you wouldn't have the leisure of changing the CPU every 100K run<G>
You can always change the SoC... that is.. if the chip allows it.
Perhaps if you're using an FPGA, if you spin a new mask set you'd probably be looking for a new job.
Quote from: dedndave on January 25, 2012, 09:02:10 PM
haven't done much of that lately - i will probably need to get into it a little more
I generally avoided it like the plague, but lately it's become a viable neccessity so I've been 're-educating' myself :bg
Quote from: clive on January 25, 2012, 09:04:08 PM
Perhaps if you're using an FPGA, if you spin a new mask set you'd probably be looking for a new job.
Have look at Actel stuff http://www.actel.com/products/
Some interesting options
:bg
Quote from: vanjast on January 25, 2012, 07:15:30 PMFor those in the dark, VHDL (Verilog Hardware Definition Language
VHDL <= Very High Speed Integrated Circuit Hardware Description Language;
:toothy
if one were to get software for a few of the more popular brands, and maybe some burners, you could probably make a living with that stuff here in the Phoenix valley
Microsemi are offering the whole Libero IDE free (well, I got it for free at a seminar ?) and they offer a years free user license which I think is renewable, for free :green2
A cheapy intro programmer (I haven't got yet) which can do most of the chips except the more complicated ones, goes for about ZAR800 (~USD100)
I think it's the 'plastercine toy' of the new millenia.. you can do just about anything with it. Lots of gizmos around the corner :bg
I think it will take us into the same era as when repairing radios no longer was cost effective and you just bought another one.
We are more or less there now, but this will further entrench it.
:8)
Quote from: dedndave on January 26, 2012, 01:18:06 AM
if one were to get software for a few of the more popular brands, and maybe some burners, you could probably make a living with that stuff here in the Phoenix valley
Dave hanging out at Hill Valley station entrance, Phoenix.... hat upside down on the floor with a few coins in it.
He's holding a programmer of sorts, connected by wires to a box with a winding device/generator.
A sign saying -
Program your children for 1$ :green2
:P
yah - the software can free, or very inexpensive
they are more interested in selling 1,000,000 chips than they are in selling 10 copies of the program
i always enjoyed digital circuit design
nice thing about ASIC's/FPGA's is - no router :bg
I have an FPGA development board and software at home. The board itself costed a few bucks (250$ approx if i recall correctly).
Trust me the "real" software for programming it is closed source and it does cost a LOT, somewhere in range of $5,000 or more with full options.
Not really a cheap hobby. Yes with the board they give you access to some free web versions and one year for a limited version on CD... but it is just "incentive".
The "real" professional software for doing chip design costs a huge amount of money. Out of reach for everybody.
After all you intend to mass produce a device (like say 100K Ixphone X clones..eh?) THEN you MUST spend at least 1 million $ for start :P
Each and every embedded device project where I was employed had an initial budget of over 1 million $ per year for research and development and tools (hardware+software) and actual fabrications costs are usually bigger.
There are some GNU "free" alternatives but they are not yet good to go for the latest devices on the market (if they will ever be).
At home you can do some PIC's and an 80C51 and maybe play with the Raspberry PI a little and play with an FPGA dev board using the CD included dumbed down software and using predefined free IPO CPU's like MIPS ... at least I can :D ... but that is all ;)
I doubt you can really do your own ARM chip without an special huge discount for the IPO
Quote from: BogdanOntanu on January 26, 2012, 02:41:48 PM
Each and every embedded device project where I was employed had an initial budget of over 1 million $ per year
for research and development and tools (hardware+software) and actual fabrications costs are usually bigger.
1) holy fuck, man
2) we try to do a product design in 6 months or less - start to finish
3) i have done many product designs (simple products) with a total budget under 100 K
4) holy fuck, man
5) i guess that's why we don't see a lot of products out of Romania
but - i know you're right about the cost of the full software packages
more than once, they have given us the full software package for single-use, though
they want to sell chips - and, when it is a new one, they really want to sell chips
it could be that the sales rep was bending the rules :P
at any rate, if you were going to just do custom chip design, it may be worth the cash out-lay
provided the software accomodates a wide selection of IC's (generally, they do)
You can get some good IDE's/programmers nice-n-cheap.
I was trying to buy Analog Devices DSP IDE and the local salespeople were trying to shaft me ZAR 32,000 about 6 years back.
So I wrote an email to Analog USA, asking if I could buy it for ZAR 8000 as that is all I could afford at that moment, and that 32K was wayyyy too steep.
A nice lady in Analog's upper management sent a few emails around and in a week I got a serial number for the fully fledged IDE for USD 0, nudder, zippo.
I was so happy I just roared with laughter for days....
:bg
Quote from: dedndave on January 26, 2012, 03:03:39 PM
Quote from: BogdanOntanu on January 26, 2012, 02:41:48 PM
Each and every embedded device project where I was employed had an initial budget of over 1 million $ per year
for research and development and tools (hardware+software) and actual fabrications costs are usually bigger.
1) holy fuck, man
2) we try to do a product design in 6 months or less - start to finish
Same time expectations in "my" projects (I usually was just a "simple" employee).
From start idea/budget approved, nobody hired yet phase until the fabrication of the first 100K devices and sales on the shelf in under 1 year time.
I speak about big devices here, things like set top boxes with PVR and satellite and inet to Iphone clones or tablets all using kind of standard CPU's (non-x86, non FPGS, non custom made) like MIPS, ARMs, STMIcros, using hardware MPEG decoders, picture in picture, web browsers, tcp/ip stacks, usb stacks, DDRAM buss interfaces, security, compression, encryption, etc
I do not speak about the average mp3 player or weather station with FM radio here. I speak about devices that sell around 100$ up to 300$ on the shelf.
The budget included, payroll for all employees including CEO, compilers, PC's, licenses, royalties, development boards, SDKs, software components, debug tools, everything needed from project start until project was finished.
Quote
3) i have done many product designs (simple products) with a total budget under 100 K
4) holy fuck, man
5) i guess that's why we don't see a lot of products out of Romania
Nope, you understood me wrongly or I was not clear enough ... this kind of work was never done by me in Romania, "we" usually do not have such amounts of money to invest in local high tech projects or maybe I never really searched well...
However a few such local projects exist (probably with a much lower budget), for example one Romanian company does produce a tablet with android :D
I worked in Europe and for many US firms (remotely) ;)
Quote from: vanjast on January 26, 2012, 05:59:03 PM
A nice lady in Analog's upper management sent a few emails around and in a week I got a serial number for the fully fledged IDE for USD 0, nudder, zippo.
I was so happy I just roared with laughter for days....
:bg
Do not count on it, I recall one compiler instance costing near 10.000$ per seat. And we needed 5 or 10 of them.
Maybe if you ask nicely you can get such dreams... but in practice once they "smell" that will really produce something it will cost you a lot.
And usually you can not use the same CPU for the whole product line... (unless you are Apple of course) usually you find one new producer in China that will fab you 100K boards at half the price ***IF*** you can make your system work with yet another CPU and another chipset :D :D :D
But for small stuff like 80c51 or PIC's then yes free tools exist and work as expected... you just can not really compete...
Oh and Clive was right, IF you can make the system work with half the RAM for example and you save 2 or 5 or maybe 10$ per device then you gain a lot on the whole production and such skills are appreciated.... BUT they have to be in C/C++ not in ASM :D
Last time I have ever used ASM in an embedded projects was 10 years ago when one custom OS component was not restoring one register correctly in an hardware interrupt routine... (on an ARM CPU) ... and then nothing else.
I agree with you if you're in the big company 'rush' programs, but as a small guy one can make inroads with 'accessory products' and if you get your story right from the beginning, one can purely use Asm and as Dave mentioned, good managing of a library database, will see longevity into new cpus and new products.
If I came up with something that, businesswise, took off like a rocket.. I'd sell it (with royalties) to the 'greedy' fat businessman, and let him 'stuff' it up from there.
and with the cash earned I'll move onto the next project and live it up.
:wink
I hope that ARM device using real physical memory than accessing to harddisk, I think that what causing Windows slow when playing a game. PS3 or xBox360 is far faster than any laptops.
Well disks are moving fast towards FlashDisk (SSDs I think they're called). Faster than the 'wheelie' drive and theoretically more reliable.
About 6 months ago the max was about 100GB.. so you can bet it's going to be around 500GB or 1TB by the end of this year.
The PC is going to be fast again... :bg