没有见过zephyr 现在有很多的其他操作系统在应用。 期待楼主移植zephyr成功的代码。 zephyr有什么优势吗? 如何在操作系统里面使用中断函数呢? 这个用法跟其他的rtos一样的? 如何设置每一个函数的执行操作时间? 这个是什么操作系统? zephyr是哪个公司开发的源代码? 看来很多人不了解zephyr,资料都在这里https://www.zephyrproject.org/。
简单说,如果使用无线网络的话(包括蓝牙),它是最好的RTOS,它的各种网络协议非常齐全,而且简单好用。 如果你要开发的产品有图形显示,也是很合适的。
若是一般的产品开发,freertos 就很好了,用zephyr是跟自己过不去,毕竟有学习成本。
使用zephyr比较适合厂家支持的产品,很多驱动自己支持的话非常费时间。
我觉得zephyr最大的优势,对产品开发人员来说,就是产品平台移植,比如ST移植到国民技术(如果也支持的话),GD。从nordic移植到国民技术(如果官方支持)。你几乎可以不修改代码. 源代码在哪下载的? uiint 发表于 2023-2-8 12:27
源代码在哪下载的?
刚开始要按照这个步骤来: https://docs.zephyrproject.org/latest/develop/getting_started/index.html
只是看代码的话,传送门在这里:https://github.com/zephyrproject-rtos/zephyr 给没有用过zephyr分享下它的蓝牙应用,比如定义一个服务,国民技术的协议是要配置和完成的 代码非常多。
但是在zephyr采用的bluez的协议栈里面,就非常简单,如下面的代码,你只需要完成read_ct, write_ct两个函数,一个读,写服务就完成了。
如果有notify/indicate, 还需要一个函数ct_ccc_cfg_changed。其它的事情都已经在协议栈完成了。
/* Current Time Service Declaration */
BT_GATT_SERVICE_DEFINE(cts_cvs,
BT_GATT_PRIMARY_SERVICE(BT_UUID_CTS),
BT_GATT_CHARACTERISTIC(BT_UUID_CTS_CURRENT_TIME, BT_GATT_CHRC_READ |
BT_GATT_CHRC_NOTIFY | BT_GATT_CHRC_WRITE,
BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
read_ct, write_ct, ct),
BT_GATT_CCC(ct_ccc_cfg_changed, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE),
);
页:
1
[2]