使用方法 1.添加文件 bos/core/src 核心文件及功能模块全部添加至工程 bos/driver/src 选择需要的驱动添加至工程 bos/hal/ 添加至工程,根据具体平台进行修改
2.选择功能模块 对于b_config.h进行配置,根据自己的需要选择功能模块。
3.列出需要使用的设备 找到b_device_list.h,在里面添加使用的外设。例如当前项目只需要使用flash和模拟串口,那么添加如下代码: // 设备 驱动接口 描述
B_DEVICE_REG(W25QXX, bW25X_Driver, "flash")
B_DEVICE_REG(SUART, SUART_Driver, "suart")
4.使用范例
#include "b_os.h" //头文件
//b_config.h配置文件中使能KV存储
int main()
{
uint8_t buf[128];
//......
bInit(); //初始化,外设的初始化会在此处调用
//下面举例使用:W25QXX和KV存储功能模块,其中W25QXX已经添加到b_device_list.h
if(0 == bKV_Init(W25QXX, 0xA000, 4096 * 4, 4096)) //初始化KV存储,指定存储设备W25QXX
{
b_log("bKV_Init ok...\r\n");
}
//存储键值对(可用于存储系统配置信息)
b_log("save ip, name\r\n");
bKV_Set((uint8_t *)"ip", (uint8_t *)"192.168.1.155", sizeof("192.168.1.155"));
bKV_Set((uint8_t *)"name", (uint8_t *)"BabyOS", sizeof("BabyOS"));
//获取值
b_log("read ip, name...\r\n");
bKV_Get((uint8_t *)"ip", buf);
b_log("ip: %s\r\n", buf);
bKV_Get((uint8_t *)"name", buf);
b_log("name %s\r\n", buf);
//修改键值对的值
b_log("change name...\r\n");
bKV_Set((uint8_t *)"name", (uint8_t *)"abcde", sizeof("abcde"));
//重新获取值
bKV_Get((uint8_t *)"name", buf);
b_log("new name: %s\r\n", buf);
//......
while(1)
{
//.....
bExec(); //循环调用此函数
//.....
}
}
举例使用W25QXX读取数据,从0地址读取128个字节数据至buf: {
int fd = -1;
fd = bOpen(W25QXX, BCORE_FLAG_RW);
if(fd == -1)
{
return;
}
bLseek(fd, 0);
bRead(fd, buf, 128);
bClose(fd);
}
|