- 博客(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
664
1
原创 地址与整形转化(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
704
原创 编译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 1Unable to find the ncurses package.Install ncurses (ncurses-devel or
2020-07-12 22:13:00
787
原创 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
790
原创 C代码风格及注释(个人规范)
因为代码写的不算多,一直没有一种遵循的代码风格,现在整理一篇,为以后的代码树立风格,保证代码可读性。 参考规范: Google C++风格指南 华为 C语言编程规范 MISRA C Coding Standard 下文简称Google、HW、MISRA。 代码风格编码因为大部分使用的Windows系统,这个系统上默认编码方式都...
2018-03-19 16:30:38
4546
原创 mini2440中led裸板代码开发
手里一直有块友善之臂的 2440,一直没用,最近拿来用用,先从裸机程序编写起,慢慢往上面一步一步折腾起。环境是 win10 上安装 VM,VM 中安装 Ubuntu16.04。 交叉编译环境是 arm-linux-gcc 4.43 版。折腾的几天终于把裸板的 Led 灯点亮了,因为以前没接触过 Makefile 和 lds,所以时间稍微长了些。 Makefile 和 lds 及启动代码都是一个板
2017-08-10 22:37:09
579
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人