<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[l461269717的专栏]]></title><description><![CDATA[当你决定要放弃的时候，不妨再给自己三天时间，可能在你认为又要失败时，惊喜就出现了！]]></description><link>https://blog.youkuaiyun.com/l461269717</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; l461269717]]></copyright><item><title><![CDATA[固定翼XPlane+PX4 硬件在环（HITL）仿真配置]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/139989103</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/139989103</guid><author>l461269717</author><pubDate>Wed, 26 Jun 2024 14:55:32 +0800</pubDate><description><![CDATA[将UDP rate调整到20-50Hz，如果频率过高，最终QGC接收并转发给飞机的传感器数据帧率也会特别高，增加飞机负担，导致TELEM1接出来的数据延时较高。1.点击组件->HIL Config，在弹出的小窗点击连接，此时可看到飞机正常XPlane模拟的传感器数据后，在QGC上显示出飞机的位置。1.打开XPlane，此处以PT60RC机型，郑州新郑机场为起飞机场示例，选择完毕后点击FLY with these options。），更高版本中，已移除对HLAStar(XPlane)机型支持。]]></description><category></category></item><item><title><![CDATA[原厂内核移植流程]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/128807788</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/128807788</guid><author>l461269717</author><pubDate>Mon, 30 Jan 2023 19:50:43 +0800</pubDate><description><![CDATA[原厂内核移植流程]]></description><category></category></item><item><title><![CDATA[不开源开发板定制固件方法]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/122070457</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/122070457</guid><author>l461269717</author><pubDate>Tue, 21 Dec 2021 18:45:34 +0800</pubDate><description><![CDATA[dd备份 SD卡镜像备份 克隆镜像]]></description><category></category></item><item><title><![CDATA[PCI总线及LSPCI命令详解分析]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/85133751</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/85133751</guid><author>l461269717</author><pubDate>Thu, 20 Dec 2018 19:09:00 +0800</pubDate><description><![CDATA[lspci命令详解参考  https://blog.youkuaiyun.com/huangxuesi/article/details/69959679

