更新时间:2022-02-21 GMT+08:00
可移植性
LiteOS SDK端云互通组件的Adapter层提供了常用的硬件及网络适配接口,终端或者模组厂家可以根据自己的硬件实现这些接口后,即可完成LiteOS SDK端云互通组件的移植。需要移植的接口列表及相关函数如下:
接口分类 |
接口名 |
说明 |
---|---|---|
网络Socket相关接口 |
atiny_net_connect |
创建socket网络连接 |
atiny_net_recv |
接收函数 |
|
atiny_net_send |
发送函数 |
|
atiny_net_recv_timeout |
阻塞式接收函数 |
|
atiny_net_close |
关闭socket网络连接 |
|
硬件相关接口 |
atiny_gettime_ms |
获取系统时间,单位ms |
atiny_usleep |
延时函数,单位us |
|
atiny_random |
硬件随机数函数 |
|
atiny_malloc |
动态内存申请 |
|
atiny_free |
动态内存释放 |
|
atiny_snprintf |
格式化字符串 |
|
atiny_printf |
日志输出 |
|
资源互斥相关接口 |
atiny_mutex_create |
创建互斥锁 |
atiny_mutex_destroy |
销毁互斥锁 |
|
atiny_mutex_lock |
获取互斥锁 |
|
atiny_mutex_unlock |
释放互斥锁 |
说明:
LiteOS SDK端云互通组件支持OS方式移植,也支持无OS方式移植,推荐使用支持OS方式移植。
LiteOS SDK端云互通组件支持固件升级,需要适配atiny_storage_devcie_s对象,供组件使用。
atiny_storage_devcie_s *atiny_get_hal_storage_device(void); struct atiny_storage_device_tag_s; struct atiny_storage_device_tag_s; typedef struct atiny_storage_device_tag_s atiny_storage_device_s; struct atiny_storage_device_tag_s { //设备初始化 int (*init)( storage_device_s *this); //准备开始写 int (*begin_software_download)( storage_device_s *this); //写软件,从offset写,buffer为内容,长度为len int (*write_software)( storage_device_s *this , uint32_t offset, const char *buffer, uint32_t len); //下载结束 int (*end_software_download)( storage_device_s *this); //激活软件 int (*active_software)( storage_device_s *this); //得到激活的结果, 0成功,1失败 int (*get_active_result)( storage_device_s *this); //写update_info, 从offset写,buffer为内容,长度为len int (*write_update_info)( storage_device_s *this, long offset, const char *buffer, uint32_t len); //读update_info, 从offset写,buffer为内容,长度为len int (*read_update_info)( storage_device_s *this, long offset, char *buffer, uint32_t len); };
父主题: 集成策略