<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[风林意漩]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fenglinyi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fenglinyi]]></copyright><item><title><![CDATA[QEMU的模块化]]></title><link>https://blog.youkuaiyun.com/fenglinyi/article/details/51571375</link><guid>https://blog.youkuaiyun.com/fenglinyi/article/details/51571375</guid><author>fenglinyi</author><pubDate>Fri, 03 Jun 2016 00:59:17 +0800</pubDate><description><![CDATA[模块划分

    QEMU的也使用了类似LINUX内核中的模块的思想，对代码进行模块化开发。与内核的模块用法不太一样的是，QEMU将模块进行了类别划分，同一个类别的模块的初始化函数会在同一个时机被遍历调用。此外，只有MODULE_INIT_BLOCK支持像内核一样的动态模块化。QEMU模块类型的划分如下：






1

2

3

4

5

6]]></description><category></category></item><item><title><![CDATA[tiny210——uboot移植之Makefile剖析篇]]></title><link>https://blog.youkuaiyun.com/fenglinyi/article/details/46349003</link><guid>https://blog.youkuaiyun.com/fenglinyi/article/details/46349003</guid><author>fenglinyi</author><pubDate>Wed, 03 Jun 2015 17:50:04 +0800</pubDate><description><![CDATA[Makefile追踪技巧：
技巧1：可以先从编译目标开始顺藤摸瓜地分析，先不要关注具体细节，着重关注主要的代码结构和编译过程
技巧2：追踪分析时要通过文本或者其他途径暂时记录重要的线索
技巧3：将主要的Makefile文件中export出来的变量以及include的文件提取出来，看看include的文件大致是些什么文件，当看到一些来历不明的变量或者操作时可以从这些记录中查找是否有相关记录（将Make涉及的配置文件找出来，相当于形成了一个闭合的环境）
	在这里，是以smart210的uboot_smart21]]></description><category></category></item><item><title><![CDATA[tiny210(S5PV210)LCD控制器RGB配置相关学习记录]]></title><link>https://blog.youkuaiyun.com/fenglinyi/article/details/39586565</link><guid>https://blog.youkuaiyun.com/fenglinyi/article/details/39586565</guid><author>fenglinyi</author><pubDate>Sat, 27 Sep 2014 21:48:27 +0800</pubDate><description><![CDATA[虚拟屏幕：当图像的实际大小超过窗口OSD的大小时，可通过虚拟屏幕功能显示大图像的局部，被显示的那部分称为视口，如下图示。通过配置VID0xADDxBx可配置视口的位置。注意区分窗口OSD位置和视口位置的区别，OSD的位置指的是相对于显示器面板来说其位于在显示面板的哪个位置，而视口的位置指的是相对于大图像来说的视口在其哪个位置，当然视口的大小和OSD是相等的。]]></description><category></category></item><item><title><![CDATA[tiny210(S5PV210)中断控制相关学习记录]]></title><link>https://blog.youkuaiyun.com/fenglinyi/article/details/38666219</link><guid>https://blog.youkuaiyun.com/fenglinyi/article/details/38666219</guid><author>fenglinyi</author><pubDate>Tue, 19 Aug 2014 11:58:21 +0800</pubDate><description><![CDATA[配置中断时，主要涉及4个方面的配置：
1.异常向量表的设置。
2.中断源的配置。
3.中断控制器的配置。
4.处理器内核配置。]]></description><category></category></item><item><title><![CDATA[C语言中volatile关键字的作用]]></title><link>https://blog.youkuaiyun.com/fenglinyi/article/details/24672533</link><guid>https://blog.youkuaiyun.com/fenglinyi/article/details/24672533</guid><author>fenglinyi</author><pubDate>Mon, 28 Apr 2014 22:59:25 +0800</pubDate><description><![CDATA[一.前言

1.编译器优化介绍：

由于内存访问速度远不及CPU处理速度，为提高机器整体性能，在硬件上引入硬件高速缓存Cache，加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行，没有相关性的指令可以乱序执行，以充分利用CPU的指令流水线，提高执行速度。以上是硬件级别的优化。再看软件一级的优化：一种是在编写代码时由程序员优化，另一种是由编译器进行优化。编译器优化常用的]]></description><category></category></item><item><title><![CDATA[tiny210(S5PV210)uboot的顶层Makefile的连接命令理解——记tiny210之uboot移植]]></title><link>https://blog.youkuaiyun.com/fenglinyi/article/details/24598893</link><guid>https://blog.youkuaiyun.com/fenglinyi/article/details/24598893</guid><author>fenglinyi</author><pubDate>Sun, 27 Apr 2014 22:41:08 +0800</pubDate><description><![CDATA[$(obj)u-boot: depend version $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF]]></description><category></category></item><item><title><![CDATA[tiny（S5PV210）编程时SMMC启动通道的判断]]></title><link>https://blog.youkuaiyun.com/fenglinyi/article/details/23561945</link><guid>https://blog.youkuaiyun.com/fenglinyi/article/details/23561945</guid><author>fenglinyi</author><pubDate>Sat, 12 Apr 2014 23:00:30 +0800</pubDate><description><![CDATA[Uboot有一段这样的代码，将程序从SD卡中加载到SDRAM中去：
         ch = *(volatile unsigned int *)(0xD0037488);
         unsigned int ret;
	
	// 通道0
	if (ch == 0xEB000000)
	{
		// 0:channel 0
		// 49:源,代码位于扇区49,1 sector = 5]]></description><category></category></item><item><title><![CDATA[tiny210(S5PV210)内存DDR2-SDRAM初始化顺序及相关难点浅析———210SDRAM初始化学习记]]></title><link>https://blog.youkuaiyun.com/fenglinyi/article/details/23539709</link><guid>https://blog.youkuaiyun.com/fenglinyi/article/details/23539709</guid><author>fenglinyi</author><pubDate>Sat, 12 Apr 2014 18:27:35 +0800</pubDate><description><![CDATA[先贴上DATASHEET给出的初始化顺序：
1.2.1.3
DDR2
Initialization sequence for DDR2 memory type:
1. To provide stable power for controller and memory device, the controller must assert and hold CKE to a logic low]]></description><category></category></item><item><title><![CDATA[对C语言类型转换总结及求校验和的教训]]></title><link>https://blog.youkuaiyun.com/fenglinyi/article/details/23004983</link><guid>https://blog.youkuaiyun.com/fenglinyi/article/details/23004983</guid><author>fenglinyi</author><pubDate>Sun, 06 Apr 2014 00:37:48 +0800</pubDate><description><![CDATA[首先，先讲signed 和unsigned之间的转换。
    很明显，实际上这两个类型之间的转换并没有并没有改变存储器中所存储的数据，但是由于有符号数的正负数的存储方式不同，其转换为实际的数值时所表现出来的值就有可能引起很大的差异，因而类型转换之后所表现出来的值很可能不同。下面举例说明：
signed char a = -1，假设计算机采用补码形式存放（大多数情况下都是这样存储），那么其存储]]></description><category></category></item></channel></rss>