一、PCI简介
     PCI是一种外设总线规范。我们先来看一下什么是总线：总线是一种传输信号的路径或信道。典型情况是，总线是连接于一个或多个导体的电气连线，总 线上连接的所有设备可在同一时间收到所有的传输内容。总线由电气接口和编程接口组成。本文讨论Li...]]></description><category></category></item><item><title><![CDATA[ubuntu 20.04环境搭建]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/52126565</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/52126565</guid><author>l461269717</author><pubDate>Fri, 05 Aug 2016 10:30:38 +0800</pubDate><description><![CDATA[一、虚拟机搭建

1.下载并安装VMware Workstation

2.下载ubuntu镜像

3.根据自己情况选择虚拟机内存和磁盘大小（本人分配1G内存，50G硬盘），安装时镜像记得选择稍后询问，否则会无法自定义分区，如下图：



4.分区规划（以50G硬盘为例）：分区的顺序最好是把boot分区靠前，swap分区最后。




			目录
			
			
			建议大小
			
			...]]></description><category></category></item><item><title><![CDATA[linux下 监控USB插入事件(NET_LINK、udev),附udev和mdev介绍]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/47659231</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/47659231</guid><author>l461269717</author><pubDate>Fri, 14 Aug 2015 11:29:06 +0800</pubDate><description><![CDATA[转自网友


目前找到3种办法可以获得hotplug事件。

一种是hotplug脚本。hotplug事件发生时，内核会调用脚本/sbin/hotplug。可以在这个脚本中加入自己的操作。不过2.6内核做了很大的改变。不再支持hotplug脚本。

还有就是netlink。这是一个特殊的socket，可以接受来自内核的消息。

下面是一个netlink例程。]]></description><category></category></item><item><title><![CDATA[linux网络设备—PHY]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/47448415</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/47448415</guid><author>l461269717</author><pubDate>Wed, 12 Aug 2015 17:51:54 +0800</pubDate><description><![CDATA[一.结构体
1.PHY设备



[cpp] view
 plaincopy






struct phy_device {  
    struct phy_driver *drv; //PHY设备驱动  
    struct mii_bus *bus;    //对应的MII总线  
    struct device dev;  //设备文件  
  ]]></description><category></category></item><item><title><![CDATA[虚拟内存与地址转换]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/47448345</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/47448345</guid><author>l461269717</author><pubDate>Wed, 12 Aug 2015 17:47:29 +0800</pubDate><description><![CDATA[虚拟内存无处不在：搞偏底层一点语言的同学可能经常碰到segmentfault这类异常，这反映的是vm对物理地址进行保护;而使用java这样对内存使用挥金如土的语言的同学，又会碰到频繁swap的问题，这反映的是vm把物理内存当cache用，总之样样都有它的影子;本文主要讲虚拟内存如何把主存当做磁盘上地址空间的快取，以及虚拟内存上的地址到实际物理地址的转换
一.虚拟内存用作高速缓存
    以32]]></description><category></category></item><item><title><![CDATA[移植u-boot支持ubi遇到的问题总结]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/47298795</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/47298795</guid><author>l461269717</author><pubDate>Wed, 05 Aug 2015 16:02:34 +0800</pubDate><description><![CDATA[============================================
作者：yuanlulu
http://blog.youkuaiyun.com/yuanlulu

版权没有，但是转载请保留此段声明
============================================

自己最近在移植u-boot.201006到smartarm3250,后来又增加了ub]]></description><category></category></item><item><title><![CDATA[Linux系统调用的实现机制分析]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/46909227</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/46909227</guid><author>l461269717</author><pubDate>Thu, 16 Jul 2015 11:35:02 +0800</pubDate><description><![CDATA[【摘要】本文介绍了系统调用的一些实现细节。首先分析了系统调用的意义，它们与库函数和应用程序接口有怎样的关系。然后，我们考察了内核如何实现系统调用，以及执行系统调用的连锁反应：陷入内核，传递系统调用号和参数，执行正确的系统调用函数，并把返回值带回用户空间。最后讨论了如何增加系统调用，并提供了从用户空间访问系统调用的简单例子。
1       
系统调用意义
linux内核中设置了一组用于实现系]]></description><category></category></item><item><title><![CDATA[fork()和vfork()的区别]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/44588731</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/44588731</guid><author>l461269717</author><pubDate>Tue, 24 Mar 2015 10:57:35 +0800</pubDate><description><![CDATA[fork（）与vfork（）都是创建一个进程，那他们有什么区别呢？总结有以下三点区别：
1.       fork（）：子进程拷贝父进程的数据段，代码段
vfork（）：子进程与父进程共享数据段
2.       fork（）父子进程的执行次序不确定
vfork保证子进程先运行，在调用exec或exit之前与父进程数据是共享的,在它调用exec或exit之后父进程才可能被调度运行。
3.]]></description><category></category></item><item><title><![CDATA[去掉linux内核版本号自动添加的“+”号]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/44080463</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/44080463</guid><author>l461269717</author><pubDate>Thu, 05 Mar 2015 11:43:43 +0800</pubDate><description><![CDATA[在一次编译kernel版本的时候我突然发现，“2.6.35.7“的内核版本编译成功后生成的版本号变成了“2.6.35.7+”，百思不得其解为什么后面会多一个加号。一步一步的查找，我发现了问题所在，原来问题出现在linux的版本控制这一块。
打开Makefile我们可以在文件的最上面可以发现
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 35
EXTRAVER]]></description><category></category></item><item><title><![CDATA[DEVICE_ATTR的使用]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/41804843</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/41804843</guid><author>l461269717</author><pubDate>Mon, 08 Dec 2014 16:08:31 +0800</pubDate><description><![CDATA[DEVICE_ATTR的使用
使用DEVICE_ATTR，可以在sys fs中添加“文件”，通过修改该文件内容，可以实现在运行过程中动态控制device的目的。
类似的还有DRIVER_ATTR，BUS_ATTR，CLASS_ATTR。
这几个东东的区别就是，DEVICE_ATTR对应的文件在/sys/devices/目录中对应的device下面。
而其他几个分别在driver，bus，c]]></description><category></category></item><item><title><![CDATA[ioctl函数详细说明]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/17382107</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/17382107</guid><author>l461269717</author><pubDate>Tue, 17 Dec 2013 19:13:30 +0800</pubDate><description><![CDATA[ioctl函数
 
本函数影响由fd参数引用的一个打开的文件。
 
#include
int ioctl( int fd, int request, .../* void *arg */ );
返回0：成功    -1：出错
 
第三个参数总是一个指针，但指针的类型依赖于request参数。
 
我们可以把和网络相关的请求划分为6类：
套接口操作
文件操作
接口操作
A]]></description><category></category></item><item><title><![CDATA[[UBOOT]main_loop函数分析！]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/16820609</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/16820609</guid><author>l461269717</author><pubDate>Tue, 19 Nov 2013 11:16:02 +0800</pubDate><description><![CDATA[1。main_loop
common/main.c
 
main_loop又臭又长，去掉宏注释掉的部分就只剩下一点点了。如下：
 
void main_loop (void)
{
#ifndef CONFIG_SYS_HUSH_PARSER
    static charlastcommand[CONFIG_SYS_CBSIZE] = { 0, };
    intlen;
 ]]></description><category></category></item><item><title><![CDATA[Linux下简单线程池的实现]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/13998595</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/13998595</guid><author>l461269717</author><pubDate>Fri, 01 Nov 2013 12:00:39 +0800</pubDate><description><![CDATA[大多数的网络服务器，包括Web服务器都具有一个特点，就是单位时间内必须处理数目巨大的连接请求，但是处理时间却是比较短的。在传统的多线程服务器模型中是这样实现的：一旦有个服务请求到达，就创建一个新的服务线程，由该线程执行任务，任务执行完毕之后，线程就退出。这就是"即时创建，即时销毁"的策略。尽管与创建进程相比，创建线程的时间已经大大的缩短，但是如果提交给线程的任务是执行时间较短，而且执行次数非常频繁]]></description><category></category></item><item><title><![CDATA[linux中Oops信息的调试及栈回溯]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/13767507</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/13767507</guid><author>l461269717</author><pubDate>Thu, 31 Oct 2013 10:19:38 +0800</pubDate><description><![CDATA[Oops 信息来源及格式
Oops 这个单词含义为“惊讶”
,当内核出错时(比如访问非法地址)打印出来的信息被
称为 Oops 信息。
Oops 信息包含以下几部分内容。
1 一段文本描述信息。
比如类似“Unable to handle kernel NULL pointer dereference at virtual address 00000000”
的信息,它说明了发生的是]]></description><category></category></item><item><title><![CDATA[改进uboot，添加自定义快捷菜单]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/13504661</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/13504661</guid><author>l461269717</author><pubDate>Tue, 29 Oct 2013 11:46:35 +0800</pubDate><description><![CDATA[1、在common目录下新增cmd_menu.c文件，内容为：
 
#include
#include

#ifdef CONFIG_MENUKEY

static char awaitkey(unsigned longdelay, int* error_p)
{
    int i;
    charc;
    if (delay ==-1) 
    {]]></description><category></category></item><item><title><![CDATA[DAVINCI DM365-DM368开发攻略——开发环境搭建（DVSDK4.02） .]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/8622431</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/8622431</guid><author>l461269717</author><pubDate>Thu, 28 Feb 2013 15:46:30 +0800</pubDate><description><![CDATA[本文转自“集成系统-踏上文明的征程” 博客，出处：http://zjbintsystem.blog.51cto.com/964211/621435

 
第一节、 技术开发环境中的社会环境
     这篇文章迟迟没有写出来奉献给一些爱好音频视频开发的网友，是有很多原因的，TI在短时间内，针对高清音视频方案DM365/368，连续发布DVSDK3.0，DVSDK4.00，DVSDK4.01和]]></description><category></category></item><item><title><![CDATA[杂学杂记（六）智能指针简介（强指针、弱指针）]]></title><link>https://blog.youkuaiyun.com/l461269717/article/details/8598380</link><guid>https://blog.youkuaiyun.com/l461269717/article/details/8598380</guid><author>l461269717</author><pubDate>Thu, 21 Feb 2013 14:26:56 +0800</pubDate><description><![CDATA[智能指针的原理及实现

       当类中有指针成员时，一般有两种方式来管理指针成员：一是采用值型的方式管理，每个类对象都保留一份指针指向的对象的拷贝；另一种更优雅的方式是使用智能指针，从而实现指针指向的对象的共享。
智能指针(smart pointer)的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联，引用计数跟踪该类有多少个]]></description><category></category></item></channel></rss>