Re: Asm source code page?

"Jon Kirwan [email protected] [msp430]" <[email protected]> Mon, 11 Jan 2016 13:29:24 -0800
Newsgroups gmane.comp.hardware.texas-instruments.msp430.discuss
Organization Infinite Factors
Message-ID <[email protected]>
On Mon, 11 Jan 2016 19:33:47 +1030, Al wrote:

>I Totally agree with Jon.

  :)

>IAR's assembler is excellent, does everything 
>I want, is unlimited, is free, and since I don't use any libraries from 
>third parties there are no royalty issues.

That assembler and linker tool-pair is good. I've used a LOT
of assemblers in my life and have written a few, as well.
This one from IAR is about as good as assemblers for micros
usually get. The abstract segmentation model is great. The
macro facility could be better, but I consider it "good
enough for most things." (I can also use M4 or some other
tool on the source where I feel there are some limitations.
Such tools won't be fluent with the semantics but they may be
fruitfully used. I just haven't felt enough of a need yet,
since IAR's capabilities are good enough for now.)

>The IDE is straightforward, and quite good.

It's remarkably easy to get started using and remains very
capable as you advance further over time. It just wears well
over time. They've done a very good job on its design. And,
fortunately for some of us, have decided to offer a fully
functional toolset for assembler programmers at no charge.
I'm in debt to them for this fact.

(I'm also in debt for another reason -- I've never needed
more than an additional 4k of C generated code for an MSP430
project, so the KickStart has been "good enough" for all my
project uses so far.)

>It used to do some strange things, but they seem to have 
>been cleaned up over the years, either that or I subconsciously avoid 
>them!

I haven't found anything that was "strange." I have found
things that took a moment to consider before I fully
understood them. But once I gathered up the conceptual model
they made good sense to me.

The only "strange" things are things I've done myself with
their toolset. For example, I needed a way to find the
largest common divisor for a pair of configuration parameters
to help me set up a clocking system that would serve two
purposes at once with only integer multiplier differences in
their operation. I hacked up a MACRO tool to do exactly that,
too. Worked perfectly. Now, someone looking at it would see
"strange" there, I suppose. But that's my fault, not IARs!

>I find the syntax is more in line with the vast majority of 
>assemblers I've used over the last too many years, no strange things.

That's pretty much my feeling, too.

>Their header files for each processor are also quite good, but large 
>because they are general use for C, c++ and assembler, so I personally 
>always clean out all the stuff I am unlikely to use, add some stuff that 
>I personally like to use, and rename the file, so I have an original 
>version incase I ever decide to mix assembly and C for example.

Hmm. So far, I've not bothered with that. In part, perhaps,
because I haven't done as much as you have and haven't
reached a situation where the trouble would have been worth
it. In part, perhaps, because I tend not to change standard
facilities unless I can clearly justify the change. I'd
rather use an additional file I create and add it to the
inclusion list. But again, you probably have a wider array of
usages than I do and I may very well have made similar
choices if I had faced similar situations, too.

Jon

>Cheers
>
>Al
>
>On 11/01/2016 6:15 AM, Jon Kirwan [email protected] [msp430] wrote:
>> On Sat, 9 Jan 2016 22:47:23 -0800, Craig Carmichael wrote:
>>
>>> ... ideas for web pages of sample code in Asm?
>> Just as an additional note...
>>
>> If you are interested in writing assembly-only projects for
>> the MSP430 and MSP430X families, I'd recommend using IAR's
>> Kickstart tools. Their assembler is quite general-purpose and
>> does NOT have any code size limitations at all. See:
>>
>> http://supp.iar.com/FilesPublic/UPDINFO/004578/infocenter/product_packages.html
>>
>> where the 2nd bullet under the Kickstart heading says, "The
>> IAR Assembler delivered is the full version without any
>> restrictions" and the 3rd bullet expands, "The IAR XLINK
>> Linker will link ... an unlimited amount of code originating
>> from assembly code." (The 4th bullet adds, "The IAR KickStart
>> C-SPY Simulator ... is unlimited in the amount of assembly
>> code read.") This pretty much means you get an excellent
>> assembler/linker toolset, plus a very nice IDE and debugger
>> for coding purposes and ZERO cost to you. I've used IAR for
>> assembly coding development and I really like the tools a
>> lot, as they present a very clean, orthogonal design with all
>> the features you need. Other assembler tools I've used, off
>> and on, tend to have odd "limitations" which are frustrating
>> at times. IAR's tools "just work well." Never wished for a
>> feature that I couldn't already find in IAR's assembler +
>> linker toolset.
>>
>> You can also explore C/C++ with IAR's tools, but the free
>> Kickstart version does limit your final application size.
>> IAR asks a "fairly high price" for unlimited C/C++ code
>> sizes. If you do plan on mixing C and assembly and plan on
>> developing larger applications then you should consider other
>> tools for a cost/benefit analysis. A starting point might be
>> TI's page here:
>>
>> http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/msp/tools_software.page
>>
>> However, be aware that this page in no way provides all your
>> options. Rowley and ImageCraft are just two such examples
>> that you don't see there:
>>
>> http://www.rowley.co.uk/msp430/
>> https://www.imagecraft.com/devtools_MSP430.html
>>
>> I'm sure there are others, as well, that aren't included in
>> the TI page.
>>
>> If you are doing this all as a hobby, then you are free to
>> make your own choices about assembly-only or mixed coding
>> styles. Whatever makes you happy works just fine.
>>
>> If you have your own product/product-line in mind, then you
>> need to be aware of licensing issues (libraries used, as well
>> as compiler generated output) for the tools you apply. I
>> believe you can use the IAR assembler/linker toolchain for
>> commercial products without paying them a fee, so long as you
>> are careful about library use (not using any library other
>> than public domain would be safer.) It sounds like you might
>> be in this frame of mind, but it is hard to tell.
>>
>> For professional contract work, you will want to be able to
>> support mixed assembly and C/C++. Clients deserve to have the
>> widest range of options available for their project
>> development so that the overall development process can be
>> optimized for them, weighing all conditions appropriate to
>> their circumstances. You should then carefully study the
>> various commercial options. But you should ALSO contact the
>> vendors, too, and speak or write to a human there and get a
>> feel for what contact and support will be like after you buy
>> their tools. Most MSP430 vendors should be pretty good, I
>> think. But it helps to make contact and see how things play
>> out before making a final decision and spending your money.
>>
>> As an employee in an organization with more than one
>> programmer, which does NOT sound like your situation, you do
>> what has been established by careful consideration of your
>> team members. If you are a sole employee, then I suppose you
>> get to make your own choices but you need to make them well
>> for those depending on you.
>>
>> Jon


------------------------------------
Posted by: Jon Kirwan <[email protected]>
------------------------------------

To unsubscribe from the msp430 group, send an email to:
[email protected]