Embedded Software Development and Verification

Possessing deep familiarity with LSI, and adeptly controlling it as if an extension of one's own capabilities.
SANEI HYTECHS designs LSIs at the circuit level that constitute embedded systems, including microcontrollers and other components.
By leveraging the wealth of knowledge gained from this, we incorporate it into embedded software development. Moreover, we not only regard "control" as a mere input and output of "1s" and "0s," but also perceive it as an analog control signal. This allows us to skillfully wield the entire embedded system as a dynamic and versatile extension of capabilities.

Embedded software development

In the realm of embedded system development, the task is to discover optimal solutions within constraints such as resources, processing time, and costs. SANEI HYTECHS excels in this domain, as our engineers, who possess hardware expertise, engage in optimization design across various application fields.
Application Fields:
  • Consumer Products
  • Communication Devices
  • Automotive Products
  • Industrial Equipment
  • LSI Evaluation Systems
and more
Supported CPUs:
  • Renesas RH850, RL78, and others
  • ARM
Supported Operating Systems (OS):
  • μITRON
  • Embedded Linux
  • Bare Metal
Communication:
  • Ethernet
  • SPI
  • CAN/LIN/CXPI

Validation (Unit Testing)

The significance of software quality and the corresponding software validation has escalated beyond previous levels. However, development companies are simultaneously grappling with numerous challenges like shortened development cycles and limited human resources. At SANEI HYTECHS, we address these challenges by providing solutions backed by extensive validation expertise and a software development perspective.

Challenges in Unit Testing and SANEI HYTECHS' Strengths:

1. High Implementation Cost:

Setting up the testing environment and addressing QA requirements demands human resources and time.
We possess the expertise to seamlessly execute the entire process, from environment setup to test result validation.

2.Lack of Standardization:

Dependency on the skills of the implementer results in significant variability.
Following the unit testing process, we provide uniform test design and execution outcomes.

3.Tendency to Neglect:

Due to factors like scheduling constraints, unit testing often receives lower priority.
By entrusting us with unit testing, you can channel resources into other development stages.

Service Process

01Estimation

Upon receiving the comprehensive project details for the unit testing, we will provide you with an estimate.By analyzing the source code and considering factors like code volume, branch count, and complexity, we calculate the effort required. We remain flexible in accommodating your specifications for the scope of testing and any additional or modified verification guidelines.

02Test Execution

We establish the test environment, design test cases, and execute the unit tests.

Tools Used:

  • Excel
  • Coverage Master winAMS (a unit testing tool for embedded software by Gaio Technology)
  • CasePlayer2 (a specification creation and analysis tool for embedded software by Gaio Technology)

03Result Reporting

We organize the test results and create a comprehensive test result report. We deliver the complete test environment along with this report.  Additionally, we are available to conduct regression testing based on your specific requirements.

Service Input/Output

Service Input

  • Complete set of source code targeted for unit testing
  • Build environment (including the compiler)
    Ability to generate test objects in conjunction with the source code
  • Design documents
    Used for deriving expected values during test design. If absent, source code will be considered as the baseline.
  • Test guidelines
    Utilized during test design. If absent, the service will adhere to its standard guidelines.

Service Output

  • Test result report
    A summary showcasing the pass/fail status and coverage percentage of executed functions, along with a comprehensive report summarizing the test results for each function.
  • Complete test execution environment
    We will provide an environment that enables the client to reproduce unit tests on their own.
    Note: A winAMS license is necessary for test execution.

Verification Guidelines

In this service, we conduct test case design based on the following guidelines:
Assignment Check: Confirming the correct execution of assignment processes.
Branch Condition Check: Verifying that all conditions and potential paths of branch conditions are accounted for.
Operation Check: Confirming the accurate calculation of intermediate and final results during operations.
Array Check: Ensuring that regions outside the intended scope of arrays remain unaffected.
Loop Check: Verifying that condition evaluations within loop processes are accurate.