1.To cover typical porting exercise involved in Embedded Systems (esp Windows CE)
2.Discuss about issues, concerns and solutions of porting.
1.Familiarity of at least one version of Windows CE
o Core OS
o Boot loader
o OS builds and Application development
Before I jump into the actual topic, I would like to provide brief intro of my wince exp:
•In 1999 I was involved in 2.11, 2.12, 3.0 Versions of Embedded OS. Here worked on “OS builds”, Application development, “Boot loader diagnostics” for X86, ARM, SH4 processor based product lines
•In 2001, was involved in Porting of Windows CE OS version 2.0 3.0 [On both X86, SH4],also involved in Application development as well boot loader. Here I have to wear multi-hats , as I am only person worked on this [One man army kind of role to be precise]
•In 2002, was involved test process setup and lead role for Windows CE product line
•Porting/migration activity is performed from one version to other version of OS, Processor, Application, Hardware and others.
Why do we need port/migrate?
•Either there is new version of, which will enhance the product feature, performance, and market, end user needs
•Or may be the product or any being discontinued by any of the vendors
Checklist and Porting Guidelines
The above diagram shows the Checklist. The diagram is explained as follows:
•Identify the various requirements of the customer/Product manager is expecting us to deliver product on best hardware platform and latest OS of the Windows CE
•Current/Future Processor, Hardware, Tools, System
• Identify/create the table that will explain the difference from the current/future. Also record minor/major changes. Based on this table form the requirement /checklist, which needs to fulfilled.
•Identify the team
•Identify the “project plan “, publish the tentative timelines, as the porting process may take longer/shorter you think
•Get the reference material and porting guidelines
o Web sites
o From you known good SMEs
Tips for estimation and project management:
•Always get 2nd opinions from experts and other colleagues
•Expect roadblocks, hire a good subject matter expert, who has done similar activities
•Keep the “test cases” ready to test
•Do the step-by-step incremental development and also test/document/Archive as and when you finish the module
o Boot loader: Also make sure you have all the declarations, definitions as for the final/end product.
o Jump to OS
Need to define the starting point where OS will start
o Load the OS
Carefully do step-by-step changes required from earlier version to current version
o Memory/Object store setting verification
o Display Driver
o Serial port driver
o Key board driver
o PCMCIA and so on
Written based on work I have done in 2002, Jan 4th 2008; Hyderabad