自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (17)
  • 收藏
  • 关注

原创 clang-format 备份

.clang-format 备份---# 语言: None, Cpp, Java, JavaScript, ObjC, Proto, TableGen, TextProtoLanguage: CppBasedOnStyle: Google# 访问说明符(public、private等)的偏移AccessModifierOffset: -4# 开括号(开圆括号、开尖括号、开方括号)后的...

2019-11-27 15:12:52 259

原创 VS Code + gdbserver 嵌入式arm远程调试

0. 背景海思sdk编译出文件系统中的gdb不支持回删,非常难用。想用一个比较靠谱且方便的调试方式,找了一些资料,发现vscode + gdbserver是不错的选择。使用这种方式,可以暂停程序运行,直接在代码上打断点,直观的看到当前的堆栈信息,查看每个变量的当前值和内存地址等等,目前所支持的功能还未发掘完毕,应该还有其他妙用。。。1. 准备gdbserver先找一下当前宿主主机的交叉编...

2019-10-10 14:43:53 8320 3

原创 C snippets: base64编码二进制文件(测试jpg图片)

如下是编码接口:const char * base64char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";char *base64_encode_file(const unsigned char * bindata, char * base64, int binlength){ int i...

2019-09-01 20:37:07 365

原创 vscode仿照source insight配置备份

