Proven In-System Diagnostics
  for better hardware, sooner.
 
 

Frequently Asked Questions


About Kozio

Who are Kozio? link icon

Kozio is the technology leader and market maker for embedded in-system test and diagnostics. Our software solutions deliver, out-of-the-box, a thorough and high-integrity validation suite for comprehensive at-speed design verification and functional testing of 32-bit embedded systems. We've been in business since 2003.

Who uses Kozio? link icon

Our customers are designers of 32-bit embedded circuit boards and systems. Our software is in use on over 140 unique circuit boards at companies such as General Electric, Harris, Honeywell, HP, Motorola, Polycom, Raytheon, Perceptron, Cisco, Scientific Atlanta, Thomson and many others.

What problem does Kozio solve? link icon

Designers are tasked with meeting stringent quality and reliability goals as a first-order design requirement. It’s getting more difficult to do this, as smart designers develop increasingly sophisticated products, containing more complex, higher-integration components, and more and more applications software. Worse, they must do this under tight schedules and with fewer resources than ever before. Kozio’s solutions enable thorough, high-integrity standard validation suites to be personalized to a custom board, delivering quality, reliability, and test coverage in a cost-effective and highly-productive application.

Where in the design flow or product lifecycle is Kozio used? link icon

Typically, Kozio software is used during the design process to facilitate board bring-up, to ensure that the prototype boards are correctly assembled, and faithfully adhere to the requirements specification necessary to ensure system success. At this stage, wide-ranging tests ensure correct operation over a broad range of operating conditions, at rated speed, delivering to designers a thorough test report detailing faults, so they can be isolated and resolved.

Once the system enters manufacturing, these same tests can be used during automated end-of-line testing to ensure that each system also meets specifications, providing detailed diagnostics to target any necessary rework. With the lowest per-board touch-time, Kozio’s test automation solution has a simple operator interface that supports "scan it; test it; program it; track it."

Finally, you can ship these same powerful diagnostics with each target system, to be run every time board powers up. Problem identification, field support and return materials analysis all benefit from running the same diagnostics used throughout the entire product lifecycle.

How can I learn more about Kozio? link icon

You've found our website, which is a great place to start. While you're here you can learn about our products, and some of the underlying technology. Alternatively, you can email us at info@kozio.com, or telephone us on +1 303.776.1356 x111. If you’re in the area and would like to come for a visit, we’re located in Longmont, CO, a short distance North of Denver, close to the Front Range of the Rockies.


About Kozio's Products

What does the Kozio software include? link icon

Our flagship product, kDiagnostics Design Suite, contains comprehensive functional and performance tests for all board components, including the processor, memory, busses, and peripherals for storage, connectivity (e.g. 10/100/1G Ethernet), display and audio. These test methods and suites are personalized for your unique circuit board, a process that takes a few days only. You receive from Kozio a complete test and diagnostic system, including a boot manager, diagnostics application, test executive, test database, scripting language and terminal UI capability. Included is the binary executable that you download to your target system, where it runs directly, at full operating speed.

Included in this kDiagnostics Design Suite is ValidationAssistant, a graphical user interface focussed on test and diagnostics users, and providing controllability and configuration of your board's unique set of test methods and test suites, as well as observability of test execution and results during your board test process.

Can I control test execution? link icon

Yes. You may decide to run the entire comprehensive test suite for full board test, by running the command "test.all". Alternatively, you may need to focus on, for example, debugging an SDRAM problem, in which case you can enter the command "test.sdram" at the interactive command prompt. You can create new test methods and assemble them into test suites, and save them for independent later use or for running multiple times in a loop.

Can I create new test methods and test suites? link icon

Yes. As described in the previous answer, creating new tests interactively in kDiagnostics Design Suite is straightforward. You can also write your own custom functions, in C (for which we provide Design Suite Pro, an optional GNU-driven build system, with all needed libraries and header files, and example code), and add these to the test database.

How can I test custom chips, like FPGAs or ASICs? link icon

You can write your own custom test functions to access these custom chips, using our optional development kit, Design Suite Pro. This development kit includes the GNU compiler, linker and libraries, and source header files so that you can link your custom "C" function tests with our standard tests and generate binary images for your device. With this kit you can create your own menu-items, fully automatic manufacturing tests, and custom tests using our API, framework, and test primitives.

