From jwbruce at ece.msstate.edu Sat Aug 18 15:43:04 2007 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Mon Aug 20 08:16:57 2007 Subject: [ece4723] [ECE4723/6723] Embedded system lab Message-ID: <22072365.14511187469784311.JavaMail.root@zimbra.ece.msstate.edu> The lab for ECE4723/6723 will NOT meet this week. We will formulate our plans for the lab during the first lecture period. See you on Tuesday. jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 216 Simrall, Hardy Road Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 From jwbruce at ece.msstate.edu Mon Aug 20 15:23:52 2007 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Mon Aug 20 15:23:57 2007 Subject: [ece4723] [ECE4723/6723] Embedded system lab In-Reply-To: <22072365.14511187469784311.JavaMail.root@zimbra.ece.msstate.edu> Message-ID: <28699214.17751187641432170.JavaMail.root@zimbra.ece.msstate.edu> I'll try sending this again. It appears that email aliases were NOT working on Saturday. jwb ----- Original Message ----- From: "J. W. Bruce" To: ece4723@ece.msstate.edu Cc: "Lee A. Hathcock" Sent: Saturday, August 18, 2007 3:43:04 PM (GMT-0600) America/Chicago Subject: [ECE4723/6723] Embedded system lab The lab for ECE4723/6723 will NOT meet this week. We will formulate our plans for the lab during the first lecture period. See you on Tuesday. jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 216 Simrall, Hardy Road Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 From jwbruce at ece.msstate.edu Fri Aug 24 08:34:21 2007 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Fri Aug 24 08:34:48 2007 Subject: [ece4723] [ECE4723/6723] Lab specificiation references Message-ID: <16672614.29091187962461817.JavaMail.root@zimbra.ece.msstate.edu> The references for the lab specification document are now available on the website. I hope to have the complete spec ready for download in a few days. jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 216 Simrall, Hardy Road Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 From jwbruce at ece.msstate.edu Fri Aug 24 09:46:55 2007 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Fri Aug 24 09:47:23 2007 Subject: [ece4723] [ECE4723/6723] lab task1 and files Message-ID: <25480994.29271187966815064.JavaMail.root@zimbra.ece.msstate.edu> ALL: The spec for task1 was tweaked just a bit in the section on developing your Python object to better coincide with the unit tests to run against your object. Also, the unit test file is now available on the "Lab" portion of the class website. If your develop Python temperature object passes unit test, then you should be good to go jwb PS: I hope this is the last mod to task1 ;-) PPS: I should create a RSS feed for the 4723/6723 class website. ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 216 Simrall, Hardy Road Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 From jwbruce at ece.msstate.edu Mon Aug 27 06:26:39 2007 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Mon Aug 27 08:14:05 2007 Subject: [ece4723] pyserial dependency Message-ID: <21570745.30881188213999413.JavaMail.root@zimbra.ece.msstate.edu> Mr. Cranford informs me that the pyserial module also requires the pywin32 module to be installed if you are running a windows machine. pywin32 supplies windows with some basic functionality that is already provided on other OS0-es. If you run Linux or MacOSX, this module is not required. jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 216 Simrall, Hardy Road Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 From jwbruce at ece.msstate.edu Tue Aug 28 08:06:54 2007 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Tue Aug 28 08:06:59 2007 Subject: [ece4723] [ECE4723/6723] misc. this week Message-ID: <9075294.33221188306414001.JavaMail.root@zimbra.ece.msstate.edu> Embedded Sys-ers: Your dissection proposals are due to me before midnight Friday night. If haven't selected yet, here are some suggestions: I have nothing against kid toys but you may want to look at other gadgets too. There are some really neat medical, kitchen, hardware, and auto widgets to dissect. Try visiting Walgreens, CVS, AutoZone, and Lowe's to broaden your horizons. Wal-mart ain't the only store in town. (Beside, those children's toys are dangerous; they're covered in lead paint.) Make your selection soon and get your proposal to me before the end of Friday. Then you have all Labor Day to get started on your dissection. Over the semesters, there has been one universal comment from students about the dissection: DISSECTION IS MORE COMPLICATED THAN IT FIRST APPEARS! ~~~~~~~~~~~ SVN repositories are now available. The repos are empty, so you will have to create/commit the required trunk-tag-branch structure. Below trunk is up to you and your team, but think it through. This tree structure must grow and accommodate your project. You can change it later, but that gets messy. Be sure to read the SVN tutorials. SVN is an awesome tool; it will save your bacon. I guarantee it. Be sure your team decides (either formally or informally) on a convention for svn log comments. After a few hundred revisions, your log comments may not make sense if they are overly terse. "fixed a bug" is almost never an appropriate svn log comment...... Team repos are available at svn+ssh://svn.ece.msstate.edu/data/classes/ece4723/svn/australe svn+ssh://svn.ece.msstate.edu/data/classes/ece4723/svn/frigoris svn+ssh://svn.ece.msstate.edu/data/classes/ece4723/svn/imbrium svn+ssh://svn.ece.msstate.edu/data/classes/ece4723/svn/nubium svn+ssh://svn.ece.msstate.edu/data/classes/ece4723/svn/serenitatis svn+ssh://svn.ece.msstate.edu/data/classes/ece4723/svn/tranquillitatis SEE YA! jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 216 Simrall, Hardy Road Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 From jwbruce at ece.msstate.edu Tue Aug 28 13:24:52 2007 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Tue Aug 28 13:25:00 2007 Subject: [ece4723] [ECE4723/6723] The Embedded Muse 148 In-Reply-To: <52b773907d5a88818b1fb62720469735@jackganssle.com> Message-ID: <23925962.34061188325492939.JavaMail.root@zimbra.ece.msstate.edu> FYI: The Embedded Muse is an email newsletter published by Jack Ganssle on a periodic basis. He wrote the useful black textbook we use in ECE4723/6723. It is always full of useful tidbits of info about the embedded systems world. Enjoy, jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 216 Simrall, Hardy Road Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 ----- Forwarded Message ----- From: jack@ganssle.com To: jwbruce@ece.msstate.edu Sent: Tuesday, August 28, 2007 11:39:46 AM (GMT-0600) America/Chicago Subject: The Embedded Muse 148 ---------------------------------------------------------------- Embedded Muse 148 Copyright 2007 TGG August 27, 2007 ---------------------------------------------------------------- You may redistribute this newsletter for noncommercial purposes. For commercial use contact info@ganssle.com. EDITOR: Jack Ganssle, jack@ganssle.com CONTENTS: - Editor's Notes - Secure Software - Tools and Tips - Jobs! - Joke for the Week - About The Embedded Muse Editor's Notes -------------- Did you know it IS possible to create accurate schedules? Or that most projects consume 50% of the development time in debug and test, and that it's not hard to slash that number drastically? Or that we know how to manage the quantitative relationship between complexity and bugs? Learn this and far more at my Better Firmware Faster class, presented at your facility. See http://www.ganssle.com/classes.htm . I'll be speaking at the new Embedded Systems Conference in Bangalore, India in October, the always-fun East coast show in Boston in mid-September, and at Oredev in Malmo, Sweden in November. In addition, Omniscient International is sponsoring the class in Singapore and Malaysia in October (see http://omniscient-intl.com/). I'm always peppered with email from companies looking for consultants. A lot of Muse subscribers are. Why not send me your profile so I can connect folks based on their services? Send your specialties and geographic region. The sheer number of blogs is overwhelming. It's hard to find any worth following. But Steve Leibson's at http://www.edn.com/index.asp?layout=blog&blog_id=980000298 is always interesting. He's also a big fan of the history of this industry, and serves as a docent at The Computer History Museum (http://www.computerhistory.org/ ) in Mountain View, CA. When he gave me a tour he told me that for most folks it's only an hour. But for us, figure on three. And what a tour it was. If you're out there it's a must-see. I enjoyed an article in the August 2007 issue of IEEE Computer. Les Hatton, noted software researcher wrote "The Chimera of Software Quality." A particularly noteworthy excerpt: "Computer Science regrettably operates in a largely measurement-free zone. Researchers do few experiments, and even fewer publish their results. . As a result, software development isn't an engineering industry, but a fashion industry populated by unquantifiable statements and driven by marketing needs. We are exhorted to develop using JavaBeans, OO, or UML because these technologies will supposedly fulfill our wildest dreams." Secure Software --------------- It's hardly novel to say software security is important. What hasn't gotten much mind-share is secure embedded software. We talk a lot about reliable designs but usually security takes a back seat. Yet so many of our creations are linked to the Internet, and are subject to all of those threats. In fact, last week Forbes magazine had an article (http://www.forbes.com/security/2007/08/22/scada-hackers-infrastructure-tech-security-cx_ag_0822hack.html ) about hacking the SCADA systems that control all sorts of industrial processes, including nuclear power plants. These are all traditional embedded systems, some of quite of ancient heritage. Some are connected to the Internet. A few companies, like Green Hills, are aggressively creating products positioned to deal with these threats, but they are in the minority. Clearly, secure embedded technology will become a huge issue in the next few years. Rod Chapman of Praxis and SPARK fame sent me a link to a new report called Software Security Assurance (http://iac.dtic.mil/iatac/download/security.pdf ). It's very long (396 pages) but is absolutely topical. Like all of these things it's wordy and full of acronym soup, but does make some interesting and important points. A lot is less useful, but everyone should read the section starting on page 170 about design principles for secure software. There's nothing startling there, but somehow these ideas continue to be neglected. The table on pages 139-140 offers a great summary of what makes good requirements. The report is really a compendium of pointers to other sources. I recommend at least a quick look at it. Tools and Tips -------------- Greg Bollendonk and I corresponded about his search for a SEC/DED EDAC algorithm. He found some useful resources: "We found a good reference for 32-bit SEC/DED EDAC (Hamming code) algorithms in Hacker's Delight by Henry S. Warren, Jr. (Addison-Wesley, 2003). This book contains a collection of programming tricks the author ran across over his career, and sells for $32.61 on Amazon. The author is a PhD in computer science and worked 40 years at IBM; it looks like he is currently working on the Blue Gene petaflop computer project. "Lots of good stuff here - http://www.hackersdelight.org/ "Of particular note is CRC and Hamming code algorithms - http://www.hackersdelight.org/HDcode/newCode/crc.c http://www.hackersdelight.org/HDcode/newCode/hamming.c "The Hamming code example (hamming.c) includes a test driver that generates a series of random 32-bit data words, corrupts them (or their parity bits) by altering 0, 1, or 2 bits, and checks the corrected value." Gene Glick sent this: "Regarding free tools, are you aware of the gEda stuff? Although it's all Linux based, there's a ton of goodness there (schematic entry, spice, Verilog simulator, PCB layout, et. al). Support is via a very active mail list (btw, the list community contains people from a very large background, asking questions to just about anything will get an answer) Go check out www.geda.seul.org "I totally agree about LT Switcher Cad. I use it constantly. Yes, third party models integrate just fine - although you have to go beyond the GUI to make them work, sometimes - which requires at least a small underlying understanding of spice syntax. Also, I have found Mike E. to be very knowledgeable and quick to answer all questions about switcher cad." Jobs! ----- Let me know if you're hiring firmware or embedded designers. No recruiters please, and I reserve the right to edit ads to fit the format and intents of this newsletter. Cattron Group, a progressive, growing, innovative leader in wireless remote control systems seeks seasoned embedded developer for global New Product Development group. We believe people are our most valuable asset and given proper tools and support they will succeed. We have engineering operations at locations in Montreal, Toronto, Escondido, CA, Sharpsville, PA and M?nchengladbach, Germany. Contact jelson@cattron.com Here is what you get to do. Contribute to senior-level team creating innovative wireless solutions Participate in all phases of embedded development. We have a lot to talk about if you have a BS EE/CS/CE with 10+ years embedded development, ability to read schematics, develop low-level drivers, use development tools and debuggers, and experience with safety-critical design. Asco Power Technologies, an industry leader in the manufacturing of automatic transfer switches, industrial control products and power control systems, has an excellent opportunity for an Embedded Systems Developer in our Software Engineering Department at our Florham Park, NJ facility. The successful candidate will have a BSEE or CS, MS preferred. Position requires 3-5 years proven experience in embedded systems software/firmware development in C/C++. Experience with network communication protocols (TCP/IP) is also required. Background or experience in controls systems, RTOS, Java & USB a plus. Key responsibilities will be to design, test & document embedded software for new products. Will also be responsible for design-related documentation inclusive of specification writing, architecting, flowcharting, test planning & testing summary. Good communication skills along with the ability to work in a fast-paced team environment is necessary to be successful in this position. Candidate must also possess strong problem solving skills and a demonstrated ability to analyze and articulate technical problems. ASCO offers a challenging work environment, opportunities for growth, salaries commensurate with experience and a solid benefits package that includes bonus, profit sharing, 401(k) plan, medical, dental, life insurance and other benefits. Visit our web site at www.asco.com for additional information on the company. For immediate consideration, please e-mail your resume, with salary history to smoran@asco.com. ASCO is an Equal Opportunity Employer. Do you have skills in embedded hardware and software development, like to solve problems, and want to interact with customers? We are looking for applications engineers who can program in C/C++ and assembly, can use JTAG debuggers, logic analyzers, oscilloscopes, and have experience developing BSPs and drivers. Familiarity with the cellular industry and multimedia codecs is a plus. International travel may be required. Please contact samuel.h.tao@gmail.com for more details. Please include the expression in your subject line. I work at a start-up company that is looking for QA, Software and Electrical engineers. The site is www.anseri.com/careers.html. Job Descriptions follow. They can forward resumes to me at passas.s@anseri.com and I will give them to our hiring manager. APCC is looking for a few good people. For instance: SR FIMWARE ENGINEER Senior position to design and implement embedded systems which incorporate structured firmware to serve real time state machines, closed-loop digital control, monitoring and communications functions for UPS products. Position requires candidate to design, implement, and validate embedded system firmware using structured 'C', and occasional assembly programming; specify and implement microcontroller and support hardware; perform execution time analysis and present design results for formal review; participate in subsystem and system level design verification planning and testing. Also assist in production implementation of microcontroller programming and in vendor implementation of masked microcontroller BS/MSEE with 5 to 8 years experience in writing embedded control systems that contain real time and interrupt driven applications. The following skills are required: C Programming, (Structured, well documented code), Assembly programming Demonstrated ability with development tools including Emulators, IDE, and Version Control Software Good documentation and communication skills to communicate firmware implementations to non-firmware engineers Experience in closed loop digital control implementation, Experience with power electronic systems desireable. Good software development practices are required. Additionally the successful candidate should be able to work in a dynamic environment; to work within a team or independently; to be results oriented and customer focused are essential to the position. Good estimation skills and timely delivery of completed code is required. Position based in Billerica. Contact Tom Bianda- 978-670-2440x17246 or e-mail tom.bianda@apcc.com Philips Medical Systems in Seattle, WA is looking for an embedded software engineer. Responsibilities: Architect, design, develop, and test embedded software for a portable medical device. Create and edit documents such as software development plans, software requirements, and software design descriptions. Evaluate microprocessors and associated tools such as compilers, emulators, and debuggers. Participate in and lead code and design reviews. Assist in developing verification and validation test plans and procedures. Profile: Minimum 5 years experience in real-time software design, development, and test. Bachelor's degree in related field is required. Fluent in C. Experience using C++ in an embedded system is a plus. Solid background in software design using UML. Excellent written and verbal communication skills. Must have a strong background in software engineering principles and practices. Knowledge of and experience with embedded operating systems and task-based system design is highly desired. Apply at: http://www.philips.com/about/careers/index.page and search using job ID 45231 Joke for the Week ----------------- Bob Paddock sent this link to a good cartoon about compiling: http://xkcd.com/303/ About The Embedded Muse ----------------------- The Embedded Muse is a biweekly newsletter sent via email by Jack Ganssle. Send complaints, comments, and contributions to me at jack@ganssle.com. The Embedded Muse is supported by The Ganssle Group, whose mission is to help embedded folks get better products to market faster. We offer seminars at your site offering hard-hitting ideas - and action - you can take now to improve firmware quality and decrease development time. Contact us at info@ganssle.com for more information. -- If you do not want to receive any more newsletters, http://www.jackganssle.com/lists/?p=unsubscribe&uid=e054cf7788a17a7ea25d9054032f2c06 To update your preferences and to unsubscribe visit http://www.jackganssle.com/lists/?p=preferences&uid=e054cf7788a17a7ea25d9054032f2c06 Forward a Message to Someone http://www.jackganssle.com/lists/?p=forward&uid=e054cf7788a17a7ea25d9054032f2c06&mid=14 -- Powered by PHPlist, www.phplist.com -- From lah1 at ece.msstate.edu Tue Aug 28 10:41:13 2007 From: lah1 at ece.msstate.edu (Lee Hathcock) Date: Tue Aug 28 13:37:32 2007 Subject: [ece4723] Monday lab, coding conventions, and other housekeeping Message-ID: First, something that applies to everyone: Make sure you fill out the code review, error, and timesheets under the handouts section on the class website. I forgot to mention this yesterday to the Monday section, so this will be the modus operandi for the rest of the semester. They may seem like busywork, but trust me, later in the semester, when the code gets sizably complex, you'll want a more organized method of quashing bugs other than "coding by the seat of your pants". Unfortunately, I've been guilty of that too many times... just ask Dr. Bruce. Also, it was brought to my attention that next week Monday is Labor Day. That means Monday lab is not meeting. However, I will be available for "lab" from 3-9 PM on Tuesday. If you need assistance, talk to me during that time. Also, note that from 6-9, I will be teaching the other Embedded section, so it will be a little crowded at that time if you come then. As long as you get your work done, attendance is optional for this "lab". I believe everyone has checked off their previous tasks, anyway. Also, as per Dr. Bruce's email, SVN repositories have been created. See that email to figure out how to use it. As you were, ladies and gentlemen. Lee From jwbruce at ece.msstate.edu Thu Aug 30 07:55:35 2007 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Thu Aug 30 07:55:41 2007 Subject: [ece4723] [ECE4723/6723] NWS rainfall Message-ID: <14858513.37401188478535020.JavaMail.root@zimbra.ece.msstate.edu> In the past, we used a different NOAA product to acquire data readings. Our approach this semester is to use the .XML file NOAA generates. Mr. Holland has pointed out that the NOAA .XML file does not contain rainfall info. Furthermore, there will be time throughout the semester that all or part of the data you desire is not available. Under these conditions, place the appropriate number of X's in your weather log file to signify that data was not available. Your textual outputs or GUIs can display something more intelligible, e.g. "N/A" or "Data not available" Ciao, jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 216 Simrall, Hardy Road Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 From jwbruce at ece.msstate.edu Fri Aug 31 10:14:12 2007 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Fri Aug 31 10:14:17 2007 Subject: [ece4723] [ECE4723/6723] HW#1 revised Message-ID: <12347276.40131188573252510.JavaMail.root@zimbra.ece.msstate.edu> HW#1 has been revised. I've changed some of the function names. No big deal. (Sorry for the inconvenience. I meant to do this before I released it the first time, but I forgot.) HW#1 is still due on Thursday next week. jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 216 Simrall, Hardy Road Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298 From jwbruce at ece.msstate.edu Fri Aug 31 16:51:06 2007 From: jwbruce at ece.msstate.edu (J. W. Bruce) Date: Fri Aug 31 16:51:11 2007 Subject: [ece4723] [ECE4723/6723] HW#2 Message-ID: <29045916.40941188597066211.JavaMail.root@zimbra.ece.msstate.edu> HW#2 has been assigned and is due on Tuesday September 11th. It is mostly an extension of HW#1, but there are a few new things. Get started on HW#1 if you haven't, because HW#2 is due right behind it. Have a nice Labor Day holiday. See you Tuesday. jwb ------------------ J.W. Bruce, Ph.D., Associate Professor Department of Electrical and Computer Engineering Mississippi State University 216 Simrall, Hardy Road Mississippi State, MS 39762-9571 Office: (662) 325-1530 FAX: (662) 325-2298