Development with the ZentriOS API
This section covers the details of writing a ZentriOS app (ZAP) in the C programming language using the ZentriOS API.
For overview material, see:
- Native API Overview
- Native API Features - a full list of ZentriOS API features
- What is a ZentriOS App (ZAP)?
- ZAP Structure
- ZAP Memory Sections
- ZAP Execution Contexts
Zentri provides a ZentriOS SDK Integrated Development Environment (IDE), based on Eclipse. For details on using the IDE, see the ZentriOS SDK User Guide.
To start using the SDK IDE, see:
For example applications, see:
The ZentriOS IDE helps manage the development cycle of coding and testing. Through each cycle the ZentriOS Device Management Servics (DMS) handles the security of your intellectual property. Later, in the production phase, the DMS manages your fleet of devices and products.
When a product is ready for publishing, including beta testing and production, you publish it to the DMS.
The DMS handles many aspects of the Development Workflow. See:
Managing Products and Product Bundles
A particular version of a product consists of a bundle of files and settings for a particular platform. A DMS product is a collection of product bundles and associated data.
The ZentriOS IDE handles some aspects of managing product bundles and releasing product bundles to the DMS.
You can also manage the contents of a product bundle via the DMS web and REST API interfaces.
- DMS, Developer Workflow, Create a DMS Product Bundle
- DMS, Publishing a Product Bundle
- DMS, Editing a Product Bundle.
ZAP Size Limits and Optimization
ZentriOS apps execute from the MCU's internal flash. The flash available for a Zap depends on the hardware platform:
The size of a zap's executable/read-only code may not exceed these values.
The implementation of ZentriOS APIs is included in ZentriOS. API calls only reference the ZentriOS implementations. This greatly reduces the required size of a ZentriOS app.
To optimize the size of a ZentriOS app, wherever possible use:
- native API functions and commands
- read-only arrays
- read-only variables
- text as const
File Size Limit
There is no limit to the size of an individual file other than the size of the extended or bulk serial flash connected to the ZentriOS hardware. Bulk serial flash up to 128MBytes may be used.
Files are typically opened and written to completion with the size known a-priori, however the file log API provides the option to append to an existing file which is useful for data logging. The minimum size of a file is 4KByte.
See the File System description and the File System API for additional information.
For log file format, see File System, Log Files.