I/O device driver blocks generate code that sends and receives data for algorithm code. If you are developing a target primarily as a rapid prototype, minimal I/O device support may be sufficient. If you are developing a turnkey production target, you may need to provide extensive I/O device support. I/O devices are represented in Simulink® as blocks. For more information about how to create Simulink blocks for I/O device driver code, see Device Driver Blocks.
The Target SDK includes a set of verification utilities that you can use to confirm your steps as you develop a target. These utilities are not meant as a replacement for the formal testing of your target, which should be more comprehensive and beyond the scope of this software.
The formal testing should cover all use cases supported by your target. For example, a test suite for such testing should test all hardware and all toolchains supported by your target. As another example, all tests should run on all supported host machine platforms.
Normally, the formal testing is done in an automated fashion, using a dedicated pool of machines. In such a pool, you need to manage the allocation of hardware to different tests, scheduling execution of the tests and the collection of the test results. This is a complex activity that requires a great deal of additional hardware knowledge and time.
You can use the MATLAB® Testing Frameworks to write, run, and analyze tests for your MATLAB programs.
To allow others to use your target, distribute it and help install it. In general, this process consists of the following tasks:
Packaging and distributing all files in the root folder of your target.
Assisting the users in acquiring and installing third-party software from respective vendors.
Installing the target and the third-party tools to a user-chosen location on the user’s machine.
Adding the root folder of your target and any other required folders to the MATLAB path.
Defining the required environment variables for your target on the host machine.
You may want to write a utility function to facilitate completion of the user tasks. MATLAB has many functions that can be useful in developing such a utility.