<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cloudybear的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cloudybear</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cloudybear]]></copyright><item><title><![CDATA[交叉编译gcc适配host主机]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/105454557</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/105454557</guid><author>cloudybear</author><pubDate>Sat, 11 Apr 2020 16:40:12 +0800</pubDate><description><![CDATA[问题
最近在调试供应商提供的供应链时出现了一些问题，首先，初始化过程失败，打开执行脚本追溯发现是所在目录中有libc和？暂时忘记，导致ls命令执行报错，于是编译执行失败，ldd命令查看gcc的链接库，发现有ld-linux的软链接路径是一个非本机路径，应该是sdk提供者的目录。将ls命令执行路径修改，参数作为目标路径后初始化就成功，gcc命令也能正常执行了，但是这怎么阻止一个女程序猿刨根问底的心呢...]]></description><category></category></item><item><title><![CDATA[linux动态库的装载与卸载]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/105331163</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/105331163</guid><author>cloudybear</author><pubDate>Sun, 05 Apr 2020 18:52:41 +0800</pubDate><description><![CDATA[函数



]]></description><category></category></item><item><title><![CDATA[ddd+gdbserver 调试arm程序]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/105116877</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/105116877</guid><author>cloudybear</author><pubDate>Thu, 26 Mar 2020 13:43:10 +0800</pubDate><description><![CDATA[host 配置
ip
192.168.225.56
准备


环境配置开发板的gdb
arm-oe-linux-gnueabi-gdb


安装ddd
sudo apt-get install ddd


target 配置
ip
192.168.225.1
准备

安装gdbserver

调试方法
编译程序
arm-oe-linux-gnueabi-gcc -g -o test.c test
...]]></description><category></category></item><item><title><![CDATA[busybox]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/104988392</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/104988392</guid><author>cloudybear</author><pubDate>Sun, 22 Mar 2020 20:28:06 +0800</pubDate><description><![CDATA[busybox支持 uClibc和glibc，对linux2.2.x之后的内核良好支持
busybox是一个遵循GPL V2协议的开源项目。将众多的unix命令集合进一个很小的可执行程序，替换GUN fileutiles，shellutils等工具。busybox中各种命令相对少，但能满足一般需要。体积相比动辄几MB的GNU工具，只有几百KB，缩小很多。
在使用busybox创建最小根文件系统时...]]></description><category></category></item><item><title><![CDATA[以太网配置]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/105015340</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/105015340</guid><author>cloudybear</author><pubDate>Sat, 21 Mar 2020 19:16:41 +0800</pubDate><description><![CDATA[客户端

按以太网连接的slave进行设置

adb shell mount -o remount,rw /
adb push .\script\enablephy /etc/init.d/enablephy
adb push .\script\disablelandhcp /etc/init.d/disablelandhcp
adb push .\script\start_emac_le-sla...]]></description><category></category></item><item><title><![CDATA[操作系统-页面置换算法]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/104953645</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/104953645</guid><author>cloudybear</author><pubDate>Thu, 19 Mar 2020 23:17:41 +0800</pubDate><description><![CDATA[文章目录概念设计目的局部页面置换算法全局置换算法局部置换算法最优置换算法（OPT）先进先出算法（FIFO）最久未使用算法（LRU）全局置换算法工作集置换算法缺页率置换算法抖动和负载控制
概念
设计目的
缺页时换入物理页面，把未来不再访问或近期不访问的页面换出
局部页面置换算法

仅限于当前进程的物理页面
最优算法，先进先出，最近最久未使用
时钟算法，最不常用算法

全局置换算法

选择范围是所有物...]]></description><category></category></item><item><title><![CDATA[今日问题:DHCP通过usb进行ip分配，usb接ubuntu时做了分配，但接Win10时未做分配，如何做的？]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/104944862</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/104944862</guid><author>cloudybear</author><pubDate>Wed, 18 Mar 2020 14:57:52 +0800</pubDate><description><![CDATA[待解答

]]></description><category></category></item><item><title><![CDATA[操作系统-存储]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/104889025</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/104889025</guid><author>cloudybear</author><pubDate>Tue, 17 Mar 2020 21:17:55 +0800</pubDate><description><![CDATA[文章目录内存管理方式连续内存分配内存分配方法碎片整理伙伴系统非连续内存分配非连续内存分配的硬件辅助机制段式存储管理段地址空间段访问机制页式存储管理快表和多级页表反置页表页寄存器反置页表段页式存储内存共享虚拟页式存储地址转换缺页异常
内存管理方式

重定位
分段
分页
虚拟存储

连续内存分配

内存分配方法

最先匹配策略
最佳匹配策略
最差匹配

碎片整理

紧凑
分区兑换


伙伴系统
非连续...]]></description><category></category></item><item><title><![CDATA[linux系统修改磁盘 inode个数]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/104924266</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/104924266</guid><author>cloudybear</author><pubDate>Tue, 17 Mar 2020 16:34:12 +0800</pubDate><description><![CDATA[inode

查看命令


df -i


修改个数


mkfs.ext4 /dev/mmcblk0p2 -i 4096

分区配置写在 /etc/init.d文件夹中
需要将分区卸载修改才生效
fdisk磁盘命令


Linux下fdisk命令操作磁盘详解–添加、删除、转换分区等:link.或:link.


Linux磁盘概念及其管理工具fdisk:link.


Linux /dev目录详...]]></description><category></category></item><item><title><![CDATA[操作系统-启动，中断，异常和系统调用]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/104887398</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/104887398</guid><author>cloudybear</author><pubDate>Sun, 15 Mar 2020 22:50:49 +0800</pubDate><description><![CDATA[主引导记录：MBR

系统调用

应用程序主动向内核请求，异步或同步


异常

非法指令执行失败，同步


中断

硬件设备对请求，异步




]]></description><category></category></item><item><title><![CDATA[操作系统-同步互斥]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/104880690</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/104880690</guid><author>cloudybear</author><pubDate>Sun, 15 Mar 2020 18:25:35 +0800</pubDate><description><![CDATA[文章目录临界区访问规则临界区的实现方法基本同步方法信号量管程管程的使用管程的组成管程实现生产者/消费者问题哲学家就餐问题读者/写者问题
临界区
访问规则

空闲则入
忙则等待
有限等待
让权等待

临界区的实现方法

禁用中断：仅适用于单处理器
软件方法：忙等待
更高级的抽象方法，如（锁，信号量，原子操作指令）：单处理器多处理器均可

基本同步方法
信号量

经典的生产者消费者问题


管程
改进...]]></description><category></category></item><item><title><![CDATA[操作系统-死锁]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/104873744</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/104873744</guid><author>cloudybear</author><pubDate>Sun, 15 Mar 2020 10:49:50 +0800</pubDate><description><![CDATA[文章目录死锁概念死锁的必要条件死锁的处理方法死锁预防：限制申请方式死锁避免银行家算法
死锁概念
死锁的必要条件


互斥

任何时刻只有一个进程使用一个资源实例



持有并等待

进程保持至少一个资源，并正在等待其他进程持有的资源



非抢占

进程只有在资源使用后自愿释放



循环等待成环


死锁的处理方法

死锁预防
死锁避免
死锁检测和恢复

死锁预防：限制申请方式
使得必要条件不满...]]></description><category></category></item><item><title><![CDATA[操作系统-I/O]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/104869687</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/104869687</guid><author>cloudybear</author><pubDate>Sat, 14 Mar 2020 23:19:59 +0800</pubDate><description><![CDATA[操作系统22 I/O
文章目录I/O特点设备分类同步异步 I/OI/O 结构设备寄存器I/O地址CPU与设备的通讯方式I/O指令内存映射I/O内核I/OI/O请求生命周期I/O数据传输程序控制I/ODMA直接寻址读取I/O设备通知操作系统的方式磁盘调度和缓存
I/O特点
设备分类


字符设备

以字节为单位顺序访问
通常使用文件访问接口和语义



块设备

均匀的数据块访问
通常使用I/O命令...]]></description><category></category></item><item><title><![CDATA[操作系统-文件系统]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/104867665</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/104867665</guid><author>cloudybear</author><pubDate>Sat, 14 Mar 2020 22:12:03 +0800</pubDate><description><![CDATA[操作系统21-文件系统
文章目录基本数据结构文件卷控制块 superblock文件控制块 inode目录项 dentry加载时机文件缓冲
基本数据结构
虚拟文件系统 VFS
文件卷控制块 superblock

每个文件系统一个
文件系统详细信息
块、块余块、块大小、计数指针

文件控制块 inode

每个文件一个
文件详细信息
访问权限，拥有者，大小，数据块位置

目录项 dentry

每个...]]></description><category></category></item><item><title><![CDATA[操作系统-进程通信 IPC]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/104865822</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/104865822</guid><author>cloudybear</author><pubDate>Sat, 14 Mar 2020 19:50:20 +0800</pubDate><description><![CDATA[操作系统-进程通信 IPC基本概念基本操作流程进程链路特征通信方式阻塞与非阻塞通信链路缓冲信号（Signal）信号的接收处理不足信号的实现方式管道（pipe）进程不关心另一端常用函数消息队列常用函数共享内存系统调用函数
基本概念
进程间进行通信和同步的机制
基本操作

send
receive

流程

建立通信链路
通过send/receive交换消息

进程链路特征

物理（共享内存，硬件总线...]]></description><category></category></item><item><title><![CDATA[CC2640获取手机RSSI]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/104425066</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/104425066</guid><author>cloudybear</author><pubDate>Fri, 21 Feb 2020 12:44:51 +0800</pubDate><description><![CDATA[CC2640获取手机RSSI
初始条件


手机设置
安卓手机安装 nRF Connect，工作在central模式，可连接多个Ble peripheral


CC2640
使用 simplelink_cc2640r2_sdk_1_40_00_45 ，作为Ble peripheral与手机连接


代码修改
sdk中仅有蓝牙 central获取信号强度的代码，而需求是实现多个CC2640能够获取...]]></description><category></category></item><item><title><![CDATA[利用某通奇葩toolchain编译iperf]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/79788840</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/79788840</guid><author>cloudybear</author><pubDate>Mon, 02 Apr 2018 14:27:45 +0800</pubDate><description><![CDATA[利用某通奇葩toolchain编译iperf



export PATH=$PATH:/arm linux path

LDFLAGS=${LDFLAGS}&quot; --sysroot=/sysroot path&quot; CFLAGS=${CFLAGS}&quot; -I /sysroot include&quot; CXXFLAGS=${CXXFLAGS}&quot; -I //sysroot include&quot; CPPFLAGS=${...]]></description><category></category></item><item><title><![CDATA[cmake 进阶]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/79241283</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/79241283</guid><author>cloudybear</author><pubDate>Fri, 02 Feb 2018 17:10:36 +0800</pubDate><description><![CDATA[函数类

cmake_policy

标准设置

option

if else 条件变量依赖的默认值设置 
option(address "This is a option for address" ON)

CMakeDependentOption

可能需要添加一行 
include(CMakeDependentOption) 
表示如果这样那么那样这些事情



file

见CMakeF]]></description><category></category></item><item><title><![CDATA[cmake 交叉编译防坑指南]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/79237137</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/79237137</guid><author>cloudybear</author><pubDate>Fri, 02 Feb 2018 15:00:26 +0800</pubDate><description><![CDATA[cmake 交叉编译防坑指南

近来用cmake编译arm代码和第三方库遇到一些坑，在这里回顾一下，供大家借鉴。





cmake出现多层嵌套时的交叉编译指令

cmake -DMAKE_TOOLCHAIN_FILE=xxx.cmake .

xxx.cmake内需写明如下内容:



#告知当前使用的是交叉编译方式，必须配置
SET(CMAKE_SYSTEM_NAME Linux)

#指定]]></description><category></category></item><item><title><![CDATA[protobuf跨平台使用]]></title><link>https://blog.youkuaiyun.com/cloudybear/article/details/79238833</link><guid>https://blog.youkuaiyun.com/cloudybear/article/details/79238833</guid><author>cloudybear</author><pubDate>Fri, 02 Feb 2018 14:32:11 +0800</pubDate><description><![CDATA[编译平台共用文件 CommKeyReq.proto

./protoc -I=/ota_test --cpp_out=/ota_test /dir/CommKeyReq.proto

编译对应的libprotobuf.so

？如何修改使得生成动态库而非静态库

编译源文件

include_directories("prefix/include") 
LINK_DIRECTORIES("pref]]></description><category></category></item></channel></rss>