摘要: 本文档简单说明内核模块堆叠的基本信息。 在Linux中内核模块的堆叠(module stacking)是指一个模块对另一个模块的依赖情况。 模块堆叠有利于模块间的代码复用和功能扩展:一个设备驱动可能依赖于一个提供通用功能的模块。 内核模块堆叠的关键点: 模块依赖关系: 模块A可以使用模块B导出的符号 阅读全文
posted @ 2026-02-03 17:49 bitwoods 阅读(1) 评论(0) 推荐(0)
摘要: 从上一个简单示例来看,一个最基本的区别是:内核模块程序的编写格式与普通应用程序是不同的。 格式的不同也是和内核模块的功能特性与普通应用的功能特性决定的: 绝大部分普通应用都是启动后关注其任务流程,并在退出前始终运行; 而对于内核模块,在初始化只为注册自己在内核中的服务,等待被使用或者退出。 事件驱动 阅读全文
posted @ 2026-02-03 16:49 bitwoods 阅读(1) 评论(0) 推荐(0)
摘要: 万事总有第一步,对于程序世界,第一步多数都是从Hello World开始,这里也就随大流了: 代码 hello.c #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int 阅读全文
posted @ 2026-02-03 15:17 bitwoods 阅读(2) 评论(0) 推荐(0)
摘要: 代码 sql::PreparedStatement *read_stmt; read_stmt = pconn->prepareStatement("SELECT * from `user` WHERE level LIKE ? "); //1 sql::SQLString searchPatter 阅读全文
posted @ 2024-07-24 09:17 bitwoods 阅读(72) 评论(0) 推荐(0)
摘要: 编译报错 centos9上编译glog0.3.4和0.3.5报错: src/googletest.h:579:33: error: ISO C++17 does not allow dynamic exception specifications 579 | void* operator new(s 阅读全文
posted @ 2024-06-06 14:30 bitwoods 阅读(347) 评论(0) 推荐(0)
摘要: 阿里云Ubuntu服务器优化 有台自用的阿里云测试服务器,最便宜的那种2核2G ¥99/年,装的ubuntu22.04.之前用着感觉还行,最近几天使用vscode ssh修改调试, 搞了一段时间就不行,cpu和内存飙升至96%以上...之后就是各种反应迟钝,无法编译.... 太便宜了,提交工单都不好 阅读全文
posted @ 2023-11-10 18:02 bitwoods 阅读(147) 评论(0) 推荐(0)
摘要: 为避免找到的开源md5算法有坑,一般直接用openssl自带的MD5相关函数实现; 一般系统已默认安装openssl,没装的话直接指令安装 ubuntu sudo apt-get install libssl-dev centos sudo dnf install openssl-devel 示例代 阅读全文
posted @ 2023-10-16 17:08 bitwoods 阅读(298) 评论(0) 推荐(0)
摘要: linux串口AT与数据的混杂接收处理; fdcom_rs232为串口句柄 conf.rs232.baudrate为实际使用的波特率 buf_rs232 为串口数据缓存数组 buf_rs232_len 为串口数据缓存实际长度 LOG_ERROR 为自定义错误打印宏 ``` void recv_at_ 阅读全文
posted @ 2023-07-22 09:23 bitwoods 阅读(58) 评论(0) 推荐(0)
摘要: mesh主要使用广播和扫描通信,故主要工作于37-39信道;对于不支持广播通信的设备,通过代理接入网络(使用ble通信,0-37信道);最大MTU 24字节 标识设备的方式有UUID和Mesh Address; 设备配网建立pb-adv link时使用设备uuid;设备获取到mesh地址后,也可用m 阅读全文
posted @ 2023-03-14 15:28 bitwoods 阅读(634) 评论(0) 推荐(0)
摘要: OpenWrt 应用中操作GPIO的方式多数都是: 修改设备树 通过shell脚本export出对应的GPIO 通过shell脚本或操作文件的方式控制GPIO/通过LEDE LED配置控制GPIO 不用这种方式的时候,通常按照Linux方式先写驱动,然后在应用/插件中调用驱动程序接口控制GPIO 以 阅读全文
posted @ 2023-02-11 10:07 bitwoods 阅读(1265) 评论(0) 推荐(0)