<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Joral Blog</title>
	<atom:link href="http://www.joral.ca/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.joral.ca/blog</link>
	<description></description>
	<lastBuildDate>Thu, 02 Sep 2010 22:21:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Case For Upgrading From TrueSTUDIO Lite to TrueSTUDIO Pro</title>
		<link>http://www.joral.ca/blog/?p=195</link>
		<comments>http://www.joral.ca/blog/?p=195#comments</comments>
		<pubDate>Thu, 02 Sep 2010 22:21:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joral.ca/blog/?p=195</guid>
		<description><![CDATA[A lot of customers ask why the should upgrade from the free Lite evaluation version of TrueSTUDIO to the paid-for Pro version, especially when the Lite version seems to work &#8220;just fine.&#8221; It is a fair question. The Lite version is an excellent tool for evaluation and prototyping work, but when the effort turns into [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of customers ask why the should upgrade from the free Lite evaluation version of TrueSTUDIO to the paid-for Pro version, especially when the Lite version seems to work &#8220;just fine.&#8221; It is a fair question. The Lite version is an excellent tool for evaluation and prototyping work, but when the effort turns into the full product development cycle, more and better tools are needed to ensure productivity and software quality. Here  are some good reasons why TrueSTUDIO is a tool that will help developers get better applications out the door faster and in a cost effective manner.<span id="more-195"></span></p>
<p><strong>Support: </strong>TrueSTUDIO Pro is sold in North America with 12-months of technical support included in the price. When is it good to have tech support?<br />
<strong>Eclipse Help:</strong> TrueSTUDIO is based on the Eclipse framework. From time-to-time customers require assistance in resolving Eclipse issues. Atollic has several Eclipse experts who monitor developments, and who are capable of suggesting effective work- arounds to keep your development going during the time when Eclipse bugs are being fixed.<br />
<strong>Updates:</strong> Support also means you get updates to the tools that support new devices with project startup wizards, linker command files, flash programming utilities and have compiler bug fixes and enhancements. The debugger is another area where updates confer value as the capabilities in this area are constantly evolving.<br />
<strong>Time to Market:</strong> Most customers do not attempt to complete important projects with unsupported tools, because maintaining their own tools takes time away from their real mission of developing their product and making it better than those of the competitors.</p>
<p><strong>Superior</strong><strong> Debug Capability:</strong> TrueSTUDIO Pro debugging capabilities are considerably superior to those of the evaluation version Lite tools.<br />
<strong>JTAG Probe Flexibility:</strong> TrueSTUDIO Pro version supports a number of popular  JTAG probes including Segger J-Link. Segger J-Link is mentioned particularly because many companies choose this tool for reasons other than the fact that it is a state-of-the-art, cost effective JTAG debug solution. The value add in Segger J-Link comes when companies are interested in doing low volume production runs prior to turning production over to another party. Those wanting this capability can buy software that turns J-Link into a production programmer. No other JTAG debug probe on the market has this option to do double duty as a debugger and a production programmer. Other JTAG probes confer their own special capabilities as well, and give the developers choice in this diverse market.<br />
<strong>Special Function Register Displays:</strong> TrueSTUDIO Pro has an SFR viewer. The SFR viewer shows you detailed information on the special function registers of the part, including value, address, individual bits. Changing bits from the SFR window is easy. This is indispensable, as the SFRs are where the real work of an embedded applicaton is done, and where the core meets the outside world. Without easy access to this memory space, development and debugging become needlessly tedious and time consuming.</p>
<p><strong></strong> <a href="http://www.joral.ca/blog/wp-content/uploads/2010/09/Set-up-Fault-Handlers-in-SFR-Viewer.PNG"><img class="alignleft size-full wp-image-198" title="Set up Fault Handlers in SFR Viewer" src="http://www.joral.ca/blog/wp-content/uploads/2010/09/Set-up-Fault-Handlers-in-SFR-Viewer.PNG" alt="Set up Fault Handlers in SFR Viewer" width="830" height="561" /></a></p>
<p><strong></strong> </p>
<p><strong>The SFR Viewer allows you to efficiently set bits in the registers and register sub fields. Just click on the subfield name and go to the corresponding bit and make changes by clicking on individual bits. Notice that below the bit field, useful information about register is displayed including the sub-field name, and register properties.</strong></p>
<p> <a href="http://www.joral.ca/blog/wp-content/uploads/2010/09/Bus-Fault-while-running.PNG"><img class="alignleft size-full wp-image-199" title="Bus Fault while running" src="http://www.joral.ca/blog/wp-content/uploads/2010/09/Bus-Fault-while-running.PNG" alt="Bus Fault while running" width="755" height="572" /></a></p>
<p><strong>In this case, a bus fault error occured during execution of the application code. Using the Special Function Register Viewer, the user quickly identifies the particular sub-field of the register so that precise information can be obtained about the nature of the fault.</strong>  </p>
<p><strong>GUI Support:</strong> TrueSTUDIO Pro implements many more GUI controls that the Lite version. The Lite version gives you minimal ability to configure and control your application via the GUI. You have to resort to knowing gcc compiler and linker switches to accomplish a lot of common tasks. The superior GUI in Pro version makes control easy, fast and positive and helps you set up projects faster, configure them better, and take advantage of your options better.</p>
<p><strong>PC Compiler: </strong>TrueSTUDIO Pro version includes x86 compiler and linker. Why is this important? Many embedded developers go out and buy VisualC++ or some other tool for tasks like algorithm development that they prefer to do in the more familiar environment of a PC. Further, a lot of engineers use PC compilers to create test harnesses that are interfaced to the embedded target via serial or parallel ports or Ethernet/TCP/IP. With the Pro version&#8217;s multi-target debugging capability, you could for example start the PC session in one instance of the debugger and step through PC code that exercises the target. In another instance of the debugger, you could see how the target reacts to signals and test conditions presented by the test harness.</p>
<p><strong>Code Review Tools:</strong> TrueSTUDIO Pro has tools for initiating, implementing and managing Code Review sessions by teams of developers. Integration with revision control repositories means that TrueSTUDIO developers can collaborate on code review sessions  whether they are together in the same office or different sites across the world. Respected embedded systems developer, author and lecturer Jack Ganssle argues cogently at: <a href="http://www.ganssle.com/inspections.pdf">http://www.ganssle.com/inspections.pdf</a> that the cheapest way to avoid software bugs is to not put them there in the first place, and that the best way to make that happen is to conduct code reviews that involve the development team and other project stakeholders.</p>
<p><strong>Revision Control Clients:</strong> TrueSTUDIO Pro has a client for revision control database servers such as Subversion and CVS. Revision control is an absolutely indispensable element of the professional software development process. Serious organizations cannot neglect this aspect of the development process without serious risk to product quality and possible legal exposure. It is not a question of whether or not you incorporate this into the software build process, it is how. TrueSTUDIO Pro makes it considerably easier to do this essential task by incorporating the client into the IDE. You do not have to change the way you work if you are using an existing Revision Control scheme, TrueSTUDIO just makes it easier because you no longer have to shell out of the IDE to accomplish these tasks.</p>
<p><strong>Bug Tracking Clients:</strong> TrueSTUDIO Pro has a client for bug tracking database servers. You can use any one of a number of popular and open source bug tracking database servers such as Bugzilla, TRAC etc. Again, you do not have to change the way you work, TrueSTUDIO Pro just makes it easier, faster and more convenient. Not only can you manage bug reports, but you can manage your list of ideas for future revisions and enhancements using the same mechanisms. </p>
<p><strong>TrueANALYZER Evaluation:</strong> TrueSTUDIO Pro has a one week evaluation period of Atollic TrueANALYZER. TrueANALYZER is a high level code analysis tool that is capable of MC/DC coverage of code. TrueANALYZER is used by serious software developers who must adhere to rigorous code testing standards to ensure quality, reliability and availability of their applications. </p>
<p><strong>Lots of Nice Features:</strong> TrueSTUDIO Pro has a NotePad, Programmer’s Calculator, Instant Search, Full Screen Option, Regular Expression Coloring in the build log among a host of other useful features that help developers increase productivity on the way to a smoother development experience.</p>
<p>There are a number of other reasons that developers may wish to consider upgrading to TrueSTUDIO Pro. These are found in conveniently tabulated form at: <a href="http://atollic.com/download/Atollic_TrueSTUDIO_Feature_comparison.pdf">http://atollic.com/download/Atollic_TrueSTUDIO_Feature_comparison.pdf</a></p>
<p>Please call or email if you wish to discuss upgrading to TrueSTUDIO Pro.</p>
<p>Mark</p>
<p>Mark Moran<br />
Senior FAE<br />
Joral Technologies<br />
<a href="http://www.joraltechnologies.com/">www.joraltechnologies.com<br />
</a>mark.moran@joral.ca<br />
Voice: 1-877-465-6725<br />
Fax: 1-866-735-1813<br />
Skype Account: markm94133</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joral.ca/blog/?feed=rss2&amp;p=195</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aviators and Embedded C Programmers &#8211; What Do They Have in Common?</title>
		<link>http://www.joral.ca/blog/?p=173</link>
		<comments>http://www.joral.ca/blog/?p=173#comments</comments>
		<pubDate>Wed, 01 Sep 2010 16:29:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joral.ca/blog/?p=173</guid>
		<description><![CDATA[What do embedded C developers and aviators have in common? Bear with me for a couple of paragraphs while I set up a very important story about making basic mistakes in the respective professions. 
Years ago, when I had more money and free time than I do nowadays, I used to enjoy jumping out of airplanes [...]]]></description>
			<content:encoded><![CDATA[<p>What do embedded C developers and aviators have in common? Bear with me for a couple of paragraphs while I set up a very important story about making basic mistakes in the respective professions. <span id="more-173"></span></p>
<p>Years ago, when I had more money and free time than I do nowadays, I used to enjoy jumping out of airplanes for fun. The only non-fun part was enduring the endless stream of rhetorical questions about “jumping out of a perfectly good airplane” from those uninitiated to the joys of this activity. Trust me; some of those old crates that jump zone owners used to haul our butts up to altitude were far from perfect… But I digress. </p>
<p>Anyway, one fine summer afternoon in Northhampton Massachusetts, I was donning my parachute when I happened to glance over at the active runway. There, I saw a twin engine Beechcraft Bonanza coming in for a landing. He was way too close to the ground to have his wheels still up. Seconds later, I was treated to the unusual sight of an aircraft being reunited with earth by its belly rather than its wheels. Ironically, it would be the second time within a year that I would witness this uncommon event. </p>
<p>Aviators have a saying about their brethren who land with their wheels up: “<em>There are two kinds of pilots – those who have and those who will</em>.” So, what do embedded systems programmers have in common aviators? The answer is that at one time or other, both will violate the simplest, most elementary and cardinal rule of their trade. For flyers, it is making sure to lower the wheels prior to landing. For embedded C programmers, it is remembering to use the <strong>volatile</strong> keyword when and where appropriate. </p>
<p><strong><em>It is not possible to overstate the importance of the volatile keyword in embedded systems programming</em></strong>. When teaching C programming, volatile gets the short shrift from most instructors. Programming courses typically focus on procedural programs, the kind that have a start and an end (at least in principle if not in practice). In these cases, programmers can write successful programs for years without ever needing to use the volatile qualifier. In event driven programming paradigms that dominate embedded systems, you are headed for big trouble if you do not understand the proper use of volatile. </p>
<p>So, what does the volatile keyword do for you? When you declare a variable, volatile tells the compiler that the value of the variable may change at any time-without any action being taken by the code the compiler finds nearby. Using volatile will tell the compiler always to read the value of the variable whenever it is used, say in a test, even if the code in the module in which the variable being used does not change it. When compiler  optimization is completely turned off, most compilers make no attempt to eliminate potentially redundant read/writes of memory locations. Therefore, omitting the volatile keyword in a declaration probably will not hurt you in this case.</p>
<p>OK, now crank up the optimization one notch, and the compiler says to itself, “<em>let me look for situations where this variable has not been written to lately. If it hasn’t, I don’t have to read it again, I can just use an old or cached value</em>.” That might be OK in a procedural program where changes to a variable value usually happen locally. The volatile keyword is important in an event drive program employing a foreground/background strategy because the compiler may not realize that a variable used in the foreground was unexpectedly modified by a background process. So the compiler’s assumption “<em>I can just use the old value</em>” is no longer valid. The volatile keyword is like saying to the compiler “<em>hey buddy, not so fast, read that variable’s value anyway even if you think the read is redundant</em>.” This ensures that tests of that variable’s value in a foreground process come out right, reflecting any updates made to that value by the background process. </p>
<p>To make matters worse, omitting volatile where appropriate almost never hurts you when you are building your code using the “No Optimization” level of your compiler. Once you start using optimization, mysterious behavior happens that you did not see before. Debugging problems resulting from not using volatile will drive you crazy because the code appears to be correct.  Different compilers do different things, so there is no hard fast rule to predict what kinds of problems will occur. Sometimes you see code jumping to incorrect locations, or applications may just stop executing entirely. Since these problems occur at higher optimization levels it is hard to set meaningful breakpoints with a debugger. You begin to wonder about things like device driver headers, hardware dependencies, compiler bugs and all sorts of other stuff that distracts your attention from the real problem. Solving these kinds of problems often requires you to read and understand the assembly language that the compiler produces, usually the developer&#8217;s avenue of last resort.</p>
<p>Here is your first takeaway: <strong><em>Scrutinize your code for any variables used between modules and between processes</em></strong>. They are probably good candidates for being declared with the volatile keyword. </p>
<p>Here is your second takeaway: <strong><em>Even if you think you know about volatile, read up on what the experts have to say and review some illustrative examples</em>.</strong> The use of the volatile keyword has been described and shown in examples far more eloquently than I can do so. Here are some resources: </p>
<p><em>&#8220;Introduction to the Volatile Keyword</em>,&#8221; <strong>Nigel Jones</strong> – originally published in 2001, this Golden Oldie is the best works on the subject, and has been frequently cited over the years. See it at: <a href="http://www.eetimes.com/discussion/other/4023801/Introduction-to-the-Volatile-Keyword">http://www.eetimes.com/discussion/other/4023801/Introduction-to-the-Volatile-Keyword</a> or <a href="http://www.netrino.com/node/80">http://www.netrino.com/node/80</a> </p>
<p>Nigel also writes at <a href="http://www.embeddedgurus.com/stack-overflow">www.embeddedgurus.com/stack-overflow</a> these days.</p>
<p>By the way, if you are new, semi-new, moderately experienced, or an open minded veteran in embedded systems programming, it is worth your while to read whatever Nigel Jones has to say on embedded C development. His advice is pertinent, sound, and should be taken to heart by everyone writing embedded applications in C. Another good guy to know about is <strong>Dan Saks</strong>. Dan writes more on the C++ side of things, but his stuff should be carefully reviewed by embedded C programmers as well. Rounding out the trio of amigos of wise embedded developers is <strong>Jack Ganssle</strong>. His <em><strong>Break Points</strong></em> column that you see at: <a href="http://www.eetimes.com/design/embedded">http://www.eetimes.com/design/embedded</a> should be read by embedded developers the way devout Christians read the Bible. If three wise men are good, why not go for four? Look in on <strong>Michael Barr</strong>&#8217;s site at <a href="http://www.netrino.com/">http://www.netrino.com/</a> for loads of good embedded programming tips and tricks of the trade.</p>
<p><strong>More Resources:</strong> Other words of wisdom on the use of volatile and other equally important C constructs that especially apply to embedded systems work can be found at: <a href="http://www.netrino.com/node/241">http://www.netrino.com/node/241</a> </p>
<p><strong>Wikipedia</strong>, as usual chimes in with some excellent advice, this time at: <a href="http://en.wikipedia.org/wiki/Volatile_variable">http://en.wikipedia.org/wiki/Volatile_variable</a> </p>
<p>A broader discussion that includes some excellent comments on volatile is at <strong>wikibooks</strong>: <a href="http://en.wikibooks.org/wiki/Embedded_Systems/C_Programming">http://en.wikibooks.org/wiki/Embedded_Systems/C_Programming</a> </p>
<p>This article at <strong>safercode.com</strong> dives in a bit further and explores when volatile may not be appropriate as well: <a href="http://www.safercode.com/blog/2009/02/24/volatile-c-keyword-myths-dispelled.html">http://www.safercode.com/blog/2009/02/24/volatile-c-keyword-myths-dispelled.html</a> </p>
<p>If you are using C++ in embedded systems, <strong>Dr. Dobbs Journal</strong> has some good thoughts at: <a href="http://www.drdobbs.com/184403766;jsessionid=R5KIPGEPCGDZHQE1GHPSKH4ATMY32JVN">http://www.drdobbs.com/184403766;jsessionid=R5KIPGEPCGDZHQE1GHPSKH4ATMY32JVN</a></p>
<p>Every embedded developer’s browser should have a bookmark for a web site called <strong>stackoverflow.com.</strong> They have a nice little example of programming problems solved at: <a href="http://stackoverflow.com/questions/72552/c-when-has-the-volatile-keyword-ever-helped-you">http://stackoverflow.com/questions/72552/c-when-has-the-volatile-keyword-ever-helped-you</a> </p>
<p>So there you have it, an amusing little story from real life, a salient analogy between two apparently disparate professions, an introduction into why the volatile keyword is important in C embedded systems applications, and some great resources for further reading. Enjoy!</p>
<p>Send your comments, questions, complaints to me at: </p>
<p>Mark Moran<br />
Senior FAE<br />
Joral Technologies<br />
<a href="http://www.joraltechnologies.com">www.joraltechnologies.com</a><br />
<a href="mailto:mark.moran@joral.ca">mark.moran@joral.ca</a><br />
Voice: 1-877-465-6725<br />
Fax: 1-866-735-1813<br />
Skype Account: markm94133</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joral.ca/blog/?feed=rss2&amp;p=173</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Frequently Asked Questions From Users Getting Started With Atollic TrueSTUDIO</title>
		<link>http://www.joral.ca/blog/?p=151</link>
		<comments>http://www.joral.ca/blog/?p=151#comments</comments>
		<pubDate>Wed, 25 Aug 2010 15:54:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joral.ca/blog/?p=151</guid>
		<description><![CDATA[Users new to Eclipse based development tools are sometimes a bit perplexed at some of the error conditions and messages generated when things don’t go quite as planned. Welcome to the club. Eclipse has a lot of virtues, but informative error messages are low on the list. To be fair, all kinds of software suffers [...]]]></description>
			<content:encoded><![CDATA[<p>Users new to Eclipse based development tools are sometimes a bit perplexed at some of the error conditions and messages generated when things don’t go quite as planned. <span id="more-151"></span>Welcome to the club. Eclipse has a lot of virtues, but informative error messages are low on the list. To be fair, all kinds of software suffers from this problem, so lets take a look at some of the things that sometimes stymie developers as they fire up Atollic TrueSTUDIO for the first time. </p>
<p><strong>Question: I have built a project using the Wizard, and when I click on the launch debug icon, I see a pop up window saying:</strong></p>
<p>Unable to Launch </p>
<p>      The selection cannot be launched, there are no recent launches </p>
<p>Answer: This is a by product of the ability of Eclipse to keep more than one debug configuration for a given project. When you launch, Eclipse resolves the debug session that it thinks appropriate. To do this it looks for clues like, but not limited to, which projects are open, which project is in focus, which file is in focus etc. I observed this error once after building a fresh project using the Wizard, and pausing to investigate the warnings produced by the compiler. In doing so, I inadvertently left the ‘Problems’ window in focus. This inhibited Eclipse’s ability to resolve the correct debug configuration. Clicking on the project name in the Project Explorer window usually solves this. </p>
<p><strong>Question: When launching the debugger, it appears to program the part, but the debugger comes up running instead of stopped at the first line of main.c, and the code window is blank.</strong></p>
<p><a href="http://www.joral.ca/blog/wp-content/uploads/2010/08/Trying_to_load_flash_into_RAM1.PNG"><img class="alignleft size-full wp-image-158" title="Trying_to_load_flash_into_RAM" src="http://www.joral.ca/blog/wp-content/uploads/2010/08/Trying_to_load_flash_into_RAM1.PNG" alt="Trying_to_load_flash_into_RAM" width="967" height="705" /></a></p>
<p>Answer: Check to see that your build matches the way the BOOT pins on your board are configured. Pay particular attention to the state of BOOT0. According to the ST documentation, this must be grounded for Flash operation. On the ST 3210x evaluation boards, Switchs SW1 and SW2 must be set appropriately. See your documentation. Below is a portion of the schematic for the STM3210C showing how ST configures BOOT0.</p>
<p> <a href="http://www.joral.ca/blog/wp-content/uploads/2010/08/STM3210C_BOOT01.PNG"><img class="alignleft size-full wp-image-161" title="STM3210C_BOOT0" src="http://www.joral.ca/blog/wp-content/uploads/2010/08/STM3210C_BOOT01.PNG" alt="STM3210C_BOOT0" width="541" height="506" /></a></p>
<p>Further discussion: In the figure taken from TrueSTUDIO/STM32, the code was built by TrueSTUDIO for Flash, and programmed into flash. You can see that in the Console window by viewing the load reports which show various segments going into Flash starting at address 0&#215;80000000, which is Flash for the Cortex M3 part. In this case, the target STM3210C was set to execute code from RAM. Note that there is a cryptic error message saying 0&#215;2000001e2 in ?? (). Also there is a message where the code should be saying that &lt;Symbol is not available&gt; 0&#215;20000004. These are hints that execution is kicking off expecting to find code in RAM, but in fact, the code is in Flash. You can verify this with the ST-Link utility by selecting View\Device Memory from the main menu option. You will see the stack pointer with a value of something like 0&#215;00000120 at address 0&#215;08000000, followed by the address of the reset vector, which is something like 0&#215;080015B9 in the next word.</p>
<p>If you do not have the ST-Link utility, get it here:</p>
<p><a href="http://www.st.com/mcu/familiesdocs-110.html">http://www.st.com/mcu/familiesdocs-110.html</a></p>
<p>Scroll to the bottom of the page.</p>
<p><strong>Question: Sometimes when I am going through the edit/build/debug/rebuild cycle, I see a message pop up about being unable to clear a breakpoint when I launch the debug configuration.</strong> </p>
<p>Answer: This issue is unresolved and under investigation at this point. It may be an Eclipse but, or it may be a problem with gdbserver. However, a workaround is to use ST-Link to erase the chip, and then restart TrueSTUDIO. This will resolve the problem. </p>
<p><strong>Question:  When in an interrupt service routine, I try to put the cursor on a line of code and run to that line by pressing CTRL-R. I see a message like:</strong></p>
<p> <a href="http://www.joral.ca/blog/wp-content/uploads/2010/08/CTRL-R_within_isr1.PNG"><img class="alignleft size-full wp-image-163" title="CTRL-R_within_isr" src="http://www.joral.ca/blog/wp-content/uploads/2010/08/CTRL-R_within_isr1.PNG" alt="CTRL-R_within_isr" width="1220" height="817" /></a></p>
<p>Pressing CTRL-R again causes gdbserver to halt.</p>
<p> </p>
<p>Answer: As of TrueSTUDIO(R)/STM32 ver 1.4.0, this is a bug in gdbserver. There is a beta available that fixes this problem. Email <a href="mailto:mark.moran@joral.ca">mark.moran@joral.ca</a> for the beta version of gdbserver and instructions how to install.</p>
<p>Got a question or comment? Sent bouquets and brickbats to: </p>
<p>Mark Moran<br />
Senior FAE<br />
Joral Technologies<br />
<a href="http://www.joraltechnologies.com">www.joraltechnologies.com</a><br />
<a href="mailto:mark.moran@joral.ca">mark.moran@joral.ca</a><br />
Voice: 1-877-465-6725<br />
Fax: 1-866-735-1813<br />
Skype Account: markm94133</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joral.ca/blog/?feed=rss2&amp;p=151</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building Example Code From ST Standard Peripheral Library with TrueSTUDIO</title>
		<link>http://www.joral.ca/blog/?p=132</link>
		<comments>http://www.joral.ca/blog/?p=132#comments</comments>
		<pubDate>Tue, 03 Aug 2010 20:53:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joral.ca/blog/?p=132</guid>
		<description><![CDATA[There are many interesting code examples in the ST Microelectronics Standard Peripheral Library that illustrate the operation of various peripheral on board STM32 parts. These are invaluable learning aids as well as the basis practical code snippets that embedded developers can include directly into their products.
Downloaders of Atollic TrueSTUDIO Lite evaluation version will no doubt [...]]]></description>
			<content:encoded><![CDATA[<p>There are many interesting code examples in the ST Microelectronics <em><strong>Standard Peripheral Library</strong></em> that illustrate the operation of various peripheral on board STM32 parts. These are invaluable learning aids as well as the basis practical code snippets that embedded developers can include directly into their products.<span id="more-132"></span></p>
<p>Downloaders of Atollic TrueSTUDIO Lite evaluation version will no doubt be keen to explore these code examples as part of their effort to evaluate the suitability of both the microcontroller and the library for use in their projects. This article gives developers new to TrueSTUDIO a step-by-step tutorial on getting these projects up and running with TrueSTUDIO.</p>
<p>This article assumes that the user has a basic working knowledge of Workspaces, Projects, the Build Environment and launching a Debug Session. It also expects that the user has exercised the TrueSTUDIO project Wizard at least once to create the basic project template and put the code into memory using an ST-Link JTAG probe. For a quick overview of these topics, the user if referred to the QuickSTART document on the Atollic site at: <a href="http://www.atollic.com/download/Atollic_TrueSTUDIO_STM32_QuickstartGuide.pdf">http://www.atollic.com/download/Atollic_TrueSTUDIO_STM32_QuickstartGuide.pdf</a></p>
<p>So, let’s build a project! This example shows how to build the SysTick example  which is found in the ST Standard Peripheral Library in the folder path: <strong><em>STM32F10x_StdPeriph_Lib_V3.3.0\Project\STM32F10x_StdPeriph_Examples\SysTick</em></strong>.</p>
<p>This example blinks the LEDs on an ST evaluation board at different rates using a delay that works off of the interrupt handler for the SysTick interrupt. It is easy to understand, and works “out of the box.” I am using the STM3210C board in this example, but the procedure is basically the same for the ‘B’ and ‘E’ boards as well.</p>
<p>The first step is to generate an STM32 project for the STM3210C board using the Wizard. Start by selecting the appropriate Workspace by either switching to it, or accepting the default Workspace at startup. The select File-&gt;New-&gt;C-Project from the Menu bar in TrueSTUDIO. Fill in the first dialogue box that pops up with your project name, and select STM32C Project under the &#8216;Executable&#8217; category. Click &#8216;Next.&#8217;</p>
<p>Fill out ensuing dialogue box with the board you are using. I have an STM3210C, so I check that one. Doing this greys out the microcontroller family and microcontroller pull down lists . Then I select RAM. You could leave the default memory as FLASH, but I use RAM to save on my flash write/erase cycles and because I like to leave my board jumpers in the RAM position as much as possible. As we will see, you must add a line of code to main.c later on to tell the application that you want to look for the interrupt vector table in RAM. Finally, your board must be jumpered to execute code from RAM. This is described in the ST STM3210x documentation On the STM3210C board, that means SW1 and SW2 are switched to the &#8216;1&#8242; position, which is to the right.</p>
<p>Finally the Wizard wants to know what debug probe you want to use. Lite users are limited to the ST-Link probe, but Pro users can use a variety of JTAG dongles. You can safely accept the default Debug and Release versions of the configurations on the last dialogue box.</p>
<p>Once you exit the dialogue boxes, the Project Explorer window will be populated with your project structure, and it will build the project automatically. (This is a configuration option in the Build environment. If you don’t like automatic builds, you can highlight the project, right click and select ‘Properties’ and change the configuration in the C/C++ Build dialogue box). You will see a successful build. If you click on the ‘Problems’ tab, you will see warnings related to minor coding problems that can safely be ignored for the purpose of this exercise. What you have built so far is the default project produced by the Project Wizard in TrueSTUDIO. It is basically a main() with some board configuration and a simple while loop that has a counter and calls an LED toggling routine. This project is <em><strong>not</strong></em> our final goal. We will now adapt this project by substituting the appropriate modules from the SysTick example.</p>
<p>Now, what you need to do is to delete the following files from the <strong>src</strong> directory in your project:</p>
<p>main.c</p>
<p>stm3210x_it.c</p>
<p>stm3210x_it.h</p>
<p>There are two different ways to incorporate the appropriate replacements into your project, copying them into the src folder of your local project directory so as to create local copies or linking to the files in the ST Standard Peripheral Library distribution. For this exercise, I will create local copies. Because I chose RAM memory for execution in my project configuration previously, this will necessitate adding a line of code to the main.c file. If I were to link to the main.c in <em><strong>STM32F10x_StdPeriph_Lib_V3.3.0\Project\STM32F10x_StdPeriph_Examples\SysTick</strong></em>, then I would be modifying that copy. This is probably not a good idea, as I would like to leave that copy “pristine” for future reference and usage.</p>
<p>Navigate to the code in folder <em><strong>..\ STM32F10x_StdPeriph_Lib_V3.3.0\Project\STM32F10x_StdPeriph_Examples\SysTick</strong></em> and copy <strong>main.c</strong>, <strong>stm3210x_it.c</strong>, and<strong> stm3210x_it.h</strong> into the src folder of your local project folder. In this case, the example project has a <strong>main.h</strong> file for main.c, so you must copy that over as well. Once you do that, the Project Explorer window will  be repopulated with the new files.</p>
<p>Finally, add the following line of code in your main.c file to tell the microcontroller to look for the interrupt vector table in RAM:  <strong>NVIC_SetVectorTable(NVIC_VectTab_RAM,0&#215;0);</strong></p>
<p>Save your copy of main.c and clean the project by selecting Project-&gt;Clean. Clean deletes all of the old object files and rebuilds the project from scratch. This is probably overkill, but I like to select this option instead of a simple rebuild, just to be sure that every module is freshly build and that old copies of object files are gone.</p>
<p>Now, you are almost ready to go. At this point, make sure that your project name is highlighted in the Project Explorer. You are about to launch a Debug Session in order to program the part and kick off a debug session where you can step, run to breakpoint, examine registers and memory or just run the application. If you had highlighted say, the ‘Problems’ tab down by the Console window of the IDE, you would not be able to resolve the correct Debug Session. You would get a very confusing error message about not being able to launch the Debug Session because there were no previous launches. This situation arises because Eclipse is capable of storing several different Debug Sessions that you can define and use as the situation dictates. Different Debug Sessions may use different debug probes; have custom startup scripts or whatever configurations you deem convenient and necessary. Eclipse needs to resolve the appropriate choice, and it does this from the Project properties. It cannot do this if the ‘Problems’ tab is in focus. This is one of the many delightful peculiarities of the very powerful Eclipse IDE.</p>
<p>You launch the Debug Session with the debug icon that is  under the &#8216;Manuals&#8217; entry in the Menu bar. It looks like a, you guessed it&#8230; bug! If you were to click on the little triangle to the right of the bug, you would get a list of previously defined Debug Sessions to choose among. There should only be one at this point in your project creation.</p>
<p>What you should see when you launch the Debug Session for the first time is the Debug Session dialogue box where you can review and confirm or change settings as you desire. The settings should reflect the choices you made in the Project creation Wizard, but if not, change them to agree with your Wizard selections. Click on the ‘Apply’ and then ‘Debug’ buttons. You should see the code programmed into the part and a break at the first line of main.c. You are now ready to step over, step into, run to cursor or breakpoint, examine memory and registers or just run your code. You should see the 4 LEDs under the LCD display blinking at different rates when you run.</p>
<p>Your comments, questions and feedback  on this article are welcome. Call or email me.</p>
<p> </p>
<p>Download already built projects <a href="http://www.joral.ca/TrueSTUDIO_Example_Projects/" target="_blank">here</a>.</p>
<p>Mark</p>
<p>Mark Moran<br />
Senior FAE<br />
Joral Technologies<br />
1-87-465-6725<br />
www.joral.ca<br />
Skype Account markm94133</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joral.ca/blog/?feed=rss2&amp;p=132</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Power Consumption Measurements with C-SPY in IAR EWARM ver 5.50</title>
		<link>http://www.joral.ca/blog/?p=121</link>
		<comments>http://www.joral.ca/blog/?p=121#comments</comments>
		<pubDate>Wed, 21 Jul 2010 17:50:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joral.ca/blog/?p=121</guid>
		<description><![CDATA[The release of IAR Embedded Workbench for ARM version 5.50 goes well beyond the usual incremental improvements and new device support. Certainly there is all that with CP15 register display, Trace information display enhancements, new optimizations for C floating point libraries, support for new Secure Card architecture and Cortex M4. But the really big new [...]]]></description>
			<content:encoded><![CDATA[<p>The release of IAR Embedded Workbench for ARM version 5.50 goes well beyond the usual incremental improvements and new device support. Certainly there is all that<span id="more-121"></span> with CP15 register display, Trace information display enhancements, new optimizations for C floating point libraries, support for new Secure Card architecture and Cortex M4. But the really big new is what IAR is doing to give developers further insight into what is often the most critical part of many applications – <strong><em>power consumption</em></strong>.</p>
<p><a href="http://www.joral.ca/blog/wp-content/uploads/2010/07/Power_Log_024.png"><img class="aligncenter size-large wp-image-127" title="Power_Log_02" src="http://www.joral.ca/blog/wp-content/uploads/2010/07/Power_Log_024-1024x611.png" alt="Power_Log_02" width="1024" height="611" /></a></p>
<p>For the first time in development tools history, developers can directly see within an IDE power consumption measurements along side the display of code execution. This capability is unprecedented and demonstrates a real commitment on the part of IAR to giving developers crucially important views into applications where it is needed the most. Using these data, developers can focus on the code in parts of applications that draw the most current. Only a few percent reduction in power usage can mean months or years of extra battery life of a field deployed product.</p>
<p>You can see a short, informative clip on power debugging at: <a href="http://www.youtube.com/watch?v=vrMpD3ttgCE">http://www.youtube.com/watch?v=vrMpD3ttgCE</a></p>
<p>What more could a developer ask for? How about the ability to generate position independent code? This is another very nice feature that modern developers can use to cope with the demands of increasingly complex applications.</p>
<p>All in all EWARM 5.50 is not just a tweaked versions of an already great product. It raises the bar significantly with tools that should be part of every developer’s repertoire.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joral.ca/blog/?feed=rss2&amp;p=121</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Atollic TrueSTUDIO C/C++ Development Tools in the News</title>
		<link>http://www.joral.ca/blog/?p=118</link>
		<comments>http://www.joral.ca/blog/?p=118#comments</comments>
		<pubDate>Fri, 19 Mar 2010 15:38:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joral.ca/blog/?p=118</guid>
		<description><![CDATA[Magnus Unemyr, Vice President of Sales and Marketing at Atollic AB has recently had a very descriptive article on TrueSTUDIO C/C++ development tools published at http://www.embedded.com/design/224000049
Check it out.
Also, keep an eye on their video tutorials page at: http://www.atollic.com/index.php/videotutorials - there will be a new video on the topic of code coverage posted on Tuesday, 23 March [...]]]></description>
			<content:encoded><![CDATA[<p>Magnus Unemyr, Vice President of Sales and Marketing at Atollic AB has recently had a very descriptive article on TrueSTUDIO C/C++ development tools published at <span style="FONT-FAMILY: 'Palatino Linotype','serif'; FONT-SIZE: 10pt" lang="EN-US"><a href="http://www.embedded.com/design/224000049">http://www.embedded.com/design/224000049</a></span></p>
<p><span style="FONT-FAMILY: 'Palatino Linotype','serif'; FONT-SIZE: 10pt" lang="EN-US">Check it out.</span></p>
<p><span style="FONT-FAMILY: 'Palatino Linotype','serif'; FONT-SIZE: 10pt" lang="EN-US">Also, keep an eye on their video tutorials page at: <a href="http://www.atollic.com/index.php/videotutorials">http://www.atollic.com/index.php/videotutorials</a> - there will be a new video on the topic of code coverage posted on Tuesday, 23 March 2010.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joral.ca/blog/?feed=rss2&amp;p=118</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Started with Atollic TrueSTUDIO® Lite and STM32</title>
		<link>http://www.joral.ca/blog/?p=110</link>
		<comments>http://www.joral.ca/blog/?p=110#comments</comments>
		<pubDate>Tue, 16 Mar 2010 19:08:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joral.ca/blog/?p=110</guid>
		<description><![CDATA[Here is some useful advice if you want to familiarizing yourself with Atollic TrueSTUDIO® Lite for the ST Microelectronics STM32 family of controllers. You will need the following: 

TrueSTUDIO® Lite, the FREE no-code size, no time-limit evaluation version of TrueSTUDIO®-Pro C/C++ development tools.
ST Microelectronics evaluation board
ST Microelectronics ST-LINK debugger
STM32 documentation and code examples 

Here is where to get all [...]]]></description>
			<content:encoded><![CDATA[<p>Here is some useful advice if you want to familiarizing yourself with Atollic TrueSTUDIO® Lite for the ST Microelectronics STM32 family of controllers. You will need the following: <span id="more-110"></span></p>
<ul>
<li>TrueSTUDIO® Lite, the FREE no-code size, no time-limit evaluation version of TrueSTUDIO®-Pro C/C++ development tools.</li>
<li>ST Microelectronics evaluation board</li>
<li>ST Microelectronics ST-LINK debugger</li>
<li>STM32 documentation and code examples </li>
</ul>
<p>Here is where to get all that cool stuff: </p>
<p>TrueSTUDIO® Lite &#8211; Go to the Atollic web site at <a href="http://atollic.com/index.php/download">http://atollic.com/index.php/download</a>  you will find the download button for the Lite version &#8220;Free Download Lite Version.&#8221; Be sure to also click on the second orange button from the top where you get the TrueSTUDIO® Quick Start Guide. You want to follow this religiously when you create and debug your first project. </p>
<p>STM32 evaluation boards from ST Microelectronics are the best. They are completely kitted out with all peripherals and ports to the outside world that you need to really get to know the part. The new ST-LINK JTAG debugger is an inexpensive and reliable way to download code and do run control debugging. Find them to buy here: http://www.st.com/mcu/modules.php?name=mcu&amp;file=debug_tools&amp;fam=110</p>
<p>Once you get your feet wet with TrueSTUDIO®, you can head over to the page at: <a href="http://atollic.com/index.php/videotutorials">http://atollic.com/index.php/videotutorials</a>. Here you can see in-depth video tutorials about various phases of tools usage. They are excellent. As of March 16<sup>th</sup> they have videos on creating and building projects and the Eclipse editor. The debugging tutorial is due out soon. </p>
<p>Users of TrueSTUDIO®-Pro can learn about the seamless integration of advanced tools from the Code Review, Bug Tracking and Revision Control videos. UML Modelling and Code Coverage Analysis (TrueANALYZER) are coming soon! TrueSTUDIO®-Pro is a cost-effective, professional, highly integrated C/C++ toolchain that enables single users or teams of developers to benefit from features of advanced development tools to produce higher quality software in a shorter period of time.</p>
<p>Then, you want to head over to: <a href="http://www.st.com/mcu/modules.php?name=mcu&amp;file=familiesdocs&amp;fam=110&amp;doc=60">http://www.st.com/mcu/modules.php?name=mcu&amp;file=familiesdocs&amp;fam=110&amp;doc=60<br />
</a>Here you will find document document RM0008 (informative name, eh?) which the reference manual for the STM32F101xx,  STM32F102xx, STM32F103xx, STM32F105xx, and STM32F107xx families.</p>
<p>Now go  to:  <a href="http://www.st.com/mcu/modules.php?name=mcu&amp;file=familiesdocs&amp;fam=110&amp;doc=76">http://www.st.com/mcu/modules.php?name=mcu&amp;file=familiesdocs&amp;fam=110&amp;doc=76</a> and download STM32F10x_StdPeriph_Lib, which is the second entry from the top. This is the latest version of the standard peripheral library firmware that ST provides. When you unzip it, you will see that it has loads of examples of how to do the things you want to do.</p>
<p>TrueSTUDIO® has a project wizard that creates a project for the ST eval boards. This brings in all of the peripheral library code, and gives you a skeleton of an application that initialized the LCD, the LEDs and a while(1) loop. You can then take the examples from the aforementioned STM32F10x_StdPeriph_Lib and cut them into this basic application very quickly in order to try things out. Recommend you go slow at first. Do one peripheral at a time and get it working to your satisfaction before moving on to the next.</p>
<p>Another very good reference is the book by Joseph Yiu, &#8220;<strong><em>The Definintive Guide to ARM Cortex M3</em></strong>&#8221; available from Amazon, Barnes &amp; Noble, etc. Some people have called this &#8220;the datasheet, written in English&#8221;</p>
<p>Some things to bear in mind while getting started:<br />
Remember, TrueSTUDIO® is based on Eclipse. Eclipse is a very configurable environment with lots of options. You don&#8217;t want to use some of them as you are beginning, <strong><em>so stick to the Quick Start Guide</em></strong>. I&#8217;ve logged a lot of time with these tools, and have not been able to break them by sticking to the basics.</p>
<p>On my laptop, the ST-LINK has an annoying habit of preventing it from booting up or coming back out of hibernation if it is plugged in. Unplug it in these circumstances, and then plug it back in. ST has a new dll coming soon that will probably fix this.</p>
<p>From time to time, we see customers having some issues with the debugger, so check out: <a href="http://www.atollic.com/index.php/kb/3-debugging">http://www.atollic.com/index.php/kb/3-debugging</a> for some good info on common problems. </p>
<p>If you want to see a demo of the Atollic development tools go to our web site <a href="http://www.joral.ca/">www.joral.ca</a> and sign up for a FREE Webinar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joral.ca/blog/?feed=rss2&amp;p=110</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video Tutorials for Atollic TrueSTUDIO</title>
		<link>http://www.joral.ca/blog/?p=106</link>
		<comments>http://www.joral.ca/blog/?p=106#comments</comments>
		<pubDate>Thu, 25 Feb 2010 16:07:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joral.ca/blog/?p=106</guid>
		<description><![CDATA[Atollic TrueSTUDIO® is a new C/C++ integrated development environment for ARM based on theEclipse™ environment. So you might be thinking, what does the world need with yet another ARM development toolchain? You may well think that, but it is worth keeping an open mind on this topic. Besides state-of-the-art performance in compilation and debugging, you [...]]]></description>
			<content:encoded><![CDATA[<p>Atollic TrueSTUDIO® is a new C/C++ integrated development environment for ARM based on theEclipse™ environment. So you might be thinking, what does the world need with yet another ARM development toolchain? <span id="more-106"></span>You may well think that, but it is worth keeping an open mind on this topic. Besides state-of-the-art performance in compilation and debugging, you will find lots of extra that you don’t get in other IDEs, namely: </p>
<ul>
<li>A C/C++ compiler for x86 so you can develop and test  your algorithms in a familiar environment before you commit to hardware</li>
<li>A UML diagramming tools for expressing the state behavior of your system for specification development and documentation</li>
<li>Code review management tools</li>
<li>Clients for bug tracking and revision control </li>
</ul>
<p>All of this cool stuff is “built in,” not “added on.” The last two items are particularly hard to find, even in tools costing several times more than the cost effective entry price for  TrueSTUDIO®.  </p>
<p>How hard is it to learn new tools? Well, most developers say the thing they hate the most about using new tools is the learning curve. They have a point. Learning new tools is often a combination of trial and error, and having to wade through reams of dull, turgid, and in many cases, dubiously organized documentation. Atollic has broken ground in this area as well with video tutorials. It is so much nicer to be shown how to do the important and cool stuff by an expert professional than to teach yourself how. Check out</p>
<p><a href="http://www.atollic.com/index.php/videotutorials">http://www.atollic.com/index.php/videotutorials</a> for the latest and greatest info. Recently posted tutorials cover the Eclipse editor (which is fantastic) the C/C++ grammar search and an introduction to using the version control client. </p>
<p>These tutorials will have you up and running in no time. Check ‘em out!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joral.ca/blog/?feed=rss2&amp;p=106</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Low Cost Debug Solution for OMAP Evaluation</title>
		<link>http://www.joral.ca/blog/?p=100</link>
		<comments>http://www.joral.ca/blog/?p=100#comments</comments>
		<pubDate>Fri, 05 Feb 2010 17:40:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joral.ca/blog/?p=100</guid>
		<description><![CDATA[Ashling’s Opella-XDS100v2 is an Entry-level Debug Probe for embedded development on Texas Instruments (TI) Processor and DSP platforms. Opella-XDS100v2 is designed to work with TI’s Code Composer Studio
(CCS) v4 (or later) IDE and seamlessly plugs into the CCS environment thus allowing you to conveniently and quickly debug your application code actually running on your target [...]]]></description>
			<content:encoded><![CDATA[<p>Ashling’s Opella-XDS100v2 is an Entry-level Debug Probe for embedded development on Texas Instruments (TI) Processor and DSP platforms. Opella-XDS100v2 is designed to work with TI’s Code Composer Studio<br />
(CCS) v4 (or later) IDE and <span id="more-100"></span>seamlessly plugs into the CCS environment thus allowing you to conveniently and quickly debug your application code actually running on your target system. Opella-XDS100v2 provides support for CCS hardware debug features including program download, breakpoints, memory and register access and source-level program control (go, halt, step).</p>
<p><a href="http://www.joral.ca/blog/wp-content/uploads/2010/02/Opella-XDS100v2.JPG"><img class="alignleft size-full wp-image-101" title="Opella XDS100v2" src="http://www.joral.ca/blog/wp-content/uploads/2010/02/Opella-XDS100v2.JPG" alt="Opella XDS100v2" width="556" height="188" /></a></p>
<p>Features of Opella-XDS100v2 include:<br />
• Fast, easy-to-install USB 2.0 High-Speed Interface (480Mb/s)<br />
• “Thumb-sized”<br />
• Support for TI devices<br />
including OMAP, DaVinci,<br />
TMS320C6000, TMS320C5000,<br />
TMS320C2000 and TMS470<br />
families<br />
• Wide target voltage range:<br />
1.8V to 3.3V. Opella-XDS100v2<br />
detects and automatically<br />
configures for the appropriate<br />
target voltage<br />
• Target JTAG clock rates from 1MHz to 6MHz with full support for adaptive clocking (RTCK) of debug data<br />
from target<br />
• 14-pin and 20-pin (compact TI) JTAG target connectors supported<br />
• USB powered (no external supply required)<br />
• LED to show USB status<br />
• All software drivers required for operation with CCS are provided by TI as part of the CCS installation<br />
package (see below for download details)<br />
• Support for JTAG reset, Power-on reset and Wait-in reset modes via EMU pins</p>
<p> There is a nice wiki at: <a href="http://tiexpressdsp.com/index.php/XDS100">http://tiexpressdsp.com/index.php/XDS100</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joral.ca/blog/?feed=rss2&amp;p=100</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cortex M3 Debugging</title>
		<link>http://www.joral.ca/blog/?p=97</link>
		<comments>http://www.joral.ca/blog/?p=97#comments</comments>
		<pubDate>Thu, 04 Feb 2010 21:45:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joral.ca/blog/?p=97</guid>
		<description><![CDATA[Readers of previous blog entries know that we at Joral Technologies are very big on the ARM Cortex M3 architecture. Among the many reasons for this is the superior debugging capabilities afforded by the CoreSight debug architecture. How do you like the idea of monitoring variable values in real time without stealing clock cycles or [...]]]></description>
			<content:encoded><![CDATA[<p>Readers of previous blog entries know that we at Joral Technologies are very big on the ARM Cortex M3 architecture. Among the many reasons for this is the superior debugging capabilities afforded by the CoreSight debug architecture. How do you like the idea of monitoring variable values in real time without stealing clock cycles or implementing instrumentation. Watch this space for our upcoming piece on Cortex M3 debugging where we will discuss and elucidate SWD, SWV, SWO, ETM and all the other debugging acronyms that developers should know about.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joral.ca/blog/?feed=rss2&amp;p=97</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
