| Newsgroups |
gmane.comp.hardware.texas-instruments.msp430.discuss |
| Message-ID |
<[email protected]> |
------=_NextPart_000_0057_01D14D32.ABA3B030
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Hi Al
=20
I found the chapter. I will have a read and see how it goes.=20
=20
Thanks
=20
Peter
=20
From: [email protected] [mailto:[email protected]]=20
Sent: Tuesday, 12 January 2016 11:58 AM
To: [email protected]
Subject: Re: [msp430] Asm source code page?
=20
Hi Peter, the IAR compiler reference guide has a chapter on mixing C and as=
sembler, it's part of the Kickstart package, under the doc sub directory. I=
can email iot if you can't find it.
Al
On 12/01/2016 12:54 PM, 'Peter Grey' [email protected] [msp430] wrote:
Hi Jon, Al
=20
I may be a little off topic here. Like yourselves I have used IAR and
assembler for many years. I like the thought of using both assembler and C
so I can use existing software and also use some of the advantages of C. I
started to have a look at CCS6 as I thought I would have to buy a copy of
IAR for the use of C. I only see one document on the TI website that refers
to mixing C and assembler and it is quite old. Do you have any references t=
o
any other documentation on mixing the 2 and using IAR?
=20
Thanks
=20
Peter
=20
-----Original Message-----
From: [email protected] [mailto:[email protected]]=20
Sent: Tuesday, 12 January 2016 5:29 AM
To: MSP430 List
Subject: Re: [msp430] Asm source code page?
=20
On Mon, 11 Jan 2016 19:33:47 +1030, Al wrote:
=20
I Totally agree with Jon.
=20
:)
=20
IAR's assembler is excellent, does everything I want, is unlimited, is=20
free, and since I don't use any libraries from third parties there are=20
no royalty issues.
=20
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. Th=
e
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 ar=
e
good enough for now.)
=20
The IDE is straightforward, and quite good.
=20
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 ver=
y
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.
=20
(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.)
=20
It used to do some strange things, but they seem to have been cleaned=20
up over the years, either that or I subconsciously avoid them!
=20
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.
=20
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 o=
f
configuration parameters to help me set up a clocking system that would
serve two purposes at once with only integer multiplier differences in thei=
r
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!
=20
I find the syntax is more in line with the vast majority of assemblers=20
I've used over the last too many years, no strange things.
=20
That's pretty much my feeling, too.
=20
Their header files for each processor are also quite good, but large=20
because they are general use for C, c++ and assembler, so I personally=20
always clean out all the stuff I am unlikely to use, add some stuff=20
that I personally like to use, and rename the file, so I have an=20
original version incase I ever decide to mix assembly and C for example.
=20
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. Bu=
t
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.
=20
Jon
=20
Cheers
=20
Al
=20
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:
=20
... ideas for web pages of sample code in Asm?
Just as an additional note...
=20
If you are interested in writing assembly-only projects for the=20
MSP430 and MSP430X families, I'd recommend using IAR's Kickstart=20
tools. Their assembler is quite general-purpose and does NOT have any=20
code size limitations at all. See:
=20
http://supp.iar.com/FilesPublic/UPDINFO/004578/infocenter/product_pac
kages.html
=20
where the 2nd bullet under the Kickstart heading says, "The IAR=20
Assembler delivered is the full version without any restrictions" and=20
the 3rd bullet expands, "The IAR XLINK Linker will link ... an=20
unlimited amount of code originating from assembly code." (The 4th=20
bullet adds, "The IAR KickStart C-SPY Simulator ... is unlimited in=20
the amount of assembly code read.") This pretty much means you get an=20
excellent assembler/linker toolset, plus a very nice IDE and debugger=20
for coding purposes and ZERO cost to you. I've used IAR for assembly=20
coding development and I really like the tools a lot, as they present=20
a very clean, orthogonal design with all the features you need. Other=20
assembler tools I've used, off and on, tend to have odd "limitations"=20
which are frustrating at times. IAR's tools "just work well." Never=20
wished for a feature that I couldn't already find in IAR's assembler=20
+ linker toolset.
=20
You can also explore C/C++ with IAR's tools, but the free Kickstart=20
version does limit your final application size.
IAR asks a "fairly high price" for unlimited C/C++ code sizes. If you=20
do plan on mixing C and assembly and plan on developing larger=20
applications then you should consider other tools for a cost/benefit=20
analysis. A starting point might be TI's page here:
=20
http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/msp/tools_so
ftware.page
=20
However, be aware that this page in no way provides all your options.=20
Rowley and ImageCraft are just two such examples that you don't see=20
there:
=20
http://www.rowley.co.uk/msp430/
https://www.imagecraft.com/devtools_MSP430.html
=20
I'm sure there are others, as well, that aren't included in the TI=20
page.
=20
If you are doing this all as a hobby, then you are free to make your=20
own choices about assembly-only or mixed coding styles. Whatever=20
makes you happy works just fine.
=20
If you have your own product/product-line in mind, then you need to=20
be aware of licensing issues (libraries used, as well as compiler=20
generated output) for the tools you apply. I believe you can use the=20
IAR assembler/linker toolchain for commercial products without paying=20
them a fee, so long as you are careful about library use (not using=20
any library other than public domain would be safer.) It sounds like=20
you might be in this frame of mind, but it is hard to tell.
=20
For professional contract work, you will want to be able to support=20
mixed assembly and C/C++. Clients deserve to have the widest range of=20
options available for their project development so that the overall=20
development process can be optimized for them, weighing all=20
conditions appropriate to their circumstances. You should then=20
carefully study the various commercial options. But you should ALSO=20
contact the vendors, too, and speak or write to a human there and get=20
a feel for what contact and support will be like after you buy their=20
tools. Most MSP430 vendors should be pretty good, I think. But it=20
helps to make contact and see how things play out before making a=20
final decision and spending your money.
=20
As an employee in an organization with more than one programmer,=20
which does NOT sound like your situation, you do what has been=20
established by careful consideration of your team members. If you are=20
a sole employee, then I suppose you get to make your own choices but=20
you need to make them well for those depending on you.
=20
Jon
=20
=20
------------------------------------
Posted by: Jon Kirwan <mailto:[email protected]> <jonk@infinitefact=
ors.org>
------------------------------------
=20
To unsubscribe from the msp430 group, send an email to:
[email protected]
=20
=20
------------------------------------
=20
Yahoo Groups Links
=20
=20
=20
=20
=20
=20
=20
------------------------------------
Posted by: "Peter Grey" <mailto:[email protected]> <[email protected]=
om.au>
------------------------------------
=20
To unsubscribe from the msp430 group, send an email to:
[email protected]
=20
=20
------------------------------------
=20
Yahoo Groups Links
=20
=20
=20
=20
------=_NextPart_000_0057_01D14D32.ABA3B030
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<head>
<style type=3D"text/css">
<!--
/* start of attachment style */
.ygrp-photo-title{
clear: both;
font-size: smaller;
height: 15px;
overflow: hidden;
text-align: center;
width: 75px;
}
div.ygrp-photo{
background-position: center;
background-repeat: no-repeat;
background-color: white;
border: 1px solid black;
height: 62px;
width: 62px;
}
div.photo-title=20
a,
div.photo-title a:active,
div.photo-title a:hover,
div.photo-title a:visited {
text-decoration: none;=20
}
div.attach-table div.attach-row {
clear: both;
}
div.attach-table div.attach-row div {
float: left;
/* margin: 2px;*/
}
p {
clear: both;
padding: 15px 0 3px 0;
overflow: hidden;
}
div.ygrp-file {
width: 30px;
valign: middle;
}
div.attach-table div.attach-row div div a {
text-decoration: none;
}
div.attach-table div.attach-row div div span {
font-weight: normal;
}
div.ygrp-file-title {
font-weight: bold;
}
/* end of attachment style */
-->
</style>
</head>
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><meta http-equiv=3DContent-Type content=
=3D"text/html; charset=3Dutf-8"><meta name=3DGenerator content=3D"Microsoft=
Word 12 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#defaul=
t#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:black;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p
{mso-style-priority:99;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:black;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";
color:black;}
tt
{mso-style-priority:99;
font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Balloon Text Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";
color:black;}
p.ygrp-photo-title, li.ygrp-photo-title, div.ygrp-photo-title
{mso-style-name:ygrp-photo-title;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
text-align:center;
font-size:10.0pt;
font-family:"Times New Roman","serif";
color:black;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;
color:black;}
span.cat
{mso-style-name:cat;}
span.ct
{mso-style-name:ct;}
span.EmailStyle24
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.BalloonTextChar
{mso-style-name:"Balloon Text Char";
mso-style-priority:99;
mso-style-link:"Balloon Text";
font-family:"Tahoma","sans-serif";
color:black;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:214125866;
mso-list-template-ids:819474298;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:=EF=82=B7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body bgcolor=3Dwhite lang=3DEN-AU=
link=3Dblue vlink=3Dpurple>
<!-- |**|begin egp html banner|**| -->
<br><br>
<!-- |**|end egp html banner|**| -->
<div class=3DWordSection1><p class=3DMsoNormal><span style=3D'font-size:11.=
0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Al<o:p></o:p></spa=
n></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Cal=
ibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=3DMs=
oNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";=
color:#1F497D'>I found the chapter. I will have a read and see how it goes.=
<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt=
;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span>=
</p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calib=
ri","sans-serif";color:#1F497D'>Thanks<o:p></o:p></span></p><p class=3DMsoN=
ormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";co=
lor:#1F497D'><o:p> </o:p></span></p><p class=3DMsoNormal><span style=
=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Pete=
r<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt=
;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span>=
</p><div><div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3=
.0pt 0cm 0cm 0cm'><p class=3DMsoNormal><b><span lang=3DEN-US style=3D'font-=
size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:</span=
></b><span lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Tahoma","san=
s-serif";color:windowtext'> [email protected] [mailto:msp430@yahoogrou=
ps.com] <br><b>Sent:</b> Tuesday, 12 January 2016 11:58 AM<br><b>To:</b> ms=
[email protected]<br><b>Subject:</b> Re: [msp430] Asm source code page?<=
o:p></o:p></span></p></div></div><p class=3DMsoNormal><o:p> </o:p></p>=
<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><br><br><span style=3D'=
font-size:10.0pt'>Hi Peter, the IAR compiler reference guide has a chapter =
on mixing C and assembler, it's part of the Kickstart package, under the do=
c sub directory. I can email iot if you can't find it.<br><br>Al</span><o:p=
></o:p></p><div><p class=3DMsoNormal>On 12/01/2016 12:54 PM, 'Peter Grey' <=
a href=3D"mailto:[email protected]">[email protected]</a> [msp430=
] wrote:<o:p></o:p></p></div><blockquote style=3D'margin-top:5.0pt;margin-b=
ottom:5.0pt'><pre>Hi Jon, Al<o:p></o:p></pre><pre><o:p> </o:p></pre><p=
re>I may be a little off topic here. Like yourselves I have used IAR and<o:=
p></o:p></pre><pre>assembler for many years. I like the thought of using bo=
th assembler and C<o:p></o:p></pre><pre>so I can use existing software and =
also use some of the advantages of C. I<o:p></o:p></pre><pre>started to hav=
e a look at CCS6 as I thought I would have to buy a copy of<o:p></o:p></pre=
><pre>IAR for the use of C. I only see one document on the TI website that =
refers<o:p></o:p></pre><pre>to mixing C and assembler and it is quite old. =
Do you have any references to<o:p></o:p></pre><pre>any other documentation =
on mixing the 2 and using IAR?<o:p></o:p></pre><pre><o:p> </o:p></pre>=
<pre>Thanks<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Peter<o:p></o:=
p></pre><pre><o:p> </o:p></pre><pre>-----Original Message-----<o:p></o=
:p></pre><pre>From: <a href=3D"mailto:[email protected]">msp430@yahoog=
roups.com</a> [<a href=3D"mailto:[email protected]">mailto:msp430@yaho=
ogroups.com</a>] <o:p></o:p></pre><pre>Sent: Tuesday, 12 January 2016 5:29 =
AM<o:p></o:p></pre><pre>To: MSP430 List<o:p></o:p></pre><pre>Subject: Re: [=
msp430] Asm source code page?<o:p></o:p></pre><pre><o:p> </o:p></pre><=
pre>On Mon, 11 Jan 2016 19:33:47 +1030, Al wrote:<o:p></o:p></pre><pre><o:p=
> </o:p></pre><blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0p=
t'><pre>I Totally agree with Jon.<o:p></o:p></pre></blockquote><pre><o:p>&n=
bsp;</o:p></pre><pre>=C2=A0 :)<o:p></o:p></pre><pre><o:p> </o:p></pre>=
<blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'><pre>IAR's assem=
bler is excellent, does everything I want, is unlimited, is <o:p></o:p></pr=
e><pre>free, and since I don't use any libraries from third parties there a=
re <o:p></o:p></pre><pre>no royalty issues.<o:p></o:p></pre></blockquote><p=
re><o:p> </o:p></pre><pre>That assembler and linker tool-pair is good.=
I've used a LOT of assemblers<o:p></o:p></pre><pre>in my life and have wri=
tten a few, as well.<o:p></o:p></pre><pre>This one from IAR is about as goo=
d as assemblers for micros usually get. The<o:p></o:p></pre><pre>abstract s=
egmentation model is great. The macro facility could be better,<o:p></o:p><=
/pre><pre>but I consider it "good enough for most things." (I can=
also use M4 or some<o:p></o:p></pre><pre>other tool on the source where I =
feel there are some limitations.<o:p></o:p></pre><pre>Such tools won't be f=
luent with the semantics but they may be fruitfully<o:p></o:p></pre><pre>us=
ed. I just haven't felt enough of a need yet, since IAR's capabilities are<=
o:p></o:p></pre><pre>good enough for now.)<o:p></o:p></pre><pre><o:p> =
</o:p></pre><blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'><pre=
>The IDE is straightforward, and quite good.<o:p></o:p></pre></blockquote><=
pre><o:p> </o:p></pre><pre>It's remarkably easy to get started using a=
nd remains very capable as you<o:p></o:p></pre><pre>advance further over ti=
me. It just wears well over time. They've done a very<o:p></o:p></pre><pre>=
good job on its design. And, fortunately for some of us, have decided to<o:=
p></o:p></pre><pre>offer a fully functional toolset for assembler programme=
rs at no charge.<o:p></o:p></pre><pre>I'm in debt to them for this fact.<o:=
p></o:p></pre><pre><o:p> </o:p></pre><pre>(I'm also in debt for anothe=
r reason -- I've never needed more than an<o:p></o:p></pre><pre>additional =
4k of C generated code for an MSP430 project, so the KickStart<o:p></o:p></=
pre><pre>has been "good enough" for all my project uses so far.)<=
o:p></o:p></pre><pre><o:p> </o:p></pre><blockquote style=3D'margin-top=
:5.0pt;margin-bottom:5.0pt'><pre>It used to do some strange things, but the=
y seem to have been cleaned <o:p></o:p></pre><pre>up over the years, either=
that or I subconsciously avoid them!<o:p></o:p></pre></blockquote><pre><o:=
p> </o:p></pre><pre>I haven't found anything that was "strange.&q=
uot; I have found things that took a<o:p></o:p></pre><pre>moment to conside=
r before I fully understood them. But once I gathered up<o:p></o:p></pre><p=
re>the conceptual model they made good sense to me.<o:p></o:p></pre><pre><o=
:p> </o:p></pre><pre>The only "strange" things are things I'=
ve done myself with their toolset.<o:p></o:p></pre><pre>For example, I need=
ed a way to find the largest common divisor for a pair of<o:p></o:p></pre><=
pre>configuration parameters to help me set up a clocking system that would=
<o:p></o:p></pre><pre>serve two purposes at once with only integer multipli=
er differences in their<o:p></o:p></pre><pre>operation. I hacked up a MACRO=
tool to do exactly that, too. Worked<o:p></o:p></pre><pre>perfectly. Now, =
someone looking at it would see "strange" there, I suppose.<o:p><=
/o:p></pre><pre>But that's my fault, not IARs!<o:p></o:p></pre><pre><o:p>&n=
bsp;</o:p></pre><blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'>=
<pre>I find the syntax is more in line with the vast majority of assemblers=
<o:p></o:p></pre><pre>I've used over the last too many years, no strange t=
hings.<o:p></o:p></pre></blockquote><pre><o:p> </o:p></pre><pre>That's=
pretty much my feeling, too.<o:p></o:p></pre><pre><o:p> </o:p></pre><=
blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'><pre>Their header=
files for each processor are also quite good, but large <o:p></o:p></pre><=
pre>because they are general use for C, c++ and assembler, so I personally =
<o:p></o:p></pre><pre>always clean out all the stuff I am unlikely to use, =
add some stuff <o:p></o:p></pre><pre>that I personally like to use, and ren=
ame the file, so I have an <o:p></o:p></pre><pre>original version incase I =
ever decide to mix assembly and C for example.<o:p></o:p></pre></blockquote=
><pre><o:p> </o:p></pre><pre>Hmm. So far, I've not bothered with that.=
In part, perhaps, because I<o:p></o:p></pre><pre>haven't done as much as y=
ou have and haven't reached a situation where the<o:p></o:p></pre><pre>trou=
ble would have been worth it. In part, perhaps, because I tend not to<o:p><=
/o:p></pre><pre>change standard facilities unless I can clearly justify the=
change. I'd<o:p></o:p></pre><pre>rather use an additional file I create an=
d add it to the inclusion list. But<o:p></o:p></pre><pre>again, you probabl=
y have a wider array of usages than I do and I may very<o:p></o:p></pre><pr=
e>well have made similar choices if I had faced similar situations, too.<o:=
p></o:p></pre><pre><o:p> </o:p></pre><pre>Jon<o:p></o:p></pre><pre><o:=
p> </o:p></pre><blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0=
pt'><pre>Cheers<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Al<o:p></o=
:p></pre><pre><o:p> </o:p></pre><pre>On 11/01/2016 6:15 AM, Jon Kirwan=
<a href=3D"mailto:[email protected]">[email protected]</a> [=
msp430] wrote:<o:p></o:p></pre><blockquote style=3D'margin-top:5.0pt;margin=
-bottom:5.0pt'><pre>On Sat, 9 Jan 2016 22:47:23 -0800, Craig Carmichael wro=
te:<o:p></o:p></pre><pre><o:p> </o:p></pre><blockquote style=3D'margin=
-top:5.0pt;margin-bottom:5.0pt'><pre>... ideas for web pages of sample code=
in Asm?<o:p></o:p></pre></blockquote><pre>Just as an additional note...<o:=
p></o:p></pre><pre><o:p> </o:p></pre><pre>If you are interested in wri=
ting assembly-only projects for the <o:p></o:p></pre><pre>MSP430 and MSP430=
X families, I'd recommend using IAR's Kickstart <o:p></o:p></pre><pre>tools=
. Their assembler is quite general-purpose and does NOT have any <o:p></o:p=
></pre><pre>code size limitations at all. See:<o:p></o:p></pre><pre><o:p>&n=
bsp;</o:p></pre><pre><a href=3D"http://supp.iar.com/FilesPublic/UPDINFO/004=
578/infocenter/product_pac">http://supp.iar.com/FilesPublic/UPDINFO/004578/=
infocenter/product_pac</a><o:p></o:p></pre><pre>kages.html<o:p></o:p></pre>=
<pre><o:p> </o:p></pre><pre>where the 2nd bullet under the Kickstart h=
eading says, "The IAR <o:p></o:p></pre><pre>Assembler delivered is the=
full version without any restrictions" and <o:p></o:p></pre><pre>the =
3rd bullet expands, "The IAR XLINK Linker will link ... an <o:p></o:p>=
</pre><pre>unlimited amount of code originating from assembly code." (=
The 4th <o:p></o:p></pre><pre>bullet adds, "The IAR KickStart C-SPY Si=
mulator ... is unlimited in <o:p></o:p></pre><pre>the amount of assembly co=
de read.") This pretty much means you get an <o:p></o:p></pre><pre>exc=
ellent assembler/linker toolset, plus a very nice IDE and debugger <o:p></o=
:p></pre><pre>for coding purposes and ZERO cost to you. I've used IAR for a=
ssembly <o:p></o:p></pre><pre>coding development and I really like the tool=
s a lot, as they present <o:p></o:p></pre><pre>a very clean, orthogonal des=
ign with all the features you need. Other <o:p></o:p></pre><pre>assembler t=
ools I've used, off and on, tend to have odd "limitations" <o:p><=
/o:p></pre><pre>which are frustrating at times. IAR's tools "just work=
well." Never <o:p></o:p></pre><pre>wished for a feature that I couldn=
't already find in IAR's assembler <o:p></o:p></pre><pre>+ linker toolset.<=
o:p></o:p></pre><pre><o:p> </o:p></pre><pre>You can also explore C/C++=
with IAR's tools, but the free Kickstart <o:p></o:p></pre><pre>version doe=
s limit your final application size.<o:p></o:p></pre><pre>IAR asks a "=
fairly high price" for unlimited C/C++ code sizes. If you <o:p></o:p><=
/pre><pre>do plan on mixing C and assembly and plan on developing larger <o=
:p></o:p></pre><pre>applications then you should consider other tools for a=
cost/benefit <o:p></o:p></pre><pre>analysis. A starting point might be TI'=
s page here:<o:p></o:p></pre><pre><o:p> </o:p></pre><pre><a href=3D"ht=
tp://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/msp/tools_so">http:/=
/www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/msp/tools_so</a><o:p></o=
:p></pre><pre>ftware.page<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>=
However, be aware that this page in no way provides all your options. <o:p>=
</o:p></pre><pre>Rowley and ImageCraft are just two such examples that you =
don't see <o:p></o:p></pre><pre>there:<o:p></o:p></pre><pre><o:p> </o:=
p></pre><pre><a href=3D"http://www.rowley.co.uk/msp430/">http://www.rowley.=
co.uk/msp430/</a><o:p></o:p></pre><pre><a href=3D"https://www.imagecraft.co=
m/devtools_MSP430.html">https://www.imagecraft.com/devtools_MSP430.html</a>=
<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>I'm sure there are others=
, as well, that aren't included in the TI <o:p></o:p></pre><pre>page.<o:p><=
/o:p></pre><pre><o:p> </o:p></pre><pre>If you are doing this all as a =
hobby, then you are free to make your <o:p></o:p></pre><pre>own choices abo=
ut assembly-only or mixed coding styles. Whatever <o:p></o:p></pre><pre>mak=
es you happy works just fine.<o:p></o:p></pre><pre><o:p> </o:p></pre><=
pre>If you have your own product/product-line in mind, then you need to <o:=
p></o:p></pre><pre>be aware of licensing issues (libraries used, as well as=
compiler <o:p></o:p></pre><pre>generated output) for the tools you apply. =
I believe you can use the <o:p></o:p></pre><pre>IAR assembler/linker toolch=
ain for commercial products without paying <o:p></o:p></pre><pre>them a fee=
, so long as you are careful about library use (not using <o:p></o:p></pre>=
<pre>any library other than public domain would be safer.) It sounds like <=
o:p></o:p></pre><pre>you might be in this frame of mind, but it is hard to =
tell.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>For professional con=
tract work, you will want to be able to support <o:p></o:p></pre><pre>mixed=
assembly and C/C++. Clients deserve to have the widest range of <o:p></o:p=
></pre><pre>options available for their project development so that the ove=
rall <o:p></o:p></pre><pre>development process can be optimized for them, w=
eighing all <o:p></o:p></pre><pre>conditions appropriate to their circumsta=
nces. You should then <o:p></o:p></pre><pre>carefully study the various com=
mercial options. But you should ALSO <o:p></o:p></pre><pre>contact the vend=
ors, too, and speak or write to a human there and get <o:p></o:p></pre><pre=
>a feel for what contact and support will be like after you buy their <o:p>=
</o:p></pre><pre>tools. Most MSP430 vendors should be pretty good, I think.=
But it <o:p></o:p></pre><pre>helps to make contact and see how things play=
out before making a <o:p></o:p></pre><pre>final decision and spending your=
money.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>As an employee in =
an organization with more than one programmer, <o:p></o:p></pre><pre>which =
does NOT sound like your situation, you do what has been <o:p></o:p></pre><=
pre>established by careful consideration of your team members. If you are <=
o:p></o:p></pre><pre>a sole employee, then I suppose you get to make your o=
wn choices but <o:p></o:p></pre><pre>you need to make them well for those d=
epending on you.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Jon<o:p><=
/o:p></pre></blockquote></blockquote><pre><o:p> </o:p></pre><pre><o:p>=
</o:p></pre><pre>------------------------------------<o:p></o:p></pre=
><pre>Posted by: Jon Kirwan <a href=3D"mailto:[email protected]"><=
;[email protected]></a><o:p></o:p></pre><pre>--------------------=
----------------<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>To unsubs=
cribe from the msp430 group, send an email to:<o:p></o:p></pre><pre><a href=
=3D"mailto:[email protected]">[email protected]</=
a><o:p></o:p></pre><pre><o:p> </o:p></pre><pre><o:p> </o:p></pre>=
<pre>------------------------------------<o:p></o:p></pre><pre><o:p> <=
/o:p></pre><pre>Yahoo Groups Links<o:p></o:p></pre><pre><o:p> </o:p></=
pre><pre><o:p> </o:p></pre><pre><o:p> </o:p></pre><pre><o:p> =
;</o:p></pre><pre><o:p> </o:p></pre><pre><o:p> </o:p></pre><pre><=
o:p> </o:p></pre><pre>------------------------------------<o:p></o:p><=
/pre><pre>Posted by: "Peter Grey" <a href=3D"mailto:martech@ozema=
il.com.au"><[email protected]></a><o:p></o:p></pre><pre>--------=
----------------------------<o:p></o:p></pre><pre><o:p> </o:p></pre><p=
re>To unsubscribe from the msp430 group, send an email to:<o:p></o:p></pre>=
<pre><a href=3D"mailto:[email protected]">msp430-unsubscribe@e=
groups.com</a><o:p></o:p></pre><pre><o:p> </o:p></pre><pre><o:p> =
</o:p></pre><pre>------------------------------------<o:p></o:p></pre><pre>=
<o:p> </o:p></pre><pre>Yahoo Groups Links<o:p></o:p></pre><pre><o:p>&n=
bsp;</o:p></pre><pre><*> To visit your group on the web, go to:<o:p><=
/o:p></pre><pre>=C2=A0=C2=A0=C2=A0 <a href=3D"http://groups.yahoo.com/group=
/msp430/">http://groups.yahoo.com/group/msp430/</a><o:p></o:p></pre><pre><o=
:p> </o:p></pre><pre><*> Your email settings:<o:p></o:p></pre><p=
re>=C2=A0=C2=A0=C2=A0 Individual Email | Traditional<o:p></o:p></pre><pre><=
o:p> </o:p></pre><pre><*> To change settings online go to:<o:p><=
/o:p></pre><pre>=C2=A0=C2=A0=C2=A0 <a href=3D"http://groups.yahoo.com/group=
/msp430/join">http://groups.yahoo.com/group/msp430/join</a><o:p></o:p></pre=
><pre>=C2=A0=C2=A0=C2=A0 (Yahoo! ID required)<o:p></o:p></pre><pre><o:p>&nb=
sp;</o:p></pre><pre><*> To change settings via email:<o:p></o:p></pre=
><pre>=C2=A0=C2=A0=C2=A0 <a href=3D"mailto:[email protected]">m=
[email protected]</a> <o:p></o:p></pre><pre>=C2=A0=C2=A0=C2=A0=
=C2=A0<a href=3D"mailto:[email protected]">msp430-fullfea=
[email protected]</a><o:p></o:p></pre><pre><o:p> </o:p></pre><pre>=
<*> To unsubscribe from this group, send an email to:<o:p></o:p></pre=
><pre>=C2=A0=C2=A0=C2=A0 <a href=3D"mailto:[email protected]=
om">[email protected]</a><o:p></o:p></pre><pre><o:p> =
</o:p></pre><pre><*> Your use of Yahoo Groups is subject to:<o:p></o:=
p></pre><pre>=C2=A0=C2=A0=C2=A0 <a href=3D"https://info.yahoo.com/legal/us/=
yahoo/utos/terms/">https://info.yahoo.com/legal/us/yahoo/utos/terms/</a><o:=
p></o:p></pre><pre><o:p> </o:p></pre><pre><o:p> </o:p></pre></blo=
ckquote><p class=3DMsoNormal><br><br><br><br><o:p></o:p></p><div><p class=
=3DMsoNormal><span style=3D'color:white'><o:p></o:p></span></p></div></div>
<!-- |**|begin egp html banner|**| -->
<br>
<br>
<!-- |**|end egp html banner|**| -->
<div width=3D"1" style=3D"color: white; clear: both;"/>__._,_.___</div>
=20=20=20=20=20=20
=20=20
=20=20=20=20
<div id=3D"fromDMARC" style=3D"clear:both; margin-top: 10px;">
<hr style=3D"height:2px ; border-width:0; color:#E3E3E3; backgroun=
d-color:#E3E3E3;">
Posted by: "Peter Grey" <[email protected]> =
<hr style=3D"height:2px ; border-width:0; color:#E3E3E3; background-=
color:#E3E3E3;">
</div>
<!-- Start Recommendations -->
<!-- End Recommendations -->
<!-- |**|begin egp html banner|**| -->
<br><br>
<tt>
To unsubscribe from the msp430 group, send an email to:<BR>
[email protected]<BR>
<BR>
</tt>
<br><br>
<!-- |**|end egp html banner|**| -->
<!-- |**|begin egp html banner|**| -->
<img src=3D"http://geo.yahoo.com/serv?s=3D97476590/grpId=3D2342629/grpspI=
d=3D1705005378/msgId=3D52486/stime=3D1452572025" width=3D"1" height=3D"1"> =
<br>
<!-- |**|end egp html banner|**| -->
=20=20=20=20
<!-- |**|begin egp html banner|**| -->
<br>
=20=20=20
=20=20=20=20=20
=20
<!-- |**|begin egp html banner|**| -->
<div id=3D"ygrp-vital" style=3D"background-color: #f2f2f2; font-fam=
ily: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">
<span id=3D"vithd" style=3D"font-weight: bold; color: #333; text-tr=
ansform: uppercase; "><a href=3D"https://groups.yahoo.com/neo/groups/msp430=
/info;_ylc=3DX3oDMTJlNTM3NWFvBF9TAzk3MzU5NzE0BGdycElkAzIzNDI2MjkEZ3Jwc3BJZA=
MxNzA1MDA1Mzc4BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTQ1MjU3MjAyNQ--" style=3D"te=
xt-decoration: none;">Visit Your Group</a></span>
<ul style=3D"list-style-type: none; margin: 0; padding: 0; display: in=
line;">
<li style=3D"border-right: 1px solid #000; font-weight: 700; di=
splay: inline; padding: 0 5px; margin-left: 0;">
<span class=3D"cat"><a href=3D"https://groups.yahoo.com/neo/groups/ms=
p430/members/all;_ylc=3DX3oDMTJmcTNhcjIwBF9TAzk3MzU5NzE0BGdycElkAzIzNDI2Mjk=
EZ3Jwc3BJZAMxNzA1MDA1Mzc4BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzE0NTI1NzIwMjU-" =
style=3D"text-decoration: none;">New Members</a></span>
<span class=3D"ct" style=3D"color: #ff7900;">1</span>
</li>
</ul>
</div>
<div id=3D"ft" style=3D"font-family: Arial; font-size: 11px; margin-top: 5p=
x; padding: 0 2px 0 0; clear: both;">
<a href=3D"https://groups.yahoo.com/neo;_ylc=3DX3oDMTJkMjh0Nm1sBF9TAzk3ND=
c2NTkwBGdycElkAzIzNDI2MjkEZ3Jwc3BJZAMxNzA1MDA1Mzc4BHNlYwNmdHIEc2xrA2dmcARzd=
GltZQMxNDUyNTcyMDI1" style=3D"float: left;"><img src=3D"http://l.yimg.com/r=
u/static/images/yg/img/email/new_logo/logo-groups-137x15.png" height=3D"15"=
width=3D"137" alt=3D"Yahoo! Groups" style=3D"border: 0;"/></a>
<div style=3D"color: #747575; float: right;"> • <a href=3D"https://i=
nfo.yahoo.com/privacy/us/yahoo/groups/details.html" style=3D"text-decoratio=
n: none;">Privacy</a> • <a href=3D"mailto:msp430-unsubscribe@yahoogrou=
ps.com?subject=3DUnsubscribe" style=3D"text-decoration: none;">Unsubscribe<=
/a> • <a href=3D"https://info.yahoo.com/legal/us/yahoo/utos/terms/" st=
yle=3D"text-decoration: none;">Terms of Use</a> </div>
</div>
<!-- |**|end egp html banner|**| -->
</div> <!-- ygrp-msg -->
=20=20=20
<br>
<!-- |**|end egp html banner|**| -->
<div style=3D"color: white; clear: both;"/>__,_._,___</div>
</body></html>
------=_NextPart_000_0057_01D14D32.ABA3B030--