<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lcokenm的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lcokenm</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lcokenm]]></copyright><item><title><![CDATA[终端下设置wifi连接]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/107285104</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/107285104</guid><author>lcokenm</author><pubDate>Sat, 11 Jul 2020 15:09:59 +0800</pubDate><description><![CDATA[准备好wpa.conf配置文件，一般存放目录在/etc下，路径可以放到wpa_supplicant下，也可以直接放/etc下，你随意


通常是这种加密方式：

network={
    ssid="无线网络名称（ssid）"
    key_mgmt=WPA-PSK
    psk="wifi密码"
}

如果你用的WEP加密：
network={
    ssid="无线网络名称（ssid）"
    key_mgmt=NONE
    wep_key0="wifi密码"
}

最糟糕的情况，没用密码]]></description><category></category></item><item><title><![CDATA[Nanopi Core 2 dev/ttyS2 问题]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/101628731</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/101628731</guid><author>lcokenm</author><pubDate>Sat, 28 Sep 2019 23:02:15 +0800</pubDate><description><![CDATA[使用中发现，nanopi core 2的ttyS2不能正常发送数据，下载了H5的数据手册，发现TX引脚和RX引脚的功能选择配置如下：



通过gpio readall指令获取的信息如下：


root@SK_PI:/# gpio readall
 +-----+-----+----------+------+---+-NanoPi NEO/NEO2--+------+----------+---...]]></description><category></category></item><item><title><![CDATA[ubuntu18.04 关闭/最小化/最大化转到左上角]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/100808690</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/100808690</guid><author>lcokenm</author><pubDate>Fri, 13 Sep 2019 19:06:50 +0800</pubDate><description><![CDATA[原来一直用16.04的，最近心血来潮更新到18.04，发现窗口的关闭/最小化/最大化被放到右上角去了，非常不习惯！

改！必须改！

下边的命令，切换到左上角：


gsettings set org.gnome.desktop.wm.preferences button-layout "close,maximize,minimize:"

下边的命令，切换到右上角：


gsettings se...]]></description><category></category></item><item><title><![CDATA[Shell解析传入参数]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/100181173</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/100181173</guid><author>lcokenm</author><pubDate>Sun, 01 Sep 2019 11:43:28 +0800</pubDate><description><![CDATA[shell中的特殊参数： $#: 传递到脚本的参数个数 $*: 以一个单字符串显示所有向脚本传递的参数 $$: 脚本运行的当前进程ID $@: 与$#相同，但在使用时加引号，并在引号中返回每个参数 $-: 显示shell使用的当前选项，与set命令功能相同 $?: 显示最后命令的退出状态。0表示没有错误，其他任何值表明有错误。 $0: 脚本名字，$1位置参数1，$2位置参数2... ${10}位置参数10 $_: 之前命令的最后一个参数 手动处理命令行参数复杂而容易出问题，我们可以直接利用getopts和g]]></description><category></category></item><item><title><![CDATA[pthread_create返回值]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/100178816</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/100178816</guid><author>lcokenm</author><pubDate>Sat, 31 Aug 2019 23:47:43 +0800</pubDate><description><![CDATA[今晚在跑之前写的一个创建新线程的代码，发现：执行设置系统调度策略以及调度参数相关的参数后，调用pthread_create生成新的任务时，得到返回值为1的情况：


    pthread_attr_init(&amp;attr);
    if (desc-&gt;stack_size != 0)
    {
        pthread_attr_setstacksize(&amp;attr...]]></description><category></category></item><item><title><![CDATA[执行时找不到动态库位置：cannot open shared object file: No such file or directory]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/100149310</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/100149310</guid><author>lcokenm</author><pubDate>Fri, 30 Aug 2019 00:12:59 +0800</pubDate><description><![CDATA[执行文件时，找不到动态链接库：


./demo 
./demo: error while loading shared libraries: libqxwz.so: cannot open shared object file: No such file or directory

主要是库文件路径没有指定。

常用的一种方式，LInux上直接往LD_LIBRARY_PATH里写当前so库所在的...]]></description><category></category></item><item><title><![CDATA[通过wvdial完成4G自动拨号上网]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/100129287</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/100129287</guid><author>lcokenm</author><pubDate>Thu, 29 Aug 2019 00:46:21 +0800</pubDate><description><![CDATA[先安装wvdial：


sudo apt-get install wvdial

wvdial需要一个拨号配置文件：


/etc/wvdial.conf

移动卡或者电信卡配置文件如下：


[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0
Init3 = AT+CGDCONT=1,"IP","3gnet"
Modem Type = A...]]></description><category></category></item><item><title><![CDATA[静态链接库]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/100128312</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/100128312</guid><author>lcokenm</author><pubDate>Wed, 28 Aug 2019 22:54:37 +0800</pubDate><description><![CDATA[使用静态链接库时，在makefile中这样声明：


gcc main.c –static –L./ –lfunc –o main

-static：声明使用静态链接库

-lfunc：func为静态库名字，链接器链接的时候就会去-L指定的位置，找名字为libfunc.a的静态库
...]]></description><category></category></item><item><title><![CDATA[解决make时候出现"make: warning:  Clock skew detected.  Your build may be incomplete."的问题]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/100128022</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/100128022</guid><author>lcokenm</author><pubDate>Wed, 28 Aug 2019 22:32:09 +0800</pubDate><description><![CDATA[从PC ubuntu下通过rz指令传了一个压缩包到Linux设备上，解压后直接make压缩包中的source，出现如下告警：


make: warning:  Clock skew detected.  Your build may be incomplete.



意思就是检测到时钟偏差了，主要是两个设备系统之间的时间上存在差距。

解决方案：


find ./ -type f |xar...]]></description><category></category></item><item><title><![CDATA[rtl8812驱动分析（三）]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/46586427</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/46586427</guid><author>lcokenm</author><pubDate>Sun, 25 Aug 2019 23:47:52 +0800</pubDate><description><![CDATA[在probe的时候我们为wlan0的网络节点的接口结构体中赋值了open和stop函数，这两个接口是在ifconfig wlan0 up和ifconfig wlan0 down调用的。

.ndo_open = netdev_open,
.ndo_stop = netdev_close,

下面来详细看一下这两个过程。

net_open() –> _netdev_open(pnetdev) :]]></description><category></category></item><item><title><![CDATA[Makefile中传递宏定义字符串给C]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/100069580</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/100069580</guid><author>lcokenm</author><pubDate>Sun, 25 Aug 2019 23:44:12 +0800</pubDate><description><![CDATA[makefile中这样定义一个字符串：



USER_CONFIG_APP_KEY ="8193"
USER_CONFIG_APP_SECRET ="bad7e97f3c416fab1fd934546e35041dc8cdcd4668eeae55cad85d955b39"

然后在你的编译flag里加入宏定义，格式如下:


CFLAGS += -DUSR_APP_KEY=\"$(USER_C...]]></description><category></category></item><item><title><![CDATA[QT下载]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/99175514</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/99175514</guid><author>lcokenm</author><pubDate>Sun, 11 Aug 2019 11:25:24 +0800</pubDate><description><![CDATA[下载地址：


http://download.qt.io/archive/qt/





选择windows版本下载：




]]></description><category></category></item><item><title><![CDATA[LInux下串口传输文件]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/99130624</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/99130624</guid><author>lcokenm</author><pubDate>Sun, 11 Aug 2019 00:03:41 +0800</pubDate><description><![CDATA[最近在做一个项目，需要从串口传输文件到设备上，自己瞎折腾写了一套私有协议，启动传输-&gt; 传输固件 -&gt; 校验固件，

整套流程跑下来，挺麻烦的，结果今晚吃饭跟徐总一交流，用rz直接搞定啊，干嘛非得自己写，想想真是笨死了。。。



于是开始在设备上安装rz.

下载：


wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.g...]]></description><category></category></item><item><title><![CDATA[RTK调试记录]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/94314608</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/94314608</guid><author>lcokenm</author><pubDate>Sun, 30 Jun 2019 13:51:18 +0800</pubDate><description><![CDATA[选用模块：UB482（和芯通信）

平台：Ubuntu+树莓派



调试计划：

在Ubuntu上打通ntrip服务，购买千寻服务器差分账号，用假的GPGGA数据，从服务器拉到RTCM数据；
	从UB482获取到GPGGA定位数据，将GPGGA数据打包对接上Ntrip协议发送到千寻服务器并拉到真正的RTCM数据；
	将RTCM数据灌到UB482，从UB482获取到差分后的GPGGA数据；
	完...]]></description><category></category></item><item><title><![CDATA[Github本地新建分支并推送远程仓库]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/94312489</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/94312489</guid><author>lcokenm</author><pubDate>Sun, 30 Jun 2019 13:38:36 +0800</pubDate><description><![CDATA[有时候需要在本地新建了代码分支，想直接推送到远程仓库并新建代码分支，操作如下：

第一步，先初始化本地git仓库（如果是从远程仓库拉下来的可以忽略这一步）


damon@damon-Latitude-7380:Ntrip$ git init
Initialized empty Git repository in /home/damon/Work/ntrip/Ntrip/.git/


第二步，添...]]></description><category></category></item><item><title><![CDATA[Python2.7版本和3.6版本兼容问题]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/77657867</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/77657867</guid><author>lcokenm</author><pubDate>Mon, 28 Aug 2017 21:37:24 +0800</pubDate><description><![CDATA[环境：Window7


方法：将2.7安装到C:\Python27下，将3.6安装到C:\Python36下，在需要使用pthon3 run的.py文件中，添加shebang line来实现。


shebang line >>>>   #!/usr/bin/env python3
添加到.py的头部即可
默认情况下没有声明的时候默认使用python2.7]]></description><category></category></item><item><title><![CDATA[Opencv环境搭建]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/76861492</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/76861492</guid><author>lcokenm</author><pubDate>Mon, 07 Aug 2017 21:12:49 +0800</pubDate><description><![CDATA[环境：window7 + python2.7.12 + numpy1.10.1 + opencv3.3.0openCV下载地址：openCV3.3.0 
numpy下载地址：numpy1.10.1 
python下载地址：python2.7.12完成python/nympy/openCV的安装之后，进入OpenCV解压后的路径，从opencv\build\python\2.7\x86（根据实际选用3]]></description><category></category></item><item><title><![CDATA[高速USB设备枚举的握手过程]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/76219012</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/76219012</guid><author>lcokenm</author><pubDate>Thu, 27 Jul 2017 20:31:11 +0800</pubDate><description><![CDATA[当一个高速设备接入USB host之后，到枚举完成中间经历的信号过程，我给分为以下几个阶段：


第一阶段：设备接入后，将D+信号线拉高，host或者更精确点说roothub/hub，会上报一个端口connect信号
第二阶段：host发送reset信号，并拉低D+D-进入SE0状态，此SE0状态持续时间t &amp;gt; 2.5us
第三阶段：device检测到SE0超过2.5us之后，向总线发送Ch...]]></description><category></category></item><item><title><![CDATA[调试经验 - Fat文件打开失败的问题]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/75114718</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/75114718</guid><author>lcokenm</author><pubDate>Fri, 14 Jul 2017 15:17:36 +0800</pubDate><description><![CDATA[问题描述在M7上调试打开SD卡中的某个文件，并读取内容的过程中，发现在SD卡中存在的一个文件firmware.bin，通过open接口访问时，出现访问失败的问题。排查过程发现f_open()中传入的open_flag为FA_READ | FA_WRITE时，打开一个已经存在的文件没有问题，可以正常访问并调用f_write()和f_read()进行读写文件，但是当需要重写这个文件时，通过f_close]]></description><category></category></item><item><title><![CDATA[《质量保障》 --- 读书笔记]]></title><link>https://blog.youkuaiyun.com/lcokenm/article/details/74356596</link><guid>https://blog.youkuaiyun.com/lcokenm/article/details/74356596</guid><author>lcokenm</author><pubDate>Tue, 04 Jul 2017 20:22:47 +0800</pubDate><description><![CDATA[什么是软件的质量？ 
软件质量=程序质量+软件工程质量程序质量体现在软件外在功能的质量 
软件工程质量与软件开发过程中的“快”“便宜”相关。程序的质量可以通过一些特殊的方法在很短时间内提高，但是软件工程的质量则需要长期的过程来提高。软件工程的质量体现在：
软件开发过程的可见性
软件开发过程的风险控制
软件内部模块，项目中间阶段的交付质量，项目管理工具的因素
软件开发成本的控制
内部质量指标的完成情况]]></description><category></category></item></channel></rss>