I hate to use buzz words BUT - device/platform independence, abstraction, partitioning, scalability are key.
Current implementation must not inhibit future innovation (no cookie cutter approach - no saying, "we can't make a color printer because all our drivers would have to change, we might even have to use [a] new processor(s)"
Bells and whistles are different than features and functions.
By partitioning a design and taking the above 'buzz words' into account as a design philosophy, Pre-Planned Product Improvements (P^3I) are not inhibited, but rather encouraged.
In order to push code reuse in my group, can you give more specifics on the benefits of reuse? The only one I heard so far is porting your code to a new product in one hour. Time to market is a compelling reason, so that is good. How does reuse produce better products as you stated on the last slide?
Overall, another great presentation. Thanks a lot Gary!
we tried to define a hardware abstraction layer, but perhaps due to lack of experiene, we had to to change it for each new product (3 so far). Hopefully, we have finally gotten it correct now...
I just want to suggest that the email reminder link could at least take me to a login page instead of a registration page, if it can't just log me on altogether.
@Rob Spiegel, is there a better place than here to provide feedback on the website access to these webinars? I just want to suggest that the email reminder link could at least take me to a login page instead of a registration page, if it can't just log me on altogether.
@Bob Loy, I would hope that as long as the same language is used, the same functionality can be expected of the code no matter what the platform - "dialects" excepted!
@GStringham: "@Bob Loy: Making a change to a new development tool chain would require a reset and start again. Trying to have reuability across two different development chains is a challenge."
But isn't the 'promise' of good old vanilla C that it will transcend 'minor' changes like a new compiler, DS, etc?
But I assume they will at some point: Graduation triggers all manner of good things: We send you a certificate (real, not virtual) signed by the Dean of DKCEC. We will recognize you in our Roll of Honor on the Design News site, as well as on our Facebook and Twitter pages.
So click here now to register in advance for your preferred lectures. Don't delay; space is limited!
Check their facebook page for if you graduated Semester 1
@rlallier, Been there, too. OS is also changing. Sometimes it seems like a headache to have to learn all the new tools, etc, but I can see the advantages far outweigh them. ;-)
I would hope there would still be an abstraction layer once I get beyond the device "drivers". Haven't gotten that far on my current project yet, but I'm sure hoping to reuse a large chunk of legacy code on the new hardware.
@Bob Loy: Making a change to a new development tool chain would require a reset and start again. Trying to have reuability across two different development chains is a challenge.
@marsch: Drastic changes in the build process will required drastic changes in the process. You might have to have a break such that reusable code on one side won't work on the other side.
@rlallier: At HP, we had the same build process for all printers and it included appropriate cross-compilers as necessary for the CPUs we were using. (Someone else asked which compiler we used at HP. I don't know. Some other team dealt with that.) If you have to deal with multiple build tool chains, that would be another switch which I will get into tomorrow.
@marsch You should try living with the opposite problem. We got married to a very primitive set of in-house tools that worked really well for us, across a lot of product lines and allowed us to support a common OS for several different products build on several different hardware platforms. The problem was, we needed to evolve and our in-house tools weren't all that well developed for evolution themselves. We ended up re-writing the OS for a new set of platforms using off-the-shelf tools...development environment and build chain. The problem is...we still have to maintain our legacy systems because the products themselves are still in use and warranted. Nobody wants to work with the old legacy tools because they are more primitive.
@RogerC55: No, I wouldn't call the server-heavy approach reuse. It's just one approach to solve the problem that reusing code on iPhone and Android is very difficult.
@GStringham I would suppose that a real difficulty is getting your build process and code base entanged or married to a particular development environment. When you change hardware platforms then interfacing your code with a new build-chain and different set of tools could become problematical. Is there a systematic way of attacking that problem?
@Don H: For Hardware X, Y, and Z, I was thinking more of different ASICs, chips, hw components, not limited to just MPUs. But brand difference may be a factor such that X and Y were MCUs of one brand and Z was of a different brand.
@Chris.Lambrecht Good point. We support quite a few products with a set of reusable libraries and OS. I'd say that the development time has improved significantly as our capability evolved.
In my old opinon the C+ isnot a safety for the embedded system. Now if the thing has been modified. If we can use C on embedded firmware such as Cortex-M3/
Would love to see some more specific examples of code reuse. Maybe a top 5 techniques type of explaination, with code examples. So far I have found the discussing very high level.
@jfincher @rlallier I get a huge improvement out of reuse. What I find the challenge is to know where to draw the boundaries in the code. I haven't run into a firmware developer that doesn't claim to have reusable libraries. But the real indication that the reusable code is doing what it is meant to do, is when one can develop firmware faster and more reliably in the future.
@Rob Spiegel thanks for writing the slide we're on. When typing I lose track. And writing it is much better than interrupting the lecturer as in earlier lectures.
@ marsch - "Can you go back through existing products to generate the requirements for future reusable code? I suppose that's still starting from something. ;-)"
The HAL software is reused as long as the hardware being used in the current platform hasn't changed significantly. However, at a certain point, a rewrite will be necessary.
We use a hardware abstraction layer and publish a vendor spec to vendors. If they want us to use their product, they need to provide an interface adhereing to our vender spec, that our HAL can use.
writing HAL code, many functions can be reused throguh different HW; usually, when developing a new external driver a modification to HAL code is needed
Depends on the contract with the customer, so if they are getting custom code they get all source code and we will not include any reuse components that we want to own the intellectual property on
It's good in almost every case. Only bad part is when the code gets cluttered with too many feature switches, but even that problem can be refactored away.
In some cases, companies block streaming audio. If that is happening with you, you may be able to play the archive. We archive the program immediately after the program ends.
Code reuse has been a HUGE timesaver in my organization. Supporting 15 or so satellite television set top boxes, all with common code bases wherever possible.
hello, anyone has used mikromedia for PIC32?, my question is out there someting similar with linux embbedded on that hardware facilities (including screen and touch for only 99 us dls) ? thanks!
One thing about the north is you can always put more on when it gets cold. But here in TX, you can only take so much off when it gets hot. I lived in WA until 6 months ago. It was much nicer there.
I remember going to JHS with all the Coast Guard kids back when Governor's Island in NY was still an active coast guard base as opposed to a summer attraction
@Kentj Ah, that would explain things. The Coast Guard still has a large presence here but quite a bit of the base here has been privatized as rental property and other uses.
Hello everybody. As I realized yesterday, to test and see if you get audio, view an archived session. If you have audio there, you'll have audio in todays session.
-The streaming audio player will appear on this web page when the show starts at 2pm eastern today. Note however that some companies block live audio streams. If when the show starts you don't hear any audio, try refreshing your browser.
By experimenting with the photovoltaic reaction in solar cells, researchers at MIT have made a breakthrough in energy efficiency that significantly pushes the boundaries of current commercial cells on the market.
In a world that's going green, industrial operations have a problem: Their processes involve materials that are potentially toxic, flammable, corrosive, or reactive. If improperly managed, this can precipitate dangerous health and environmental consequences.
With LEDs dropping in price virtually every year, automakers have begun employing them, not only on luxury vehicles, but on entry-level models, as well.
From Dell / Intel® New Paradigms in Design Work Scott Hamilton, vertical market strategist for Dell Precision workstations, 5/2/2013 5
Early in my career, I worked as a draftsman and remember the days of drawing on vellum with numbered pencils and Mylar with plastic lead. This was a fun experience in the sense that I ...
I've been using workstations for more than 10 years and love finding ways to get more performance from my system. With demanding professional applications that require more power each ...
A lasting memory from my first job as an engineer in an auto assembly plant is standing on hard concrete at six in the morning, vending-machine coffee clutched in hand, listening to ...
A quick look into the merger of two powerhouse 3D printing OEMs and the new leader in rapid prototyping solutions, Stratasys. The industrial revolution is now led by 3D printing and engineers are given the opportunity to fully maximize their design capabilities, reduce their time-to-market and functionally test prototypes cheaper, faster and easier. Bruce Bradshaw, Director of Marketing in North America, will explore the large product offering and variety of materials that will help CAD designers articulate their product design with actual, physical prototypes. This broadcast will dive deep into technical information including application specific stories from real world customers and their experiences with 3D printing. 3D Printing is
To save this item to your list of favorite Design News content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.