<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Hardware vs. firmware naming conventions</title>
	<atom:link href="http://embeddedgurus.com/stack-overflow/2010/03/hardware-vs-firmware-naming-conventions/feed/" rel="self" type="application/rss+xml" />
	<link>http://embeddedgurus.com/stack-overflow/2010/03/hardware-vs-firmware-naming-conventions/</link>
	<description>Thoughts on embedded systems by Nigel Jones</description>
	<lastBuildDate>Sun, 06 May 2012 10:34:02 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Nigel Jones</title>
		<link>http://embeddedgurus.com/stack-overflow/2010/03/hardware-vs-firmware-naming-conventions/comment-page-1/#comment-1682</link>
		<dc:creator>Nigel Jones</dc:creator>
		<pubDate>Thu, 26 Aug 2010 10:40:28 +0000</pubDate>
		<guid isPermaLink="false">http://embeddedgurus.com/stack-overflow/?p=255#comment-1682</guid>
		<description>I think that&#039;s an excellent point.</description>
		<content:encoded><![CDATA[<p>I think that&#8217;s an excellent point.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jiameifang</title>
		<link>http://embeddedgurus.com/stack-overflow/2010/03/hardware-vs-firmware-naming-conventions/comment-page-1/#comment-1680</link>
		<dc:creator>jiameifang</dc:creator>
		<pubDate>Thu, 26 Aug 2010 07:37:23 +0000</pubDate>
		<guid isPermaLink="false">http://embeddedgurus.com/stack-overflow/?p=255#comment-1680</guid>
		<description>If the target does not change, it is good, but when target platform changed (upgrade for new function or whatever)and the new target is not pin to pin compatible with the old one, the hardware name maybe need to change,  firmware need to change correspondingly.

What I want to emphasize here is that program according to the abstract interface. For example, turn on a LED maybe just output a high signal, but firmware need to handle different IO on different target, if firmware keeps the TurnOnLed() interface unchanged, it&#039;s easy to port to another platform.</description>
		<content:encoded><![CDATA[<p>If the target does not change, it is good, but when target platform changed (upgrade for new function or whatever)and the new target is not pin to pin compatible with the old one, the hardware name maybe need to change,  firmware need to change correspondingly.</p>
<p>What I want to emphasize here is that program according to the abstract interface. For example, turn on a LED maybe just output a high signal, but firmware need to handle different IO on different target, if firmware keeps the TurnOnLed() interface unchanged, it&#8217;s easy to port to another platform.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nigel Jones</title>
		<link>http://embeddedgurus.com/stack-overflow/2010/03/hardware-vs-firmware-naming-conventions/comment-page-1/#comment-1073</link>
		<dc:creator>Nigel Jones</dc:creator>
		<pubDate>Fri, 11 Jun 2010 10:25:08 +0000</pubDate>
		<guid isPermaLink="false">http://embeddedgurus.com/stack-overflow/?p=255#comment-1073</guid>
		<description>An excellent suggestion Daniel. I have lost track of the number of projects that I have worked on that started off being called &#039;X&#039; and by the time production rolls around, marketing is calling the product &#039;Y&#039;. By this time all the engineering documentation refers to &#039;X&#039;, and yet production and the rest of the world know the product as &#039;Y&#039;. Very confusing! I have tried in the past to get agreement on product names before any documentation is created - and I&#039;ve failed almost every time.</description>
		<content:encoded><![CDATA[<p>An excellent suggestion Daniel. I have lost track of the number of projects that I have worked on that started off being called &#8216;X&#8217; and by the time production rolls around, marketing is calling the product &#8216;Y&#8217;. By this time all the engineering documentation refers to &#8216;X&#8217;, and yet production and the rest of the world know the product as &#8216;Y&#8217;. Very confusing! I have tried in the past to get agreement on product names before any documentation is created &#8211; and I&#8217;ve failed almost every time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lundin</title>
		<link>http://embeddedgurus.com/stack-overflow/2010/03/hardware-vs-firmware-naming-conventions/comment-page-1/#comment-1071</link>
		<dc:creator>Lundin</dc:creator>
		<pubDate>Fri, 11 Jun 2010 09:49:13 +0000</pubDate>
		<guid isPermaLink="false">http://embeddedgurus.com/stack-overflow/?p=255#comment-1071</guid>
		<description>I think the hw guys will have to adapt their signal naming to the sw guys and not the other way around, because the hw guys just need to print some text out in silk screen, it doesn&#039;t need to compile. CAD programs usually allow any name for signals, while they may have naming standards for the components themselves. But the components aren&#039;t strictly related to the software, only the signals are.

Another hint which is nothing but common sense: name everything the same. 
If the project is called &quot;project x motor drive&quot;, the circuit board is named &quot;motor_drive_x&quot; and the program is named &quot;motor_driver&quot;, that is not helpful to humans. Particularly the production folks will be grateful if the &quot;motor_drive_x&quot; program should be downloaded into the PCB labelled &quot;motor_drive_x&quot;, and then mounted in the product &quot;Motor drive X&quot;.</description>
		<content:encoded><![CDATA[<p>I think the hw guys will have to adapt their signal naming to the sw guys and not the other way around, because the hw guys just need to print some text out in silk screen, it doesn&#8217;t need to compile. CAD programs usually allow any name for signals, while they may have naming standards for the components themselves. But the components aren&#8217;t strictly related to the software, only the signals are.</p>
<p>Another hint which is nothing but common sense: name everything the same.<br />
If the project is called &#8220;project x motor drive&#8221;, the circuit board is named &#8220;motor_drive_x&#8221; and the program is named &#8220;motor_driver&#8221;, that is not helpful to humans. Particularly the production folks will be grateful if the &#8220;motor_drive_x&#8221; program should be downloaded into the PCB labelled &#8220;motor_drive_x&#8221;, and then mounted in the product &#8220;Motor drive X&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle Bostian</title>
		<link>http://embeddedgurus.com/stack-overflow/2010/03/hardware-vs-firmware-naming-conventions/comment-page-1/#comment-552</link>
		<dc:creator>Kyle Bostian</dc:creator>
		<pubDate>Tue, 30 Mar 2010 03:59:10 +0000</pubDate>
		<guid isPermaLink="false">http://embeddedgurus.com/stack-overflow/?p=255#comment-552</guid>
		<description>This post reminds me of a tool that I&#039;ve always thought would be helpful, but have never seen: a tool that could take the back-annotation data from a board layout, and apply it to change reference designators in any file - a word document, VHDL source, or C code.</description>
		<content:encoded><![CDATA[<p>This post reminds me of a tool that I&#8217;ve always thought would be helpful, but have never seen: a tool that could take the back-annotation data from a board layout, and apply it to change reference designators in any file &#8211; a word document, VHDL source, or C code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carlos Pando</title>
		<link>http://embeddedgurus.com/stack-overflow/2010/03/hardware-vs-firmware-naming-conventions/comment-page-1/#comment-543</link>
		<dc:creator>Carlos Pando</dc:creator>
		<pubDate>Mon, 29 Mar 2010 21:03:12 +0000</pubDate>
		<guid isPermaLink="false">http://embeddedgurus.com/stack-overflow/?p=255#comment-543</guid>
		<description>A few months ago when naming the port pins for the project I&#039;m curretly working at, I took the schematics and tried to name every pin in the same way they were named by the HW engineers, and that worked fairly good untill I found some problems like:

*   3.5_volt  where the dot gave me a hard time 
*   X_emergency and Y_emergency where X was active low while Y was active high

I think the idea of requiring the HW team to adhere to the same naming conventions is a very nice one.</description>
		<content:encoded><![CDATA[<p>A few months ago when naming the port pins for the project I&#8217;m curretly working at, I took the schematics and tried to name every pin in the same way they were named by the HW engineers, and that worked fairly good untill I found some problems like:</p>
<p>*   3.5_volt  where the dot gave me a hard time<br />
*   X_emergency and Y_emergency where X was active low while Y was active high</p>
<p>I think the idea of requiring the HW team to adhere to the same naming conventions is a very nice one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gary Stringham</title>
		<link>http://embeddedgurus.com/stack-overflow/2010/03/hardware-vs-firmware-naming-conventions/comment-page-1/#comment-541</link>
		<dc:creator>Gary Stringham</dc:creator>
		<pubDate>Mon, 29 Mar 2010 13:55:05 +0000</pubDate>
		<guid isPermaLink="false">http://embeddedgurus.com/stack-overflow/?p=255#comment-541</guid>
		<description>Jeff,

While CS_/OLED and nCS_OLED are easily identifiable to the human being that they are the same, it makes it more cumbersome for automated means to identify them both as the same. If there are several nets that need to be correlated, then human verification becomes cumbersome. Automated verification would be desired to ensure that every hardware net is properly accounted for in the firmware code. So making the names spelled exactly the same, is highly desirable.</description>
		<content:encoded><![CDATA[<p>Jeff,</p>
<p>While CS_/OLED and nCS_OLED are easily identifiable to the human being that they are the same, it makes it more cumbersome for automated means to identify them both as the same. If there are several nets that need to be correlated, then human verification becomes cumbersome. Automated verification would be desired to ensure that every hardware net is properly accounted for in the firmware code. So making the names spelled exactly the same, is highly desirable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nigel Jones</title>
		<link>http://embeddedgurus.com/stack-overflow/2010/03/hardware-vs-firmware-naming-conventions/comment-page-1/#comment-540</link>
		<dc:creator>Nigel Jones</dc:creator>
		<pubDate>Mon, 29 Mar 2010 11:43:31 +0000</pubDate>
		<guid isPermaLink="false">http://embeddedgurus.com/stack-overflow/?p=255#comment-540</guid>
		<description>Good question Jeff. The answer is rather long, so as you suggest I&#039;ll save it for another blog post.</description>
		<content:encoded><![CDATA[<p>Good question Jeff. The answer is rather long, so as you suggest I&#8217;ll save it for another blog post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Gros</title>
		<link>http://embeddedgurus.com/stack-overflow/2010/03/hardware-vs-firmware-naming-conventions/comment-page-1/#comment-535</link>
		<dc:creator>Jeff Gros</dc:creator>
		<pubDate>Sun, 28 Mar 2010 18:24:13 +0000</pubDate>
		<guid isPermaLink="false">http://embeddedgurus.com/stack-overflow/?p=255#comment-535</guid>
		<description>Good post. This begs the question...what hardware naming standards do you use?

For example, at my company, and signal that is active low has a / somewhere in the name, such as CS_/OLED. The use of backslash of course, is not C friendly. So the firmware engineers will replace the &#039;/&#039; with a &#039;n&#039; in lowercase. We also put the &#039;n&#039; at the front of the symbol (which the rest is in uppercase) so that it is easily identifiable to be active low: nCS_OLED.

As you can see, the names don&#039;t match 100%, but we&#039;ve allowed enough freedom so that either party can do want (within reason), and it is still easily identifiable that the two names correspond.

I would be interested to hear what conventions you and others at your company use. Perhaps it would make a good blog post?</description>
		<content:encoded><![CDATA[<p>Good post. This begs the question&#8230;what hardware naming standards do you use?</p>
<p>For example, at my company, and signal that is active low has a / somewhere in the name, such as CS_/OLED. The use of backslash of course, is not C friendly. So the firmware engineers will replace the &#8216;/&#8217; with a &#8216;n&#8217; in lowercase. We also put the &#8216;n&#8217; at the front of the symbol (which the rest is in uppercase) so that it is easily identifiable to be active low: nCS_OLED.</p>
<p>As you can see, the names don&#8217;t match 100%, but we&#8217;ve allowed enough freedom so that either party can do want (within reason), and it is still easily identifiable that the two names correspond.</p>
<p>I would be interested to hear what conventions you and others at your company use. Perhaps it would make a good blog post?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

