<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[journeylu的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/journeylu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; journeylu]]></copyright><item><title><![CDATA[2014-10-16 USB 上位机在其他 PC 上运行]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/40431423</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/40431423</guid><author>journeylu</author><pubDate>Fri, 24 Oct 2014 18:21:14 +0800</pubDate><description><![CDATA[1. QT 加 Lib Usb 做的上位机如何在其他机器上运行
2. 各种 DLL 文件考到 EXE 文件夹后， 一起考到 PCa，运行软件可以运行但发现不能识别到 USB
3. 检查，是不是因为 LIB USB 为 USB 生成的驱动是不是没有装，
4. 将生成的驱动 考到 PCa 后，发现驱动不能装，
5. 尝试用 LIB usb 的驱动 http://yunpan.cn/cgCfXf]]></description><category></category></item><item><title><![CDATA[Svn]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/22667547</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/22667547</guid><author>journeylu</author><pubDate>Mon, 31 Mar 2014 14:40:16 +0800</pubDate><description><![CDATA[做为一个程序猿，代码管理不好是很让人头痛的一件事情，特别是在没有公司 Svn 却要为公司验证事情的可行性的时候，需要自己去开发并管理好代码，下面路程就在自己的 PC 上实现一个 Svn 服务器，并且实现 Svn 的功能。那样子就会可以向正常一样的方便的管理代码了。
首先 PC 要装好 Svn 这个软件，操作的方法很多，不过路程喜欢去 360 下载安装，因为像这种收费的软件，在 360 的回复中基]]></description><category></category></item><item><title><![CDATA[Svn 仓库 自助管理代码]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/22667427</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/22667427</guid><author>journeylu</author><pubDate>Mon, 31 Mar 2014 14:39:42 +0800</pubDate><description><![CDATA[做为一个程序猿，代码管理不好是很让人头痛的一件事情，特别是在没有公司 Svn 却要为公司验证事情的可行性的时候，需要自己去开发并管理好代码，下面路程就在自己的 PC 上实现一个 Svn 服务器，并且实现 Svn 的功能。那样子就会可以向正常一样的方便的管理代码了。
首先 PC 要装好 Svn 这个软件，操作的方法很多，不过路程喜欢去 360 下载安装，因为像这种收费的软件，在 360 的回复中基]]></description><category></category></item><item><title><![CDATA[用自己的 PC 实现 Svn 代码管理]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/22664387</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/22664387</guid><author>journeylu</author><pubDate>Mon, 31 Mar 2014 14:33:52 +0800</pubDate><description><![CDATA[做为一个程序猿，代码管理不好是很让人头痛的一件事情，特别是在没有公司 Svn 却要为公司验证事情的可行性的时候，需要自己去开发并管理好代码，下面路程就在自己的 PC 上实现一个 Svn 服务器，并且实现 Svn 的功能。那样子就会可以向正常一样的方便的管理代码了。
首先 PC 要装好 Svn 这个软件，操作的方法很多，不过路程喜欢去 360 下载安装，因为像这种收费的软件，在 360 的回复中基]]></description><category></category></item><item><title><![CDATA[USB Mass Storage协议]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/21724809</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/21724809</guid><author>journeylu</author><pubDate>Fri, 21 Mar 2014 16:03:14 +0800</pubDate><description><![CDATA[简介
USB Mass storage Device协议即海量存储设备协议适用于硬盘，U盘等大容量存储设备。协议使用的接口端点有BulkIn、BulkOut和Interrupt端点。该设备类又包含6个独立的子类以及3种传输协议。



bInterfaceSubClass
命令集
描述




01h
RBC
通常，FlashDevice使用RBC，事实上所有大容量存储]]></description><category></category></item><item><title><![CDATA[ubuntu系统备份]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/21096769</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/21096769</guid><author>journeylu</author><pubDate>Wed, 12 Mar 2014 16:06:02 +0800</pubDate><description><![CDATA[ubuntu系统备份
 
众所周知ubuntu系统升级时经常导致系统崩溃，为了以防万一，做好系统备份工作是必须的。俺这次休假归来升级了一下系 统，屏幕就花了，捣腾了一下午，始终无法修复，将/boot/grub/grub.cfg改来改去，试图恢复成之前的内核，愣是没搞定，到最后进入系统运 行uname -i竟然提示unknown，无奈之下只好重装系统。
 
闲话少述，体验了一把才知道，lin]]></description><category></category></item><item><title><![CDATA[Cscope 的使用]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/17756761</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/17756761</guid><author>journeylu</author><pubDate>Thu, 02 Jan 2014 14:46:21 +0800</pubDate><description><![CDATA[Cscope 是一个非常灵巧的工具，但是它仍然需要使用您最顺手的编辑器去发挥它强大的功能。 幸运的是，Vim 已经包含了 Cscope 支持。

这篇指导主要介绍了 Vim 内在的 Cscope 支持，以及如何更好的通过已配置的 Map（a set of maps）实现搜索功能。

下面假设您有基本的使用类 vi 编辑器的技能 - 不过并不需要 Vim 更特殊和高深的功能（熟悉 ViM 的]]></description><category></category></item><item><title><![CDATA[解决vim中文乱码问题]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/17025297</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/17025297</guid><author>journeylu</author><pubDate>Fri, 29 Nov 2013 15:18:56 +0800</pubDate><description><![CDATA[解决vim中文乱码问题
由于在windows下默认是gb编码，而我的vim默认是utf-8（gedit默认也是utf-8），所以打开会成乱码。修改了一下配置文件，使vim支持gb编码就好了。

$vim ~/.vimrc

let &termencoding=&encoding
set fileencodings=utf-8,gbk

$:wq

再次打开vi，显示就正常了。如]]></description><category></category></item><item><title><![CDATA[USB初学2——数据包格式]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/8875533</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/8875533</guid><author>journeylu</author><pubDate>Thu, 02 May 2013 13:23:50 +0800</pubDate><description><![CDATA[各种总线的数据传输都是以固定的层次协议进行的，USB当然也不例外。所谓的层次也只是个抽象的概念罢了，就是表达一种依附关系，上层要依赖与底层，上层以底层为基础，上层只需要关心自己的东西就行了，如果你还不明白，那就继续看，学习一个东西不可能一两句话说的明白一个点，需要全面了解后才能清楚各个点。
要实现两个机器（机器的范围比较广，可以是电脑，交换机，单片机）的通信总是要有一个载体才可以，对于机器当然是]]></description><category></category></item><item><title><![CDATA[MQX的任务创建]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/8852731</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/8852731</guid><author>journeylu</author><pubDate>Fri, 26 Apr 2013 09:14:42 +0800</pubDate><description><![CDATA[公司用freescale的芯片，要用到MQX OS
任务模板列表（TASK_TEMPLATE_STRUCT）定义了一组初始化模板，基于该模板可以在处理器上生成任务。
   初始化时，MQX生成每个任务的一个实例，任务模板将其定义为一个自启动任务。同样，当应用程序运行时，它能按任务模板生成其它任务，该模板由任务模板定义或应用程序动态定义。任务模板队列的结尾是一个填入全0的任务模板。
    t]]></description><category></category></item><item><title><![CDATA[文件系统的制作]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/8769554</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/8769554</guid><author>journeylu</author><pubDate>Sun, 07 Apr 2013 20:52:26 +0800</pubDate><description><![CDATA[<!--
p
	{margin-bottom:0.21cm}
-->



文件系统的制作


busybox
1.下载源代码:http://git.busybox.net/
我选择的是busybox-1.17.3.tar.bz2
2.mkdirrootfs
3.cdrootfs
4.cpbusybox-1.17.3.tar.bz2 rootfs
5.解压:tarx]]></description><category></category></item><item><title><![CDATA[挂载nfs文件系统]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/8767824</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/8767824</guid><author>journeylu</author><pubDate>Sun, 07 Apr 2013 15:21:21 +0800</pubDate><description><![CDATA[挂载nfs文件系统


NFS就是网络文件系统，用NFS可以实现把宿主机的目录挂载到开发板上，这样用宿主机进行交叉编译时就不用用USB或者SD卡将编译好的文件拷贝到开发板上运行了.
1.OK6410的板子的网孔插上网线连接到PC网线接的那个路由器上
2.首先在linux虚拟机上准备nfs共享目录:/nfs/root
linux虚拟机上：
mkdir   nfs
chmod  777]]></description><category></category></item><item><title><![CDATA[ubuntu tftp 服务器创建]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/8719394</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/8719394</guid><author>journeylu</author><pubDate>Mon, 25 Mar 2013 22:38:32 +0800</pubDate><description><![CDATA[1、安装相关软件包：tftpd（服务端），tftp（客户端），xinetd
sudo apt-get install tftpd tftp xinetd 
2、建立配置文件
在/etc/xinetd.d/下建立一个配置文件tftp
sudo vim tftp
在文件中输入以下内容：
service tftp
{
socket_type = dgram
protocol = udp]]></description><category></category></item><item><title><![CDATA[vim 替换操作大全]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/8713291</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/8713291</guid><author>journeylu</author><pubDate>Sun, 24 Mar 2013 17:12:51 +0800</pubDate><description><![CDATA[vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换，今天发现该命令有很多种写法（vi 真是强大啊，还有很多需要学习），记录几种在此，方便以后查询。

:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

:s/vivian/sky/g 替换当前行所有 vivian 为 sky

:n,$s/vivian/sky/ 替换第 n 行开始到]]></description><category></category></item><item><title><![CDATA[IS_ERR()]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/8687722</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/8687722</guid><author>journeylu</author><pubDate>Mon, 18 Mar 2013 16:19:45 +0800</pubDate><description><![CDATA[IS_ERR()有一些妙处。

内核中的函数常常返回指针，问题是如果出错，也希望能够通过返回的指针体现出来。
所幸的是，内核返回的指针一般是指向页面的边界(4K边界)，即

ptr & 0xfff == 0


这样ptr的值不可能落在（0xfffff000，0xffffffff）之间，
而一般内核的出错代码也是一个小负数，在-1000到0之间，转变成unsigned long，]]></description><category></category></item><item><title><![CDATA[spin_lock VS spin_lock_iqrsave]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/8675585</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/8675585</guid><author>journeylu</author><pubDate>Thu, 14 Mar 2013 23:12:37 +0800</pubDate><description><![CDATA[如果自旋锁在中断处理函数中被用到，那么在获取该锁之前需要关闭本地中断，spin_lock_irqsave 只是下列动作的一个便利接口：
1 保存本地中断状态
2 关闭本地中断
3 获取自旋锁

解锁时通过 spin_unlock_irqrestore完成释放锁、恢复本地中断到之前的状态等工作

还有一对 spin_lock_irq 和 spin_unlock_irq
如果你确定在获]]></description><category></category></item><item><title><![CDATA[linux内核SPI总线驱动分析]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/8661195</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/8661195</guid><author>journeylu</author><pubDate>Mon, 11 Mar 2013 22:03:42 +0800</pubDate><description><![CDATA[http://www.embedu.org/Column/Column367.htm

下面有两个大的模块：
一个是SPI总线驱动的分析            (研究了具体实现的过程)
另一个是SPI总线驱动的编写（不用研究具体的实现过程）
SPI总线驱动分析
 
1 SPI概述
      SPI是英语Serial Peripheral interface的缩写，顾名思义就是串行]]></description><category></category></item><item><title><![CDATA[信号量、消息队列和共享内存]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/8656931</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/8656931</guid><author>journeylu</author><pubDate>Sun, 10 Mar 2013 21:06:59 +0800</pubDate><description><![CDATA[1.信号量是一种特殊的变量，它只能取正整数值，对这些正整数只能进行两种操作：等待和信号。P代表等待，V代表信号。


2.最简单的信号量是一个只能取“0”和“1”值的变量，也就是常说的“二进制信号量”。可以取多种正整数值的信号量叫做“通用信号量”。


3.PV操作的定义非常简明。假设我们有一个信号量变量sv，则
P(sv) 
如果sv的值大于零，就给它减去1；如果sv的值等于零，]]></description><category></category></item><item><title><![CDATA[linux svn command]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/8655895</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/8655895</guid><author>journeylu</author><pubDate>Sun, 10 Mar 2013 13:21:52 +0800</pubDate><description><![CDATA[1、将文件checkout到本地目录 
svn checkout path（path是服务器上的目录） 
例如：svn checkout svn://192.168.1.1/pro/domain 
简写：svn co 
2、往版本库中添加新的文件 
svn add file 
例如：svn add test.php(添加test.php) 
svn add *.php(添加当前目录下]]></description><category></category></item><item><title><![CDATA[GDB调试]]></title><link>https://blog.youkuaiyun.com/journeylu/article/details/8655644</link><guid>https://blog.youkuaiyun.com/journeylu/article/details/8655644</guid><author>journeylu</author><pubDate>Sun, 10 Mar 2013 11:24:14 +0800</pubDate><description><![CDATA[Linux 包含了一个叫gdb 的GNU 调试程序。gdb 是一个用来调试C和C++程序的强力调试器。它使你能在程序运行时观察程序的内部结构和内存的使用情况。以下是 gdb 所提供的一些功能：它使你能监视你程序中变量的值、它使你能设置断点以使程序在指定的代码行上停止执行、它使你能一行行的执行你的代码。在命令行上键入gdb并按回车键就可以运行gdb 了。（Windows需要安装MinGW或者CygW]]></description><category></category></item></channel></rss>