<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[world_hello_100的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/world_hello_100</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; world_hello_100]]></copyright><item><title><![CDATA[About Boot]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/155262657</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/155262657</guid><author>world_hello_100</author><pubDate>Wed, 26 Nov 2025 10:02:19 +0800</pubDate><description><![CDATA[sectorsector 0。]]></description><category></category></item><item><title><![CDATA[ Fibonacci Series]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/153397045</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/153397045</guid><author>world_hello_100</author><pubDate>Thu, 16 Oct 2025 11:01:00 +0800</pubDate><description><![CDATA[^]]></description><category></category></item><item><title><![CDATA[“memory“ clobber]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/132714797</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/132714797</guid><author>world_hello_100</author><pubDate>Wed, 06 Sep 2023 14:32:18 +0800</pubDate><description><![CDATA[The "memory" clobber tells the compiler that the assembly code performs memory reads or writes to items other than those listed in the input and output operands. GCC may need to flush specific register values to memory before executing the asm to ensure th]]></description><category></category></item><item><title><![CDATA[uio write()]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/132531433</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/132531433</guid><author>world_hello_100</author><pubDate>Mon, 28 Aug 2023 08:44:56 +0800</pubDate><description><![CDATA[用户空间和内核空间对irq寄存器的读改写操作容易引起race condition，比如用户空间读改写来使能中断，此时外设产生一个中断，内核空间ISR需要禁掉中断。]]></description><category></category></item><item><title><![CDATA[STR(x)]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/131538661</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/131538661</guid><author>world_hello_100</author><pubDate>Tue, 04 Jul 2023 16:55:40 +0800</pubDate><description><![CDATA[【代码】STR(x)]]></description><category></category></item><item><title><![CDATA[sizeof(multi-dim)]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/124361626</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/124361626</guid><author>world_hello_100</author><pubDate>Sat, 23 Apr 2022 12:00:34 +0800</pubDate><description><![CDATA[int* (*a)[3][6];

printf("%d"sizeof(a));-&gt;sizeof(pointer)

printf("%d"sizeof(*a));-&gt;18 x sizeof(int *)

printf("%d"sizeof(**a));-&gt;6 x sizeof(int *)

printf("%d"sizeof(***a));-&gt;1 x sizeof(int *)

printf("%d"sizeof(****a));-&gt;sizeof(int)
]]></description><category></category></item><item><title><![CDATA[sizeof(struct abc)]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/124360912</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/124360912</guid><author>world_hello_100</author><pubDate>Sat, 23 Apr 2022 11:10:48 +0800</pubDate><description><![CDATA[struct abc {

char a;

char b;

int c;

};

1_a

1_b

2_pad

4_c

sizeof(abc) = 8

---------------------------------------

struct abcd {

char a;

char b;

int c;

char d;

};

1_a

1_b

2_pad

4_c

1_d

3_pad

sizeof(abcd) = 12
]]></description><category></category></item><item><title><![CDATA[eval ‘exec /usr/bin/perl -wS $0 ${1+“$@“}‘]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/109506251</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/109506251</guid><author>world_hello_100</author><pubDate>Thu, 05 Nov 2020 10:32:55 +0800</pubDate><description><![CDATA[这几行程序包含了太多的技巧。
的确需要很深的功力才能看得懂。
首先解释一下，# 打头的行在 shell 中表示该行是注释行，但是如果该脚本具有可执行权限，
而直接执行（如 C 的 exec* 系列系统调用，或者 shell 下直接敲脚本名称）的时候，该行
起到指示解释器的作用。在本例中，指定解释器是 /usr/bin/perl（假设用户的系统上已经
安装了 Perl 并且安装位置就在 /usr/bin/perl 否则该脚本无论如何都是无法执行的）
当一个用户拿到脚本时，根据个人习惯和知识水平的不同，可能会有]]></description><category></category></item><item><title><![CDATA[Is bar an rvalue or an lvalue?]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/104729687</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/104729687</guid><author>world_hello_100</author><pubDate>Sun, 08 Mar 2020 11:38:14 +0800</pubDate><description><![CDATA[I posted this answer: https://stackoverflow.com/a/28459180/2642059 Which contains the following code:


void foo(string&amp;&amp; bar){
    string* temp = &amp;bar;

    cout &lt;&lt; *temp &lt;&l...]]></description><category></category></item><item><title><![CDATA[lval/rval and lval ref/rval ref]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/104405677</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/104405677</guid><author>world_hello_100</author><pubDate>Thu, 20 Feb 2020 10:06:04 +0800</pubDate><description><![CDATA[an lvalue expression refers to an object’s identity

an rvalue expression refers to an object’s value

Rval Ref: be bound to a conversion, to literals, or to expressions that return an rvalue
Rval Re...]]></description><category></category></item><item><title><![CDATA[pcie transactions]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/104250694</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/104250694</guid><author>world_hello_100</author><pubDate>Mon, 10 Feb 2020 17:40:41 +0800</pubDate><description><![CDATA[Egress(outbound)  Ingress(inbound)

 as Root as endpoint as Root...]]></description><category></category></item><item><title><![CDATA[clause45 VS cluause22]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/103909021</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/103909021</guid><author>world_hello_100</author><pubDate>Thu, 09 Jan 2020 15:19:27 +0800</pubDate><description><![CDATA[http://www.ieee802.org/3/efm/public/nov02/oam/pannell_oam_1_1102.pdf
]]></description><category></category></item><item><title><![CDATA[再议MII、RMII、GMII接口]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/103908382</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/103908382</guid><author>world_hello_100</author><pubDate>Thu, 09 Jan 2020 14:54:14 +0800</pubDate><description><![CDATA[(二)再议MII、RMII、GMII接口

概述： 

 MII (Media Independent Interface(介质无关接口)或称为媒体独立接口，它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口和一个MAC和PHY之间的管理接口。

 数据接口包括分别用于发送器和接收器的两条独立信道，每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要16个...]]></description><category></category></item><item><title><![CDATA[mii/mdio]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/103907723</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/103907723</guid><author>world_hello_100</author><pubDate>Thu, 09 Jan 2020 14:35:22 +0800</pubDate><description><![CDATA[(一)MII/MDIO接口详解

　　本文主要分析MII/RMII/SMII，以及GMII/RGMII/SGMII接口的信号定义，及相关知识，同时本文也对RJ-45接口进行了总结，分析了在10/100模式下和1000M模式下的设计方法。

　　MII接口提供了MAC与PHY之间、PHY与STA(Station Management)之间的互联技术，该接口支持10Mb/s与100Mb/s的数据传输速...]]></description><category></category></item><item><title><![CDATA[同步异步通信]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/103906207</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/103906207</guid><author>world_hello_100</author><pubDate>Thu, 09 Jan 2020 13:31:23 +0800</pubDate><description><![CDATA[不管是异步通信还是同步通信都需要进行同步，

1) 异步通信通过传送字符内的起始位来进行同步，

2) 同步通信采用共用外部时钟来进行同步。

异步通信是自同步，同步通信是外同步。
...]]></description><category></category></item><item><title><![CDATA[spi bus]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/103906076</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/103906076</guid><author>world_hello_100</author><pubDate>Thu, 09 Jan 2020 13:20:17 +0800</pubDate><description><![CDATA[SPI是串行外设接口(SerialPeripheral Interface)的缩写。是一种同步串行接口技术，是高速的，全双工，同步的通信总线。



1、SPI接口的优点

支持全双工操作；

操作简单；

数据传输速率较高。



同时，它也具有如下缺点：

需要占用主机较多的口线（每个从机都需要一根片选线）；

只支持单个主机；

没有指定的流控制，没有应答机制确认是否接收到数据。

...]]></description><category></category></item><item><title><![CDATA[i2c for at24cxx]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/103902471</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/103902471</guid><author>world_hello_100</author><pubDate>Thu, 09 Jan 2020 10:00:45 +0800</pubDate><description><![CDATA[CLOCK and DATA TRANSITIONS: The SDA pin is normally pulled high with an external device. Data on the SDA
pin may change only during SCL low time periods (refer to “Data Validity” diagram). Data ch...]]></description><category></category></item><item><title><![CDATA[num of ones in int]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/103710276</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/103710276</guid><author>world_hello_100</author><pubDate>Thu, 26 Dec 2019 10:19:08 +0800</pubDate><description><![CDATA[int numofones(int iVar, int *iCnt)

{

*iCnt = 0;

while (iVar) {

 *iCnt += 1;

  iVar = iVar &amp; (iVar-1);

}

return 0;/success to get num of 1s/

}
]]></description><category></category></item><item><title><![CDATA[dead loop when using unsigned char]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/103697173</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/103697173</guid><author>world_hello_100</author><pubDate>Wed, 25 Dec 2019 12:25:00 +0800</pubDate><description><![CDATA[for (unsigned char ucIdx = 0; ucIdx &lt; iMax; ++ucIdx) {

malloc mem;

}
]]></description><category></category></item><item><title><![CDATA[bublle sort]]></title><link>https://blog.youkuaiyun.com/world_hello_100/article/details/103578566</link><guid>https://blog.youkuaiyun.com/world_hello_100/article/details/103578566</guid><author>world_hello_100</author><pubDate>Tue, 17 Dec 2019 13:12:25 +0800</pubDate><description><![CDATA[/*from small to big*/
int bubble_sort(int arry[], int size)
{
 int outidx = 0;
 int inidx = 0;
 for (outidx = 0; outidx &lt; size; ++outidx) {
 for (inidx = outidx + 1; inidx &lt; siz...]]></description><category></category></item></channel></rss>