hitex arm conference
play

Hitex ARM Conference Future Proof Software Introduction HCC is in - PowerPoint PPT Presentation

Hitex ARM Conference Future Proof Software Introduction HCC is in a fairly unique position Broad range of reusable software components for peripherals USB, Flash, Networking, Bootloaders, File Systems RTOS agnostic and as a


  1. Hitex ARM Conference Future Proof Software

  2. Introduction HCC is in a fairly unique position • Broad range of reusable software components for peripherals • USB, Flash, Networking, Bootloaders, File Systems • RTOS agnostic and as a consequence support at any time…. > 10 tool-chains > 100 microcontrollers > 15 RTOSes CPU compatibility across ARM cores does not help with peripherals

  3. Typical Embedded Scenario • Every new project requires the use of files, templates and methods from different sources • ie compiler, hardware abstraction, middleware, libs etc. • This can lead to an unstructured development environment which is difficult to carry forward with guarantees of quality and correctness to the next project. • Undesirable to change core code. Better to change peripheral code to meet an interface standard • There are attempts such as CMSIS to deal with some aspects of peripheral portability

  4. Advanced Embedded Framework Tools MCUs Software Dev Board Components PROJECT • AEF developed by HCC to deal with changing environments • All code clean of anything specific to one environment • Modules re-used without modification

  5. Future Proof Embedded Software Portability Issues Approach API • Implement Source Tree Management • Includes • Version checks • Configuration • Pre-emption • Cache Establish Module Development Guidelines • Endianess • Memory Allocation • Types • Error handling • Timers • Version checks Module inter-Dependency Management init/start/stop/delete • • External resource management (mutex/event/task) • API Develop Reusable Peripheral Interfaces Register access • • Configuration • Drivers

  6. Platform Independent Module API TCP/IP Version Config

  7. Framework Overview Module Peripheral Source Tree MDM Guidelines Interfaces Software Components Toolchain PSP OS AL Embedded Target

  8. Source Tree Management

  9. Module Development Guidelines • Typically software from multiple sources is used in every project – legacy/libs/middleware/hal/rtos/etc • Usually developed either ‘freestyle’ or to different standards • C language has known deficiencies Ambiguity Portability Quality Increased dev cycles

  10. Module Development Guidelines • These problems are universal and attempts to address have resulted in various attempts to harmonize approach to coding Coding Language C99 MISRA Etc standards definition • At HCC we have taken a rigorous systematic approach to future proof our software since s/w developed to the highest standard can be re- used in any environment from ‘freestyle’ to safety or certification

  11. Code from Different Sources Approach does not obviate the need for 3 rd party software written to differing • standards choice is either……………… rewrite legacy/lib to required standard abstract legacy/libs • In either case the rules for approaching this problem are clearly defined and consistent • This strongly typed subset of C is akin to a new language. When developers learn it they are happier that they can meet goals without ambiguity and it is no more difficult or time consuming than ‘freestyle’ coding..

  12. Re-usable Peripheral Interfaces • Software can only be reused without modification if external interfaces are consistent => driver interface must conform to desired standards • all supporting components are designed to expose interfaces that are consistent with any quality standard to be reached. • Wrapper layers could be used to achieve some of these goals on an ad hoc basis. There are drawbacks to this approach – it obfuscates the design and the code and is difficult to standardize. The more you add the worse it gets. And it is not necessarily easy to use a wrapper layer in projects requiring a higher level of quality.

  13. Traditional Approach

  14. Conclusion • We have tried to present some of the core issues involved in building a development environment suitable for the production of high quality embedded products • Reusability of • software elements • learnt techniques. • There are, of course many more elements to this – and in an upcoming webinar we will take this model much further by describing a complete development process for managing high reliability projects – suitable for use in safety environments

  15. thank you – questions ?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend