EmbeddedRelated.com
Forums
Memfault State of IoT Report

Anyone did decimal arithmatic on MSP430 in runtime??

Started by europus July 30, 2007
Hi Richard,

> Command line tools are ideal for use with scripts and with Source Code
> Control systems, especially with large multi-person multi-year projects.

Disagree. CrossWorks has the ability to seamlessly interface & integrate with various source
control systems. A lot of scripting is possible.
Hell, there's even Java script capability for various things like eg. kernel awareness for
debugging, transparent peripheral simulation et al.

> Command line systems are great for running test harnesses.

Agree, but I wonder how many non-IDE (or IDE for that matter) users here actually use test
harnesses... ?

> Windows based IDEs are ideal for debugging small chunks of code and/or
> developing one-man projects.

Urban legend, if you ask me.
I seem to hear these sorts of claims of people that don't use IDEs for all sorts of reasons,
except for the _actual_ (non-disclosed) reason they don't use them ....
I could effortlessly develop very large projects on the CW IDE. In fact I could do it much better
& faster than on a dumb command line....

> There is a place for both ways of working.

Probably true. But not for me and countless others I think.

Everyone's prerogative of course - but I've used command line crap in the '80s. Things have
changed a lot since then.
I presume you've used both (IDE & non-IDE) - benefit of the doubt. But have you actually tried a
powerful IDE such as CrossWorks ? If not, how could you possibly advocate the non-use of it ?? Or
realise what a massive amount of time it saves, especially for large projects ?

Besides, when you set up a new project, how long do you have to f*ck around with linker scripts
etc ? In CW IDE I can start a new project in about 3 secs, spanning an endless array of targets
and all my project information is visible in ONE glance, ALL of it.
I think of all the poor sods that still frequently ask how to generate map files, and Sherlock
Holmes around in their outputs. In the CW IDE the Project Explorer neatly displays total project
RAM & code usage, each individual module's usage (next to the project node/sub node/ module names
in the project hierachical tree), while I can concurrently see all my symbols and source
information, their address, size, place in memory, their type, what parameters functions use &
what types, where constants are defined and used. All these things can be re-sorted by various
parameters in an instant with mouse click. All source modules of my choice are neatly displayed
with a tabbed arrangement, I can instantly compare different versions of modules and have
highlighted where objects have been added or deleted, where the differences are, if any.
I have all the different targets commercially available concurrently displayed too. A double click
on a different target (with neat icons) and I can start debugging through different targets,
including simulator. 1 Second later I'm in the debugger in C, mixed or ASM mode. Have you tried
changing target on even a high end tool such as IAR ? It's a lot of navigating around in the
Project Options !!!
Now, while I can see this massive wealth of information all at once and in a glance I can also see
the properties of all objects I work with, automatically updated as I'm active on them.
There is sooo much more to cover, especially debugger wise.

I have tried to refrain from going on and on about how advanced CrossWorks is for a long time now,
but to be honest it's completely and utterly beyond me how anyone would WANT to work with anything
else.....

Someone brought up the "stopwatch" issue in MPLAB up recently & asked where it is in IAR.
The workspace taken to simply display CPU cycles takes ZERO workspace in CW (it's in the status
bar at bottom), in these other tools it steals about 10-15% of the workspace !
Resetting it is a song and dance on these other tools, on CW it's merely a double click with the
mouse.

I could go on & on (but I won't), but I just can't comprehend how a command line is supposed to be
"better". Again I've used both and it has me stumped....

I stress that my opinions above by no means are intended to make any reflection on you Richard,
but purely to support & substantiate my claims.

Why can't a project be developed much more timely on an IDE and - should it be necessary - then be
run on the command line version to run test harnesses ?
If anyone finds a command line superior, then I respect that, but it would have to be supported.
So far I haven't seen a single claim that does in the history of this group.

Best Regards,
Kris

-----Original Message-----
From: m... [mailto:m...] On Behalf Of Richard (UK).
Sent: Sunday, 12 August 2007 3:43 AM
To: m...
Subject: Re: [msp430] Re: Anyone did decimal arithmatic on MSP430 in runtime??

>> Anyone on this group that still re-asserts DOS-ish use of tools should
>> get real

Command line tools are ideal for use with scripts and with Source Code
Control systems, especially with large multi-person multi-year projects.

Command line systems are great for running test harnesses.

Windows based IDEs are ideal for debugging small chunks of code and/or
developing one-man projects.

There is a place for both ways of working.

Beginning Microcontrollers with the MSP430

>
> dig1= (value & 0XF000)/0X1000; //isolate dig 1//

Nothing like that will work.

the hexadecimal value bears no relation to the decimal one, and the only
way to extract the decimal is to make the transistors sweat.

My method will eliminate divides, ( which take forever on an MSP430 ), if
you care about such things.
But it occupies lots of program space. Which may not bother you :-)

David
Hello David,
The statement below worked fine to separate hex bytes from ADC and it did
separate hex numbers but not the decimal....The issue i was facing was that
i was not knowing compiler well enough for those stunts :).....For e.g for
input of 0X5ACD.... below statement would store 0x0005 in dig1 during run time

David Collier wrote:
>
> dig1= (value & 0XF000)/0X1000; //isolate dig 1//

Nothing like that will work.

the hexadecimal value bears no relation to the decimal one, and the only
way to extract the decimal is to make the transistors sweat.

My method will eliminate divides, ( which take forever on an MSP430 ), if
you care about such things.
But it occupies lots of program space. Which may not bother you :-)

David

---------------------------------
Fussy? Opinionated? Impossible to please? Perfect. Join Yahoo!'s user panel and lay it on us.
--- In m..., "David Collier"
wrote:
>
> >
> > dig1= (value & 0XF000)/0X1000; //isolate dig 1//
>
> Nothing like that will work.
>
> the hexadecimal value bears no relation to the decimal one, and the only
> way to extract the decimal is to make the transistors sweat.
>
> My method will eliminate divides, ( which take forever on an MSP430
), if
> you care about such things.
> But it occupies lots of program space. Which may not bother you :-)
>
> David
>

For people with 16 fingers, they have to convert to hexadecimal digits
before they can count.

Memfault State of IoT Report