<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wmsulin的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wmsulin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wmsulin]]></copyright><item><title><![CDATA[转:深入理解.bin文件和.nb0文件的结构]]></title><link>https://blog.youkuaiyun.com/wmsulin/article/details/5391925</link><guid>https://blog.youkuaiyun.com/wmsulin/article/details/5391925</guid><author>wmsulin</author><pubDate>Thu, 18 Mar 2010 11:22:00 +0800</pubDate><description><![CDATA[http://blog.sina.com.cn/s/blog_541f70fa0100eg1e.html.bin文件是一个描述性质的映像文件，它由文件头(head)、镜像数据目的起始地址(ImageStart)、镜像数据长度(ImageLength)和多条相对独立的记录（record）构成。  文件头(head)由7个字节组成，内容是：42 30 30 30 46 46 0A,即“B000]]></description><category></category></item><item><title><![CDATA[CE5.0 - eboot加载NK.nb0的详细流程(转)]]></title><link>https://blog.youkuaiyun.com/wmsulin/article/details/5391856</link><guid>https://blog.youkuaiyun.com/wmsulin/article/details/5391856</guid><author>wmsulin</author><pubDate>Thu, 18 Mar 2010 11:03:00 +0800</pubDate><description><![CDATA[http://blog.chinaunix.net/u1/38994/showart.php?id=1883739CE5.0 - eboot加载NK.nb0的详细流程可以参考《 CE5.0 - eboot烧写NK.nb0的详细流程》eboot==>main             PLATFORM/SMDK2440A/Src/Bootloader/Eboot_usb/main.c|96| Bo]]></description><category></category></item><item><title><![CDATA[CE5.0 - eboot烧写NK.nb0的详细流程（转）]]></title><link>https://blog.youkuaiyun.com/wmsulin/article/details/5389400</link><guid>https://blog.youkuaiyun.com/wmsulin/article/details/5389400</guid><author>wmsulin</author><pubDate>Wed, 17 Mar 2010 15:24:00 +0800</pubDate><description><![CDATA[http://blog.chinaunix.net/u1/38994/showart_1883743.htmlCE5.0 - eboot烧写NK.nb0的详细流程可以参考《CE5.0 - eboot加载NK.nb0的详细流程》nk.nb0首先通过umon下载到DDR中,然后执行烧写操作,烧写到flash上.PLATFORM/SMDK2440A/Src/Bootloader/Eboot/main]]></description><category></category></item><item><title><![CDATA[WinCE Bootloader学习笔记之OEMDebugInit（）（转）]]></title><link>https://blog.youkuaiyun.com/wmsulin/article/details/5389024</link><guid>https://blog.youkuaiyun.com/wmsulin/article/details/5389024</guid><author>wmsulin</author><pubDate>Wed, 17 Mar 2010 14:18:00 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/luocan1986/archive/2010/01/19/5213723.aspx该函数主要是初始化串口，在该函数完成之后我们才可以调用OEMWriteDebugString（）函数，输出调试消息。直接上代码：BOOL OEMDebugInit(void){     // Set up function callbacks used ]]></description><category></category></item><item><title><![CDATA[CE6内核启动过程-新角度（转）]]></title><link>https://blog.youkuaiyun.com/wmsulin/article/details/5389004</link><guid>https://blog.youkuaiyun.com/wmsulin/article/details/5389004</guid><author>wmsulin</author><pubDate>Wed, 17 Mar 2010 14:14:00 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/luocan1986/archive/2010/01/09/5166858.aspx开发人员有必要理解CE系统启动过程。首先回顾一下系统怎样建立起来的。微软工具链生成.exe和.dll文件。这些文件都包含了Portable Executable格式，简称PE格式。它们的结构都是一样的：1、  是一种common object文件格式的扩展2、  有导入]]></description><category></category></item><item><title><![CDATA[WinCE Bootloader学习笔记之KernelRelocate（）函数（转）]]></title><link>https://blog.youkuaiyun.com/wmsulin/article/details/5388992</link><guid>https://blog.youkuaiyun.com/wmsulin/article/details/5388992</guid><author>wmsulin</author><pubDate>Wed, 17 Mar 2010 14:13:00 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/luocan1986/archive/2009/12/30/5107364.aspx内核的初始化数据都保存在镜像文件中（data段的数据）。对数据的读写，必须要把镜像的真实数据内容，复制到RAM中，才允许使用。Kernelrelocate（）函数就是完成该功能的，把镜像中的全局变量Copy到Ram中，该过程完成之后，其他模块才能正常访问保存的全局数据。]]></description><category></category></item><item><title><![CDATA[WinCE Bootloader学习笔记之KernelRelocate（）函数（转）]]></title><link>https://blog.youkuaiyun.com/wmsulin/article/details/5388971</link><guid>https://blog.youkuaiyun.com/wmsulin/article/details/5388971</guid><author>wmsulin</author><pubDate>Wed, 17 Mar 2010 14:10:00 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/luocan1986/archive/2009/12/30/5107364.aspx内核的初始化数据都保存在镜像文件中（data段的数据）。对数据的读写，必须要把镜像的真实数据内容，复制到RAM中，才允许使用。Kernelrelocate（）函数就是完成该功能的，把镜像中的全局变量Copy到Ram中，该过程完成之后，其他模块才能正常访问保存的全局数据。]]></description><category></category></item><item><title><![CDATA[WinCE Bootloader学习笔记之Bootloader框架（转）]]></title><link>https://blog.youkuaiyun.com/wmsulin/article/details/5388966</link><guid>https://blog.youkuaiyun.com/wmsulin/article/details/5388966</guid><author>wmsulin</author><pubDate>Wed, 17 Mar 2010 14:09:00 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/luocan1986/archive/2009/12/30/5106255.aspx以下代码都是基于s3c2440的，WinCE Bootloader。从Startup.s汇编中的b  main 指令，就跳转到了Bootloader的C语言部分的main函数，C部分开始运行。这一部分的主要工作框架图如下：     其实首先是]]></description><category></category></item><item><title><![CDATA[Bootloader Startup.s 学习笔记二 （转载）]]></title><link>https://blog.youkuaiyun.com/wmsulin/article/details/5388919</link><guid>https://blog.youkuaiyun.com/wmsulin/article/details/5388919</guid><author>wmsulin</author><pubDate>Wed, 17 Mar 2010 14:00:00 +0800</pubDate><description><![CDATA[紧接上一篇，这部分主要是MMU INCLUDE oemaddrtab_cfg.inc         ; Compute physical address of the OEMAddressTable.20      add     r11, pc, #g_oalAddressTable - (. + 8)        ；把AddressTable的首地址放入r0寄存器     ]]></description><category></category></item><item><title><![CDATA[Bootloader Startup.s 学习笔记一]]></title><link>https://blog.youkuaiyun.com/wmsulin/article/details/5388903</link><guid>https://blog.youkuaiyun.com/wmsulin/article/details/5388903</guid><author>wmsulin</author><pubDate>Wed, 17 Mar 2010 13:55:00 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/luocan1986/archive/2009/12/29/5099732.aspx              WinCE  Bootloader Startup.s分析                INCLUDE kxarm.h                INCLUDE armmacros.s                INCLUDE ]]></description><category></category></item><item><title><![CDATA[ 浅谈pTOC指针(转载)]]></title><link>https://blog.youkuaiyun.com/wmsulin/article/details/5388812</link><guid>https://blog.youkuaiyun.com/wmsulin/article/details/5388812</guid><author>wmsulin</author><pubDate>Wed, 17 Mar 2010 13:36:00 +0800</pubDate><description><![CDATA[转载http://blog.youkuaiyun.com/yjy889/archive/2009/07/06/4326558.aspx什么是TOC？TOC ：Table Of ContentTOC的定义： ROMHDR *const volatible pTOC=(ROMHDR *)-1;    // Get replaced by romloader with real address.]]></description><category></category></item><item><title><![CDATA[ Windows CE5.0 BSP]]></title><link>https://blog.youkuaiyun.com/wmsulin/article/details/5381194</link><guid>https://blog.youkuaiyun.com/wmsulin/article/details/5381194</guid><author>wmsulin</author><pubDate>Mon, 15 Mar 2010 11:57:00 +0800</pubDate><description><![CDATA[OAL移植OAL的移植过程中，OEM主要实现以下几个函数：Startup.s，调试串口函数，OEMInit函数，系统时钟函数，中断处理函数等。⑴ 修改Startup.s，此函数为OS启动时第一个要调用的函数，也是OEM要实现的重要函数之一，主要完成的功能是：将CPU初试化到一种已知的状态；并调用内核初始化函数kernelstart。Startup.s需要修改，修改后的部分代码如下：        ]]></description><category></category></item></channel></rss>