使用方法 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);
- }
|