- 博客(6)
- 资源 (8)
- 收藏
- 关注
原创 LOG分级输出(c)
#include <stdio.h> enum loglevel { LOG_OFF = 0, LOG_ERROR, LOG_WARNING, LOG_INFO, LOG_DEBUG }; static int loglevels = LOG_INFO; #define sp_pr(level, fmt, ...) \ do { \ if (LOG_##level <= loglevels) { \
2020-09-29 15:42:01 597
原创 地址与整形转化(64bit/32bit)
static inline uint32_t LL2L(void *addr) { union { void *addr; uint32_t u32; } temp; temp.addr = addr; return temp.u32; } static inline void* L2LL(uint32_t data) { union { void *addr; uint32_t u
2020-09-29 14:52:59 617
原创 编译Linux驱动模块
Linux编译 下载Linux内核源码 https://kernel.org/ 放入Linux中解压并配置 > xz -d linux-5.7.8.tar.xz > tar -xf linux-5.7.8.tar > cd linux-5.7.8/ > make menuconfig 执行make menuconfig 报错 error 1 Unable to find the ncurses package. Install ncurses (ncurses-devel or
2020-07-12 22:13:00 725
原创 Linux URB总结
URB典型生命周期:(异步) 被一个USB设备驱动创建;(创建URB) 初始化、设定特定USB设备的特定端点;(填充URB) USB设备驱动将URB提交给USB core;(提交URB) 被USB core提交到指定的USB HCD; USB HCD处理,进行USB设备的数据传输; 当URB完成,USB HCD通知USBD;(URB结果) 创建URB 填充URB 提交URB 处理URB 创建URB 创建URB结构体: struct urb *usb_alloc_urb(int iso_packets
2020-07-12 13:16:05 713
原创 C代码风格及注释(个人规范)
因为代码写的不算多,一直没有一种遵循的代码风格,现在整理一篇,为以后的代码树立风格,保证代码可读性。 参考规范: Google C++风格指南 华为 C语言编程规范 MISRA C Coding Standard 下文简称Google、HW、MISRA。 代码风格 编码 因为大部分使用的Windows系统,这个系统上默认编码方式都...
2018-03-19 16:30:38 4351
原创 mini2440中led裸板代码开发
手里一直有块友善之臂的 2440,一直没用,最近拿来用用,先从裸机程序编写起,慢慢往上面一步一步折腾起。环境是 win10 上安装 VM,VM 中安装 Ubuntu16.04。 交叉编译环境是 arm-linux-gcc 4.43 版。折腾的几天终于把裸板的 Led 灯点亮了,因为以前没接触过 Makefile 和 lds,所以时间稍微长了些。 Makefile 和 lds 及启动代码都是一个板
2017-08-10 22:37:09 555
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人