User setting{ "svn.enableProposedApi": "none", "files.eol": "\n", "files.exclude": { "**/.vscode": true }, "vsicons.dontShowNewVersionMessage": true, "files.autoSave":...

2019-08-29 11:12:43 2217

原创 无题

Read the fucking source code!

2018-05-31 20:07:13 273 2

原创 新建只能访问LUCI的非root用户

编译LEDE/openWRT,不管是ssh远程登录还是luci界面都只有root用户,为了增强系统的安全性,就要将ssh和luci的用户做区分。 本例默认用户为root,密码为123456,作为系统访问用户; 新增用户为admin,密码为admin,作为luci登录用户; 添加admin用户打开~/lede/package/base-files/files/etc/passwd文件,

2018-01-31 14:19:21 1322 3

原创 OpenWrt/Lede 添加Samba支持

samba功能定制1.uci定制Base System ---> <*> uci................ Utility for the Unified Configuration Interface (UCI) Libraries ---> <*> libuci........... C library for the Unified Configur

2018-01-02 10:28:00 9160

原创 OpenWrt/Lede 添加USB支持

USB功能定制1. 添加USB相关支持Kernel modules —> USB Support —> <*> kmod-usb-core. Kernel modules —> USB Support —> <*> kmod-usb-ohci. Kernel modules —> USB Support —> <*> kmod-usb-uhci. Kernel modules —

2018-01-02 10:26:03 26548 1

原创 lede编译freeradius2时遇到的错误解决方法

在编译freeradius2时,遇到了如下错误:/usr/bin/ld: .libs/debug.o: Relocations in generic ELF (EM: 8)/usr/bin/ld: .libs/debug.o: Relocations in generic ELF (EM: 8).libs/debug.o: error adding symbols: File in wrong

2017-12-01 09:32:39 792

原创 Python: IO操作(文件操作)

读文件 使用python内置的函数open()可以打开一个文件(类似C语言):f = open('file.txt', 'r')f.read()f.close() 文件读写时可能都会出错,产生IoError,一旦出错f.close()就不能用,所以我们可以使用try…finallytry: f = open('file.txt', 'r') f.

2017-11-13 22:17:07 3519

原创 OAI代码流程解析

我在GitHub上fork了国外一位OAI研究者所整理的代码笔记,我自己也整理了一些,欢迎大家fork,创建自己的分支,同时也积极PR,共同学习、进步。https://github.com/wynter-wang/oai-study

2017-11-10 11:52:43 3369 3

原创 Python: 定制类

定制类__slots__ 说明 为了限制类的实例属性,比如只对Student实例添加name和age属性 为了达到这个目的,python允许在定义class的时候,定义一个特殊的 __slots__ 变量,来限制该class实例能添加的属性:class Student(object): __slots__ = ('name', 'age') #用tuple定义允许绑定的属

2017-11-07 18:50:38 686

转载 千行代码带你入门Python

# _*_ coding: utf-8 _*_"""类型和运算----类型和运算----类型和运算----类型和运算----类型和运算----类型和运算----类型和运算----类型和运算----类型和运算----类型和运算----类型和运算"""#-- 寻求帮助: dir(obj) # 简单的列出对象obj所包含的方法名称,返回一个字符串列表 help(obj

2017-10-31 23:40:52 590

原创 Source Insight 代码自动排版

Source Insight是大家常用的1,下载astyle工具:http://download.csdn.net/download/wynter_/100244112,打开你的SourceInsight, 选择菜单“Options-->Custom Commands-->Add”, 输入Artistic Style(可以随便输入一个名字,不要乱填,最好能体现自动排版的字眼,因为这

2017-10-16 16:54:55 2486

转载 频分多址、时分多址、码分多址

频分多址 频分多址(FDMA)是把通信系统的总频段划分成若干个等间隔的频道(或称信道)分配给不同的用户使用。这些频道互不交叠,其宽度应能传输一路数字话音信息,而在相邻频道之间无明显的串扰。频分多址的频道被划分成高低两个频段,在高低两个频段之间留有一段保护频带,其作用是防止同一部电台的发射机对接收机产生干扰。如果基站的发射在高频段的某一频道中工作时,其接收机必须在低频段的某一频道中工作;与此对应,

2017-10-10 23:14:34 25465 1

原创 openWrt patch 打补丁

英文原版 中文翻译

2017-07-29 16:18:56 1348

原创 Ubuntu:搭建ESP32 MicroPython编译环境

Ubuntu系统ESP32 MicroPython编译环境搭建本文是在Ubuntu虚拟机上搭建esp32 micropython编译环境,根据自己的挖过的坑总结经验开发环境硬件:ESP32-WROOM-32 开发板软件:Ubuntu 14.04虚拟机步骤1.安装交叉编译工具链所依赖的环境 sudo apt-get install git make gcc libncurses5-dev

2017-06-30 14:50:11 5422

转载 ps aux、ps -aux、ps -ef之间的区别

ps aux 和ps -aux和 ps -ef的选择Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同

2017-06-28 09:10:18 95411 13

转载 Linux高效编写Bash脚本的10个技巧

Shell 脚本编程 是你在 Linux 下学习或练习编程的最简单的方式。尤其对 系统管理员要处理着自动化任务,且要开发新的简单的实用程序或工具等(这里只是仅举几例)更是必备技能。本文中,我们将分享 10 个写出高效可靠的 bash 脚本的实用技巧,它们包括:1、 脚本中多写注释这是不仅可应用于 shell 脚本程序中,也可用在其他所有类型的编程中的一种推荐做法。在脚本中作注释能帮你或别人翻阅你的

2017-06-27 08:58:48 602

转载 openWrt: 数据发送过程分析

OpenWRT数据发送过程 这里使用的是ath9k网卡驱动,硬件平台是TP-link TL-WR841N V7.1 路由器1.  packet_sendmsg()    Linux kernel发送数据的接口函数是packet_sendmsg,本质上对应了user space的sendmsg实现。上层通过调用sendmsg实现数据的发送。将待发送的数据放入kernel spac

2017-06-12 13:51:56 1669

转载 openWrt 数据接收过程分析

OpenWRT数据接收过程 这里使用的是ath9k网卡驱动,硬件平台是TP-link TL-WR841N V7.1 路由器1.  ieee80211_tasklet_handler()Linux内核是通过中断来对接收到的数据进行响应的。当硬件检测到有接收数据的时候,产生一个中断,中断触发下半部的tasklet机制,在802.11协议栈这里会调用ieee80211_taskl

2017-06-12 12:22:16 1498

转载 python中 with...as的用法

With语句是什么?Python’s with statement provides a very convenient way of dealing with the situation where you have to do a setup and teardown to make something happen. A very good example for this is t

2017-05-23 11:49:42 658

转载 MPDU 和 MSDU 的区别及关系

MSDU(MAC Service Data Unit): MAC服务数据单元。MPDU(MAC Protocol Data Unit):  MAC协议数据单元。 在无线网络安全中,MSDU是Ethernet报文,经过添加完整性校验MIC、分帧、省电模 式下报文缓存、加密、序列号赋值、CRC校验、MAC头之后成为MPDU,MPDU就是 指的经过802.11协议封装过的数据帧。

2017-04-13 19:49:42 25103 1

原创 解决github网站 git push或者git clone代码速度太慢的方法

有时在工作中往github上提交代码或者clone别人的代码,总是特别慢!小一点的项目源代码还好,大的项目就要急死人了,差一点的速度经常是个位数,真的很耽误事!有个修改hosts的方法大家可以试试,我这边亲测有效,别的我不敢保证,大家可以试试!1.打开hosts文件 sudo vim /etc/hosts2.在该文件末尾空一行填入151.101.72.249 github.glob

2017-03-21 22:59:17 24185 6

转载 python入门神书:500 lines or less

这是一本还没有出版的python入门神书,分成十几个章节,每个章节都是由一位开源大牛自己编写。目前网络上已经提供了review版本。链接如下:http://aosabook.org/blog/    这本书的内容就跟标题一样,每一章实现一个非常实用的功能,而且只用了500行或者更少的代码。全书简介如下:1. A Template Engine

2017-02-26 14:54:44 1091

转载 简单12步理解Python装饰器

好吧,我标题党了。作为 Python 教师,我发现理解装饰器是学生们从接触后就一直纠结的问题。那是因为装饰器确实难以理解!想弄明白装饰器,需要理解一些函数式编程概念,并且要对Python中函数定义和函数调用语法中的特性有所了解。使用装饰器非常简单(见步骤10),但是写装饰器却很复杂。虽然我没法让装饰器变得简单,但也许通过将问题进行一步步的讲解,可以帮助你更容易理解装饰器。由于装

2017-02-25 17:26:28 1051

转载 Makefile:内嵌函数用法

一、文本处理函数以下是GNU make内嵌的文本(字符串)处理函数。1       $(subst FROM,TO,TEXT)函数名称:字符串替换函数—subst。函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。返回值:替换后的新字符串。示例:$(subst ee,EE,feet on the street)替换“feet o

2017-01-23 10:06:03 560

转载 Linux C:文件锁flock

1. 场景概述    在多线程开发中,互斥锁可以用于对临界资源的保护,防止数据的不一致,这是最为普遍的使用方法。那在多进程中如何处理文件之间的同步呢?我们看看下面的图:图中所示的是两个进程在无同步的情况下同时更新同一个文件的过程,其主要的操作是:1. 从文件中读取序号。2. 使用这个序号完成应用程序定义的任务。3. 递增这个序号并将其写回文件中。从图中可

2017-01-20 14:08:04 2682

转载 openwrt查看flash、RAM、CPU信息

1.查看Flash容量大小(存储空间,可以理解为电脑的硬盘)root@OpenWrt:/# dmesg |grep spi |grep Kbytes  #查看Flash容量[    0.660000] m25p80 spi0.0: mx25l12805d (16384 Kbytes)#16384/1024=16M 既是16M的Flash2.查看RAM容量大小(可以理解为电脑

2017-01-13 10:11:45 15881

原创 openwrt uci api: 配置文件匿名节点的操作(2)

上一篇文章里面大概说了一下怎么找到匿名节点的"名字",这一篇说一下怎么操作匿名节点(增,删,改),例子如下:/* *在配置文件中新增一个节点 *(在wireless文件中新增一个ssid节点) */int add_new_section(void){ char acSsid[32] = {'0'}; //存储输入的ssid char acPasswd[32] = {'0'}

2016-12-30 15:55:51 5080 4

原创 openwrt uci api续: 找出匿名节点的"名字"

在使用uci api函数进行配置文件管理的时候,有些配置文件里面会有匿名节点的存在。现有的uci api没有直接支持修改匿名节点的api,所以想要修改匿名节点就略显头疼,甚至无从下手。其实匿名节点并非真的匿名,它也有名字存在。以下以/etc/config/wireless文件为例:这里这个节点就是匿名节点(anonymous section),上面有说这个节点其实是有名字的,可以通过下

2016-12-08 21:31:56 4108

原创 Warning: unknown mime-type for "xxx" -- using "application/octet-stream"

python的第一条报错Warning: unknown mime-type for "xxx" -- using "application/octet-stream"这是因为在脚本文件开始的第一行不是由 #!/usr/bin/python开头的注意:注释不能写在第一行

2016-12-07 21:11:02 2555

原创 pthread_mutex_timedlock()

当程序试图获取一个已加锁的互斥量时,pthread_mutex_timedlock互斥量原语允许绑定线程阻塞时间。pthread_mutex_timedlock函数与pthread_mutex_lock函数是基本等价的,但是在达到超时时间时,pthread_mutex_timedlock不会对互斥量进行加锁,而是返回错误码ETIMEOUT.#include #include int pth

2016-12-03 13:42:59 11173

转载 线程的分离状态

其实在写上一篇日志的时候,由于我把创建线程的返回值的判断条件写错了,程序每次运行的时候都是显示创建线程失败,我就百度了一下,有人说是桟资源不足引起的,要调用一个pthread_attr_setdetachstate()函数,当时不明白为什么,其原理是什么,于是又搜了一下,下文是其原理简述:在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。

2016-11-30 20:52:29 352

转载 Redis:ae事件模型

1.Redis的事件模型库大家到网上Google“Redis libevent”就可以搜到Redis为什么没有选择libevent以及libev为其事件模型库,而是自己写了一个事件模型。 从代码中可以看到它主要支持了epoll、select、kqueue、以及基于Solaris的event ports。主要提供了对两种类型的事件驱动:1.IO事件(文件事件),包括有IO的读事件和写

2016-11-24 12:04:38 2732

原创 openWrt uci API

UCI是Unified Configuration Interface的缩写,翻译成中文就是统一配置接口,用途就是为OpenWrt提供一个集中控制的接口。OpenWrt实现的这个工具,能够让你的不管是Lua还是PHP程序,或者SHELL程序或C程序,只要执行命令传输参数就能达到修改系统参数的目的。UCI 是OpenWRT为实现配置集中化而引入的一个软件包, 通过修改UCI,可以实现对OpenW

2016-11-20 16:36:54 3557 1

原创 va_list用法

va_list是在C语言中解决变参问题的一组宏。引用其头文件位 #include #ifdef _M_ALPHAtypedef struct{ char *a0; //pointer to first homed integer argument int offset; //byte offset of next parameter} va_list;#elsetyped

2016-11-16 19:46:36 625

转载 C语言:标记化结构初始化语法

转载自http://www.cnblogs.com/omenglvrong1/p/4363821.html      以前在看Linux代码时,就对它的结构体初始化写法感到奇怪,所有的初始化代码都写清了变量名,并且变量名前面还有一个诡异的点。最近学习Linux设备驱动,又遇到了,就查了一下,发现自己的知识果然纰漏不少,此种初始化写法并不是什么特殊的代码风格,而是所谓的C语言标记化结构初

2016-11-11 11:37:42 453

转载 ACCESS_ONCE(x)宏含义

如果你看过 Linux 内核中的 RCU 的实现,你应该注意到了这个叫做 ACCESS_ONCE() 宏,但是并没有很多人真正理解它的含义。网上有的地方甚至对此有错误的解释,所以特写此文来澄清一下。虽然我早在读 perfbook 之前就了解了 ACCESS_ONCE() 的含义(通过询问大牛 Paul),但这本书中正好也没有很详细地介绍这个宏,所以就当是此书的读书笔记了。定义

2016-11-04 10:59:19 813

原创 Linux无线网卡的工作模式

无线网卡可以工作在多种模式之下。常见的有Master,Managed,ad-hoc,monitor等模式。         对于Master模式,它主要使用于无线接入点AP提供无线接入服务以及路由功能。可以想象我们使用的无线路由器就是工作在Master模式下了,不过对 于普通的pc机来说,如果有合适的硬件它也可以变成一台无线AP。在LINUX下使用软件HOSTAP可以使一台linuxpc具

2016-11-02 13:26:54 1158

gdb-master.tar.gz

gdb源码,支持vscode+gdbserver远程调试代码,方便查看代码运行状态

2019-10-10

AStyle_2.05.1_windows.zip 自动排版

Source Insight 自动化排版工具,支持C/C++, JAVA等语言,教程:http://blog.csdn.net/wynter_/article/details/78251565

2017-10-16

AStyle_2.05.1_windows.zip

Source Insight3 自动排版,支持C/C++,JAVA等语言,告别混乱的代码风格,教程参考

2017-10-16

NppAStyle_bin_0.10.02.14.zip

notepad++软件自动格式化插件,支持C/C++,JAVA,Python等等

2017-10-16

AR9344-datasheet.pdf

高通ar9344 datasheet

2017-08-08

freeradius-2.1.9-dfsg_eap-sim-aka-0.1.patch

freeradius-2.1.9-dfsg_eap-sim-aka-0.1.patch

2017-07-14

GNU Makefile编程.pdf

GNU Makefile编程

2017-07-07

hadoop-with-python.pdf

hadoop-with-python

2017-06-30

Django_中文教程.pdf

Django中文教程.pdf

2017-06-30

802.11n的吞吐率、强健性和可靠性.pdf

802.11n的吞吐率、强健性、可靠性

2017-06-30

ath9k源码分析

ath源码分析 包括数据的接收与发送api的详解 hardware<->驱动<->80211<->kernel

2017-04-12

Linux高性能服务器编程.pdf

Linux高性能服务器编程,socket通信,Tcp/ip编程

2016-09-28

unix网络编程卷2进程间通信

2016-09-14

数据结构(C语言)

C语言版数据结构与算法,有大量图形及源代码可供理解学习

2016-09-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除