kDiagnostics automatically allocates a memory region for your custom IC, allowing you to access all registers by default. Also provided is a means to load images into FPGAs. Very quickly you can use kDiagnostics to transfer a binary image from a PC and load it into the FPGA. Alternatively, Kozio provides custom test code development as a service.

What do you need from us to personalize your software to our board? link icon

Check on our website (http://www.kozio.com/partners/processor-support.html, or send us am email, to confirm that we support your chosen 32-bit embedded processor. To personalize our software to your system, we use a system block diagram and/or your board schematic. If your project restricts the distribution of this material, we use a 1-2 page questionnaire instead. Kozio does not require time from your engineers in order to support your hardware, except for an occasional email question.

How does your product compliment boundary scan and JTAG testing? link icon

We provide at-speed functional testing in comparison to the structural test methods of other approaches. Our tests run at full processor speeds so we have an excellent solution for finding not just issues with functionality, but also the speed-sensitive or data-pattern-sensitive issues that you may possibly experience when accessing interfaces, busses, DDR, and memories at full operating speed. Our solution ships as a power-on self-test application and easily deploys to your contract manufacturer.

Can we use our own diagnostic tests? link icon

Yes, of course. You can use our optional kDiagnostics Design Suite Pro development kit to incorporate your standard tests within kDiagnostics. Your code may require some small modifications to work with the kDiagnostics libraries, but those changes may be very minimal depending on what your codes requires, and we're always availabel to provide support to your engineering team. The kDiagnostics test environment include the Standard C library functions and thousands of functions for initializing, configuring, and controller various devices, memories, and interfaces, so there's lots of example material from which you can learn how such things are implemented in kDiagnostics.

Does Kozio deliver source code? link icon

Not in the standard kDiagnostics Design Suite. Our customers using the product in the usual way tell us they don't need it. Both ValidationAssistant and kDiagnostics provide a high degree of controllability and observability into both the test process and execution of test commands. With each test you'll have access to all busses, memories, and bus connected devices. You can also use the built-in trace feature which allows you to display or dump test settings and test execution.

With kDiagnostics Design Suite Pro you'll get libraries, header files, example source code, and examples scripts that are part of the development kit. This supports modification of some configuration settings and rebuilding of binary applications for your custom board. We also provide low-level drivers in source form to help our customers setup and configure their driver software.

What needs to be working on the board in order for your software to run? link icon

We need the processor and a serial port for the user console. If Flash or ROM is not working we can execute directly out of RAM memory and test the Flash. Our tech support also helps you set up DDR memory so you will quickly get to the Kozio command prompt. We have many customers that start out with non-working memory, and use kDiagnostics to identify the failure cause.

How do I get kDiagnostics onto my circuit board? link icon

For first use, you use a JTAG programmer to program the self-booting kDiagnostics into ROM or RAM. Once kDiagnostics is programmed into ROM or RAM, you can use it to transfer images from a PC, program any NAND or NOR flash devices, or program any programmable logic device such as EEPROMs or FPGAs. You can also use your boot loader to transfer and run kDiagnostics from ROM or RAM.

Does kDiagnostics require a boot loader? link icon

No. kDiagnostics provides a self-booting application that executes from either ROM or RAM. A loadable version is also provided. Here are the three image types provided:

  • A self-booting application that is programmed into ROM
  • A self-booting application that runs from RAM
  • A bootable application that can be loaded and executed from a boot loader (Uboot, RedBoot, VxWorks, etc.)

How do your tests compare to those provided with u-boot or RedBoot? link icon

Kozio provides a much broader and deeper range of tests that uncover design or assembly faults not found by other test methods. Hardware validation is all we do and we continue to expand our test coverage. kDiagnostics provides a deterministic platform for testing, remote and automated capabilities, and the ability to create new test cases on the fly. Our test library is documented and supported by validation experts with knowledge of numerous microprocessors, memories, and controllers.

How does your product compliment boundary scan and JTAG testing? link icon

As you no doubt know, boundary scan and JTAG provide structural test methods, which work well for detecting assembly faults, such as opens, shorts or bridges. In essence, structural test answers the question "was this board manufactured correctly?" There are situations, however, where the board can be correctly assembled, will be passed as good by structural test, and yet be faulty. There are many reasons for this: there could be design data-dependent issues that prevent correct inter-component communication, or there could be a latent speed-sensitive issue that only appears intermittently, or at one particular set of environmental conditions. We provide functional testing expressly to catch these issues. Our tests run at full operating speed, and tests can be looped, so we have an excellent solution for finding high-speed issues with interfaces, busses, DDR, and memories. Our solution ships as a power-on self-test application and easily deploys to your contract manufacturer. We also provide software that can help a team get application code working faster on the new board design.

Do you test beyond the board edge? link icon

Yes. Our test methods send and receive packets across many different interfaces such as Ethernet, USB, IDE, SCSI, and SATA. The payload data can be altered and is validated - we always check that actual data received is what was expected - after reception. In addition, performance characterization can be performed on supported interfaces, such as SATA.

Do you provide stress testing? link icon

Yes. kDiagnostics runs a variety of tests that will stress various interfaces and controllers. When available on the processor, you can use DMA operations to provide further stress testing. All test suites can be run indefinitely to test a system during burn-in, in the environmental chamber or during design validation.

Can I loop a test? link icon

Yes, using a few very simple commands, you can execute counted loops, indefinite loops, or loop until failure testing. Using the interactive, scripted capabilities contained in every copy of kDiagnostics, all commands or test suites can be looped, or nested in a conditional statement, even your newly created custom test suites and test commands.

Do you test Ethernet interfaces? link icon

Yes, we test 10/100/1000 Ethernet interfaces. We test the entire path, in incremented steps, from the MAC, to the PHY, to the network and back. Using a variety of test commands you can quickly isolate data or control line issues, as well as PHY and network issues. For Gigabit Ethernet controllers we provide tests in 10/100 as well as Gigabit speeds, in order to isolate faulty gigabit control lines. Our test suites provide packet testing with the ability to change packet length, contents, duration, and looping. Also included is the ability to send ICMP (Ping) packets. All tests include full packet data validation.

Can your memory tests isolate data and address line issues? link icon

Yes, and much more besides. For this issue, our product displays memory configuration and mapping data along with full bit error detection allowing you to locate data or address line issues. Our memory tests have discovered and helped revolve numerous memory issues undetected by other test methods. We have helped customers, around the world, debug memory problems in just a day or two.

Can your product program NAND flash? link icon

Yes. kDiagnostics can program any NOR or NAND flash device. For devices that support advanced programming features such as buffered programming, kDiagnostics can program devices up to 3X faster than other programmers. Another benefit is that you can use your JTAG programmer to load kDiagnostics into RAM and use it to transfer binary images over Ethernet and program them into any NAND or NOR device. This has proven to be a real time saver for several customers.

Will kPOST work with my boot loader, operating system and application? link icon

Yes. Kozio delivers a self-booting binary that executes from the boot sector of Flash or ROM memory. kPOST executes when the device is powered on, runs your test script, and then launches your boot loader. The only extra effort required is to relocate your boot loader to a new starting address in Flash memory. Kozio provides technical notes and support on how to perform this action.

How are POST results stored? link icon

The power-on self-test results obtained by kPOST are stored in a memory location you specify via the POST script. Your application can read these results and act on them. The POST table is a list of error codes for all faults found during the power-on self-test. All error codes are documented in the kDiagnostics Command Reference document provided with product delivery.

How do I find out if you support [ feature ]? link icon

Firstly, check out the latest copy of this Frequently Asked Questions. The next place to check is the technology page on our website. Alternatively, complete the small web form below this FAQ, and we'll have someone from our professional services group contact you as soon as we can.

I’m sold. How do I buy your software? link icon

With a block diagram and/or device list we can provide you a precise quote. With schematics and a purchase order (PO) we deliver in 2 to 10 days. The Kozio solution, kDiagnostics Design Suite and optional extras, can - we would say they should - be ready and waiting for your first boards to come out of assembly.

 
 
Example printed circuit board


Use kDiagnostics to ensure that your board design meets functional specifications, or use Kozio's complete In-system Diagnostics platform across your whole product life-cycle. More thoroughly test your board.

Get better hardware, sooner.


I have a question about a Kozio product.