<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[williamwang2013的专栏]]></title><description><![CDATA[项目的记录与拓展，希望对大家有点用处]]></description><link>https://blog.youkuaiyun.com/williamwang2013</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; williamwang2013]]></copyright><item><title><![CDATA[Config Error: Failed to update IO firmware]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/146059721</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/146059721</guid><author>williamwang2013</author><pubDate>Thu, 06 Mar 2025 09:56:35 +0800</pubDate><description><![CDATA[报这个错是因为 fmu会要求iomcu发送iofirmware的CRC，然后fmu假如没收到CRC或者CRC不对就会报 Failed to update IO firmware。先给IOMCU烧录bootloader（/ardupilot/Tools/bootloaders/iomcu_bl.bin），通过jlink。重新配置和编译后，你就可以在bin目录看到arducopter_with_bl_hex。默认iomcu的晶振是24M的，假如你的是8M，注意相应匹配。]]></description><category></category></item><item><title><![CDATA[“command line option syntax error，Type command/？for help]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/25643411</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/25643411</guid><author>williamwang2013</author><pubDate>Mon, 12 May 2014 18:01:04 +0800</pubDate><description><![CDATA[安装时出现“command line option syntax error，Type command/？for help可能是因为你的安装源文件所在的路径中有中文，所以你可将安装文件放在一个没有中文的路径。]]></description><category></category></item><item><title><![CDATA[..\main.c(173): error:  #7: unrecognized token]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/12746451</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/12746451</guid><author>williamwang2013</author><pubDate>Tue, 15 Oct 2013 10:45:18 +0800</pubDate><description><![CDATA[..\main.c(173): error:  #7: unrecognized token
这个错误可能是拷贝的时候，中间有中文，或者其他不能识别的，看不见的字符。keil 编译的时候就会出错。
解决：找到那一行，删除那些不可见的字符即可。]]></description><category></category></item><item><title><![CDATA[wpa_supplicant 与 wireless tools]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8965831</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8965831</guid><author>williamwang2013</author><pubDate>Thu, 23 May 2013 16:13:28 +0800</pubDate><description><![CDATA[wpa_supplicant是一个最好的选择，但缺点是它不支持所有的驱动。
wireless-tools支持几乎所有的无线网卡和驱动，但它不能连接到那些只支持WPA的AP。



一、编译wpa_supplicant
http://hostap.epitest.fi/wpa_supplicant/  下载wpa_supplication
http://www.openssl.org/]]></description><category></category></item><item><title><![CDATA[error while loading shared libraries: libiw.so.29: cannot open shared object file: No such file]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8963537</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8963537</guid><author>williamwang2013</author><pubDate>Thu, 23 May 2013 09:31:45 +0800</pubDate><description><![CDATA[问题：error while loading shared libraries:
 libiw.so.29: cannot open shared object file: No such file or directory


解决：这个错误是没有导入动态库。只需导入LD_LIBRARY_PATH就行了。
比如export LD_LIBRARY_PATH=/usr/local/rw:$]]></description><category></category></item><item><title><![CDATA[u-boot Makefile完全解读]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8858943</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8858943</guid><author>williamwang2013</author><pubDate>Sat, 27 Apr 2013 14:28:08 +0800</pubDate><description><![CDATA[编译u-boot的步骤：
#make XX_config    XX表示某个cpu体系
#make  生成我们需要的u-boot.bin
具体可参考u-boot文件中的README。


1.设置版本
VERSION = 2010
PATCHLEVEL = 06
SUBLEVEL =
EXTRAVERSION = -rc1
ifneq "$(SUBLEVEL)" ""
U_]]></description><category></category></item><item><title><![CDATA[移植wireless extension]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8835238</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8835238</guid><author>williamwang2013</author><pubDate>Mon, 22 Apr 2013 16:36:47 +0800</pubDate><description><![CDATA[1.认识wireless extension
Wireless Extension (WE)是一组通用的API，能在用户空间对通用Wireless LANs进行配置和统计。它的好处在于仅通过一组单一的工具就能对各种各样的Wireless LANs进行管理，不过它们是什么类型，只要其驱动支持Wireless Extension就行；另一个好处就是不用重启驱动或Linux就能改变这些参数。
Wir]]></description><category></category></item><item><title><![CDATA[写稳定性测试程序的一些经验]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8824637</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8824637</guid><author>williamwang2013</author><pubDate>Fri, 19 Apr 2013 15:45:33 +0800</pubDate><description><![CDATA[写稳定性测试程序是一个很繁琐的工程。程序要经得起摧残，要经得起岁月。
下面是经过风吹雨打的经验。
1.错误信息要规范
不能打印一串数据，或者return -1，或者打印“……失败”。要一看到错误信息就能明确的知道哪里出错了。
例如：
 printf("打开GPRS设备失败！\n");    没有指出哪个阶段出错。
return -1；    -1只是给了我们一个错误的信息，比如retu]]></description><category></category></item><item><title><![CDATA[qt中怎样添加库文件]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8754667</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8754667</guid><author>williamwang2013</author><pubDate>Wed, 03 Apr 2013 10:31:15 +0800</pubDate><description><![CDATA[qmake -project
qmake name.pro
在Qt中工程通过.pro文件管理，所以库文件要在.pro文件中添加。
1.添加库文件
静态库
linux：LIBS += your_lib_path/your_lib//动态库这样也可以，你们可以考虑。

动态库
linux：LIBS += -L your_lib_path -lyour_lib//经过测试了

例如：]]></description><category></category></item><item><title><![CDATA[linux 获取系统信息常用命令]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8739114</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8739114</guid><author>williamwang2013</author><pubDate>Sat, 30 Mar 2013 09:41:54 +0800</pubDate><description><![CDATA[1.磁盘信息


[wang@localhost 桌面]$ du -sh ./mm
392K ./mm

[wang@localhost 桌面]$ du -ak ./mm
376 ./mm/boot_nontrust.bin
4 ./mm/bt.sh
0 ./mm/check.md5
4 ./mm/rtk8723_bt_config
4 ./mm/startup.x
392]]></description><category></category></item><item><title><![CDATA[linux 常用文本操作命令集]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8722620</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8722620</guid><author>williamwang2013</author><pubDate>Tue, 26 Mar 2013 16:57:11 +0800</pubDate><description><![CDATA[1.创建特定大小的文件dd

[wang@localhost 桌面]$ dd if=/dev/zero of=test.data bs=1K count=2
2+0 records in
2+0 records out
2048 bytes (2.0 kB) copied，0.00112496 秒，1.8 MB/秒

其中if表示输入文件，of表示输出文件，bs表示单位块大小，cou]]></description><category></category></item><item><title><![CDATA[linux命令之 交互式输入read]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8716772</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8716772</guid><author>williamwang2013</author><pubDate>Mon, 25 Mar 2013 14:01:05 +0800</pubDate><description><![CDATA[read是一个重要的命令，用于从键盘或标准输入中读取输入。
一般只有按回车键的时候才标志输入完毕，但有些情况下没法按回车键，read提供了一种不需要按回车键的方法。
1.-p “提示语句” 变量名

[wang@localhost 桌面]$ vim testcmd.sh

#!/bin/bash
read -p "Enter your name :" name1 name2   //]]></description><category></category></item><item><title><![CDATA[linux命令之 玩转xargs]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8707350</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8707350</guid><author>williamwang2013</author><pubDate>Fri, 22 Mar 2013 17:21:53 +0800</pubDate><description><![CDATA[我们可以用管道将一个命令的标准输出重定向到另一个命令的标准输出，但是有些命令只能以命令行参数的形式接收数据，而无法接受通过stdin的数据，这个时候我们就要用到xargs。
xargs应该紧跟管道操作符之后。


1.将多行转换为单行，将单行转换为多行。

[root@localhost 桌面]# cat show.txt 
wang
Hunan Chenzhou
123456]]></description><category></category></item><item><title><![CDATA[shell 浮点运算工具bc]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8700881</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8700881</guid><author>williamwang2013</author><pubDate>Thu, 21 Mar 2013 13:30:44 +0800</pubDate><description><![CDATA[bc支持浮点数，是一个用于数学运算的高级工具。

[root@localhost 桌面]# bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type]]></description><category></category></item><item><title><![CDATA[linux内核启动流程（下）]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8695618</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8695618</guid><author>williamwang2013</author><pubDate>Wed, 20 Mar 2013 11:37:32 +0800</pubDate><description><![CDATA[接上回
start_kernel在/init/main.c中定义

asmlinkage void __init start_kernel(void)
{
char * command_line;
extern struct kernel_param __start___param[], __stop___param[];


smp_setup_processor_id();]]></description><category></category></item><item><title><![CDATA[linux内核启动流程（上）]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8691883</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8691883</guid><author>williamwang2013</author><pubDate>Tue, 19 Mar 2013 15:13:19 +0800</pubDate><description><![CDATA[由内核Makefile分析可知，
文件linux/arch/arm/boot/compressed/head.S是linux内核启动过程执行的第一个文件。

.align
start:
.type 
start,#function    //type指定start这个符号是函数类型
.rept 
8
mov 
r0, r0    //空操作，重复八次
.endr


b]]></description><category></category></item><item><title><![CDATA[特殊按键--休眠键驱动]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8664486</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8664486</guid><author>williamwang2013</author><pubDate>Tue, 12 Mar 2013 16:40:20 +0800</pubDate><description><![CDATA[这是一个关于休眠和关机的按键驱动。板子：pxa31X系列  内核：2.6.25
这个驱动用到了内核文件操作，内核线程，等待队列，异步通知，并介绍了一种调试驱动的方法。
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#inc]]></description><category></category></item><item><title><![CDATA[PCSC 错误代码解析]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8663506</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8663506</guid><author>williamwang2013</author><pubDate>Tue, 12 Mar 2013 14:26:58 +0800</pubDate><description><![CDATA[Smart Card Error Values参考：http://technet.microsoft.com/zh-cn/subscriptions/aa924526


0x80100001L    An internal consistency check failed.


0x80100002L    The action was cancelled by a SCardCan]]></description><category></category></item><item><title><![CDATA[git实用操作学习记录]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8643714</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8643714</guid><author>williamwang2013</author><pubDate>Wed, 06 Mar 2013 19:22:54 +0800</pubDate><description><![CDATA[git是一个版本控制系统。

查看系统有没装git

[wang@localhost git]$ rpm -qa|grep -i git

或者直接 man git



1.下载

先把自己介绍给git系统


[root@localhost git]#git config --global user.name "williamwang"

[root@localhost git]#git...]]></description><category></category></item><item><title><![CDATA[gcc编译静态库和动态库]]></title><link>https://blog.youkuaiyun.com/williamwang2013/article/details/8633300</link><guid>https://blog.youkuaiyun.com/williamwang2013/article/details/8633300</guid><author>williamwang2013</author><pubDate>Mon, 04 Mar 2013 13:29:55 +0800</pubDate><description><![CDATA[1.静态库的编译与使用

[wang@localhost 桌面]$ vim test.c

#include 
int display()
{
printf("we are the best!\n");
return 0;
}



[wang@localhost 桌面]$ gcc -c test.c
[wang@localhost 桌面]$ ar crv libtes]]></description><category></category></item></channel></rss>