<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[movenostop的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/movenostop</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; movenostop]]></copyright><item><title><![CDATA[CallStack Android Native system/core/include/android/log.h:120:20: error: ‘__format__‘ attribute arg]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/108408307</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/108408307</guid><author>movenostop</author><pubDate>Fri, 04 Sep 2020 17:22:23 +0800</pubDate><description><![CDATA[Android Native 代码加入CallStack 时,编译报错
In file included from system/core/include/utils/CallStack.h:20:
system/core/include/android/log.h:120:20: error: '__format__' attribute argument not supported: LogOutput [-Werror,-Wignored-attributes]
    __attribute__((]]></description><category></category></item><item><title><![CDATA[fixdep.c 分析]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/105431788</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/105431788</guid><author>movenostop</author><pubDate>Fri, 10 Apr 2020 14:11:25 +0800</pubDate><description><![CDATA[使用gcc -MD 生成目标时，同时会生成依赖文件
例如，新建一个main.c
#include &lt;stdio.h&gt;
int main()
{
	printf("Hello World !");
	return 0;
}


执行gcc -MD main.c -o main.o,生成两个文件main.o,main.d，main.d就是依赖文件的输出
内容如下
main.o: main....]]></description><category></category></item><item><title><![CDATA[u-boot-2009.11.y 根目录kbuild sed-y分析]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/103644462</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/103644462</guid><author>movenostop</author><pubDate>Sat, 21 Dec 2019 15:57:40 +0800</pubDate><description><![CDATA[# Default sed regexp - multiline due to syntax constraints
define sed-y
	"s:[[:space:]]*\.ascii[[:space:]]*\"\(.*\)\":\1:; \
	/^-&gt;/{s:-&gt;#\(.*\):/* \1 */:; \
	s:^-&gt;\([^ ]*\) [\$$#]*\([-0-9]*\)...]]></description><category></category></item><item><title><![CDATA[Arm架构   一  简介]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/103306008</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/103306008</guid><author>movenostop</author><pubDate>Fri, 29 Nov 2019 10:59:50 +0800</pubDate><description><![CDATA[目前Arm处理器架构被分为三类

A结构
例如，Contex-A53  Contex-A72
此类内核，高性能，为运行系统设计，拥有多种工作模式，MMU
R结构
专为实时性系统设计，常见于网络设备
M结构
低能耗，高效能，常见于Iot设备，例如Contex-M0，Contex-M3，Contex-M4

ARM架构不仅限于处理器内核，还有总线和中断等

ARM
AMBA
GIC

ARM将架构分为...]]></description><category></category></item><item><title><![CDATA[echo数据到/dev/kmsg，并控制等级]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/103177613</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/103177613</guid><author>movenostop</author><pubDate>Thu, 21 Nov 2019 10:29:15 +0800</pubDate><description><![CDATA[Linux系统中，如果我们有root权限，可以直接echo信息到/dev/kmsg，这样在dmesg中就会出现我们的echo的信息。
例如：
su
dmesg -w &amp;
echo test &gt; /dev/kmsg

执行以上shell指令，会输出

但是这样输出的默认是W等级的，能否控制输出的等级呢？
我们知道dmesg里面的内容，通过printk可以输入，那我们去查看printk源...]]></description><category></category></item><item><title><![CDATA[Android P Vold分析 VolumeBase::create()中的setState(State::kUnmounted)]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/103149174</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/103149174</guid><author>movenostop</author><pubDate>Wed, 20 Nov 2019 13:33:05 +0800</pubDate><description><![CDATA[VolumeBase在构造时，已经将状态设置为Unmounted，为什么在create里还要再次设置呢？
下面是VolumeBase的构造
VolumeBase::VolumeBase(Type type) :
        mType(type), mMountFlags(0), mMountUserId(-1), mCreated(false), mState(
              ...]]></description><category></category></item><item><title><![CDATA[Android P  Vold分析 一次U盘挂载时序]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/103069122</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/103069122</guid><author>movenostop</author><pubDate>Thu, 14 Nov 2019 16:02:17 +0800</pubDate><description><![CDATA[一次u盘挂载时序，忽略一些细节，因为用的Visual Paradigm 试用版，水印较多，尽请见谅


]]></description><category></category></item><item><title><![CDATA[u-boot-2009.11.y Makefile分析 (一)]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/102986843</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/102986843</guid><author>movenostop</author><pubDate>Mon, 11 Nov 2019 10:24:58 +0800</pubDate><description><![CDATA[make XXX_defconfig
我们编译u-boot，一般第一步使用make xxx_config，现在来分析下这个makefile目标的执行
首先在源码目录下Makefile中，找到这个目标
%config: scripts_basic outputmakefile FORCE
	$(Q)$(MAKE) $(build)=scripts/kconfig $@

这个目标依赖与三个目标，sc...]]></description><category></category></item><item><title><![CDATA[驱动编译错误]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/102918288</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/102918288</guid><author>movenostop</author><pubDate>Tue, 05 Nov 2019 16:17:03 +0800</pubDate><description><![CDATA[In file included from ./include/linux/module.h:18:0,
                 from drivers/char/globalmem/globalmem.c:1:
./include/linux/moduleparam.h:22:1: error: expected ‘,’ or ‘;’ before ‘static’
 static ...]]></description><category></category></item><item><title><![CDATA[Error: Could not find or load main class ***]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/99460222</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/99460222</guid><author>movenostop</author><pubDate>Tue, 13 Aug 2019 18:36:26 +0800</pubDate><description><![CDATA[今天自己手动javac编译几个java文件，互相之间有引用，并且取了包名com.xpc.observer
编译结束后，java MainClassName
报错，后来发现要在ｃｏｍ/xpc/observer的上层目录运行ｊａｖａ com.xpc.observer.MainClassName

...]]></description><category></category></item><item><title><![CDATA[反编译andriod dtbo.img 为dts]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/95189605</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/95189605</guid><author>movenostop</author><pubDate>Tue, 09 Jul 2019 13:50:02 +0800</pubDate><description><![CDATA[反编译andriod dtbo.img 为dts
需要的两个工具

mkdtimg
在源码目录out/host/linux-x86/bin/mkdtimg

  mkdtimg &lt;command&gt;

    commands:
      help, dump, create, cfg_create

  mkdtimg help all
  mkdtimg help &lt;comm...]]></description><category></category></item><item><title><![CDATA[进入保护模式后重启]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/90768630</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/90768630</guid><author>movenostop</author><pubDate>Tue, 04 Jun 2019 14:43:25 +0800</pubDate><description><![CDATA[这两个在弄x86的保护模式，在bochs上程序正常，但是在真实硬件上却总是重启，最后终于找到，因为用了cli关闭所有中断，这个指令应该不会影响int n的使用，事实上，如果使用过cli，再使用int n，在硬件上就会重启，这是个bug？
...]]></description><category></category></item><item><title><![CDATA[将Linux-0.00用nasm格式重写，并且把8259的定时器0中断替换为RTC时钟中断]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/90738473</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/90738473</guid><author>movenostop</author><pubDate>Sun, 02 Jun 2019 13:24:25 +0800</pubDate><description><![CDATA[参考资料

https://blog.youkuaiyun.com/weixin_33737774/article/details/86952055

https://my.oschina.net/findurl/blog/188123



代码见我的git仓库：

https://github.com/xpc19951023/linux_0.12_update.git
...]]></description><category></category></item><item><title><![CDATA[C++11 条件变量例程  condition_variable]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/90232117</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/90232117</guid><author>movenostop</author><pubDate>Wed, 15 May 2019 11:11:01 +0800</pubDate><description><![CDATA[#include &lt;iostream&gt;
#include &lt;thread&gt;
#include &lt;queue&gt;
#include &lt;condition_variable&gt;
#include &lt;assert.h&gt;

#define  MAX_CAPACITY 20

std::queue&lt;int&gt; commodity;//商品
...]]></description><category></category></item><item><title><![CDATA[MFC中显示Opencv的Mat 图像，视频]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/80078313</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/80078313</guid><author>movenostop</author><pubDate>Wed, 25 Apr 2018 14:04:59 +0800</pubDate><description><![CDATA[		// TODO:  在此添加额外的初始化代码
	namedWindow(&quot;view&quot;, WINDOW_AUTOSIZE);//这段程序是将opencv窗口父窗口设置为PictureContrlo，这里设置了四个窗口，
	HWND hWnd = (HWND)cvGetWindowHandle(&quot;view&quot;);//hWnd和hParent只能定义一次，多次使用，否则会出现异常的现象，窗口分离
	H...]]></description><category></category></item><item><title><![CDATA[使用std::thread时的illegal instruction错误]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/79696799</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/79696799</guid><author>movenostop</author><pubDate>Mon, 26 Mar 2018 13:23:45 +0800</pubDate><description><![CDATA[使用std::thread时的illegal instruction错误    在使用多线程时，出现了illegal instruction错误，经仔细排查，发现错误的原因非常可笑，是因为线程函数没写返回值。错误示例：void * function(void *arg)
{
    printf(&quot;function\n&quot;);
    sleep(5);
    //没有返回值
}

int mai...]]></description><category></category></item><item><title><![CDATA[EGL  opengl多线程绘制]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/79696665</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/79696665</guid><author>movenostop</author><pubDate>Mon, 26 Mar 2018 13:13:13 +0800</pubDate><description><![CDATA[opengl多线程绘制实现效果：opengl开启两个线程，一个线程用于绘制，另一个线程用于加载纹理。实现方法：opengl是单线程的，其他线程不能访问另外线程的纹理资源，但是，如果两个线程共享上下文，就可以访问彼此的纹理资源。绘制线程：创建两个上下文//只有主要代码
...
context = eglCreateContext(display, config, NULL, ctxAttribs);...]]></description><category></category></item><item><title><![CDATA[openGL纹理导致内存泄露]]></title><link>https://blog.youkuaiyun.com/movenostop/article/details/79126813</link><guid>https://blog.youkuaiyun.com/movenostop/article/details/79126813</guid><author>movenostop</author><pubDate>Mon, 22 Jan 2018 11:18:45 +0800</pubDate><description><![CDATA[今天调试程序时，发现内存老是泄露，经过不断的排查，确定是因为纹理的使用问题。
我的程序有一个死循环，纹理创建在死循环里，导致内存泄露，而且没有使用
glDeleteTextures（1，&id）；//函数释放内存
而后我在析构函数中释放内存，当只使用一个纹理时，程序正常，当使用两个纹理时，程序还是错误。
而后我又不断找资料，终于在这篇博客里找到问题http://blog.youkuaiyun.com/hu]]></description><category></category></item></channel></rss>