更新时间:2022-02-21 GMT+08:00

可移植性

LiteOS SDK端云互通组件的Adapter层提供了常用的硬件及网络适配接口,终端或者模组厂家可以根据自己的硬件实现这些接口后,即可完成LiteOS SDK端云互通组件的移植。需要移植的接口列表及相关函数如下:

表1 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);  
};