自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chunk area

silence is power

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

转载 宽字符和多字节字符

C 语言原本是在英文环境中设计的,主要的字符集是7 位的ASCII 码。从此开始,8 位的byte(字节)变成最常见的字符编码单位,但是国际化软件必须能够表示不同的字符,而这些字符数量庞大,无法使用一个字节编码,于是世界上使用各式各样多字节的字符编码集合已经有数十年了,比如用来表示“非拉丁字母”以及“非字母”的中、日、韩文字系统。在1994 年,“Normative Addendum 1”(基准增

2010-02-20 14:42:00 771

转载 NAND Flash文件系统方案及其可靠性设计 

NAND Flash文件系统方案及其可靠性设计 随着嵌入式系统在消费电子,数据采集和工业控制等领域得到越来越广泛的应用。各个领域都对嵌入式系统提出了更高的要求。作为嵌入式系统中最重要的组成部分,存储系统呈现出了较快的发展速度。NAND FLASH作为一种安全、快速的存储体,具有体积小、容量大、成本低、以及更多的擦除次数等一系列优点,已成为嵌入式系统中数据和程序最主要的载体。由于NAND FLA

2009-12-11 16:48:00 2361

转载 eboot中的一个bug与备忘

eboot备忘 本文原创 转载请保持完整性xiaoyunsoft@163.com eboot有全部源码,5.0下的没有4.2的功能全,所以继续用4.2下的eboot。具体的代码我都拷贝出来做了注释,也很好理解。有几个地方做个记录:1.分区分区有函数直接支持,在wince420/public/common/oak/drivers/ethdbg/bootpart/bootpar

2009-12-11 16:44:00 615

转载 WinCE OAL中的Memory函数介绍

在BSP开发中经常会用到物理地址与虚拟地址的转换,一般都是基于物理地址获得相应的虚拟地址来访问硬件。在WinCE6.0中,可以在WINCE600/Platform/Common/Src/Inc/Oal_memory.h文件中找到相关的操作函数,这些函数用来虚拟地址与物理地址之间的转换,它们都是基于OEMAddressTable表的。也就是说,首先要在OEMAddressTable中定义虚拟地址到物

2009-12-09 10:39:00 427

转载 eboot中如何使用中断.(增加usb功能)

Samsung的cpu,nand启动.想在eboot中使用中断,进而使用usb下载功能.怎么办? 1.Eboot是工作在mmu开启的虚拟地址模式下. 2.arm在发生中断时候会跳动地址0x18.但eboot不在0地址运行.地址0是4k的nboot程序. 方法.eboot直接修改地址0x18的中断跳转指令,将它指向新的地址,指向自己的中断服务程序. #define pISR   

2009-12-08 20:39:00 1001

转载 几个相关文件系统概念:geometry、sector 、Block

    一:geometry应该翻译为几何数据,其实就是指的CHS(Cylinder、Head、Sector/Track) 。C-Cylinder柱面数表示硬盘每面盘片上有几条磁道,编号从0开始,最大为1023,表示有1024个磁道(用10个二进制位存储);H-Head磁头数表示硬盘总共有几个磁头,也就是几面盘片,编号从0开始,最大为255,表示有256个磁头(用8个二进制位存储);S-Secto

2009-12-08 16:36:00 3141

原创 开发WinCE设备更新工具过程--详记

最近在开发一款嵌入设备,基于WinCE5.0,使用的是SamSung的2416 cpu,基于2450的bsp。 首先是要了解eboot的详细流程,main->BootloaderMain() 在看到第一句就碰到问题了,如下代码。if (!KernelRelocate (pTOC)){    // spin forever    HALT (BLERR_KERNELRELOC

2009-12-08 11:52:00 462

转载 wince bsp study

驱动模型:1.       .LIB库文件,与操作系统内核链接,随操作系统启动一起加载,关闭一起关闭。效率高,但是缺乏灵活性和扩展性。2.       延迟加载,但是仍在系统的内核空间中。实现了驱动的动态加载,但是容易导致系统不稳定。3.       wince 采用用户态下的DLL文件形式存在。  Wince驱动宿主 1.       device.exe 设备管理器,负责加

2009-12-08 11:46:00 1019

转载 CE5.0 - romimage.exe如何填充eboot.bin中的pTOC特殊指针生成.nb0

eboot.bin和eboot.nb0的差别就是eboot.bin中没有填充pTOC结构体,必须使用parser解释器[类似于romimage.exe luther.gliethttp]将全局变量数据段解压释放到运行时使用的地址才行,eboot.nb0中经过romimage.exe填充了pTOC结构体,所以eboot.nb0可以自己将自己用到的全局量通过KernelRelocate()函数进行解压

2009-12-07 22:19:00 402

转载 wince2秒快速启动TOC分析

为什么29M的wince内核nk.nb0文件在2秒钟就能快速启动,如果你用汇编设计一个从NAND单纯拷贝29M nk.nb0的快速程序,你会发现用200MFCLK的2410或者用400MFCLK的2440都至少需要十几秒,那为什么ce能够启动这么快呢,有什么加速算法吗?答案是肯定的,并不需要一次性将所有nk.nb0数据都加载到内存,应该按需加载,那就是ce的镜像文件image“按需加载”[“段式加

2009-12-07 17:37:00 420

转载 深入理解.bin文件和.nb0文件的结构

.bin文件是一个描述性质的映像文件,它由文件头(head)、镜像数据目的起始地址(ImageStart)、镜像数据长度(ImageLength)和多条相对独立的记录(record)构成。文件头(head)由7个字节组成,内容是:42 30 30 30 46 46 0A,即“B000FF/x0A”,这是判断镜像文件是.bin类型的依据。镜像数据目的起始地址(ImageStart)由4个字节组成,它

2009-12-01 17:00:00 766

转载 #pragma用法大全

C和C++的每个实现对它的主机或操作系统都支持一些独有的特征。例如, 某些程序须对存放数据的存储器区域进行精确的控制,或必须控制特定函数接受参量的方式。#pragma指令对每个编译器给出了一个方法,在保持与C和C+ +语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 语法 #pragma 语言符号字符串 语言符号字符串是给出

2009-12-01 11:02:00 556

转载 FC9下VMtools的安装

 VMware是个不错的虚拟机工具,从前一段时间开始用它,但一直没有安装VMtools,近来感觉在XP+VM+linux下,linux的屏幕分辨率始终是800*600,非常不方便,查资料后知,必须要安装VMtools后进行设置和调节才行,于是开始了在fedora9下安装VMtools的艰难历程,如下:1.下载VMtools的linux.iso(windows.iso是for windows的)2.

2008-06-24 10:29:00 461

转载 cab打包详解

在windows mobile开发嵌入式软件,不论是j2me,还是其它语言写的什么程序,最后都可以用cabwiz.exe这个打包安装的工具来制作打包安装程序。笔者最近通过开发一个项目对它的体会是:不仅小巧,而且强大。 刚完成在hp 4700 pda下的一个j2me的项目,使用了IBM的J9虚拟机,另外使用了db2 everyplace 嵌入式数据库。最后用cabwiz对整个软件

2008-05-14 17:11:00 1631

转载 Windows CE开发常见问题解答(转载)

1.怎样在一个控件获得焦点时打开软键盘?比如一个EditBox获得焦点后,这个时候自动打开软键盘,这样可以方便用户输入——SIPINFO、SHSIPINFO、SIPSETINFO、SIPGETINFO里面有些参数弄不明白 //隐藏输入面板 BOOL LowerSip() { BOOL fRes = FALSE; SIPINFO si; memset( &si, 0,

2008-05-05 21:46:00 343

转载 在RELEASE版本中快速定位DATA ABORT的方法

07年10月11日补充:注意,该方法只能定位显性泄漏,定位到的C语句一定产生泄漏了,但可能这个位置是”理论上”不会出问题的代码.那么这是由于同进程内其他代码泄漏而影响了进程的堆区或栈区(隐性泄漏,这个地方不会产生data abort exception),然后被定位出来的代码才被动地显性泄露.产生data abort. 在篇末我给出代码实例来说明这种情况.---------------------

2008-05-04 13:13:00 594

转载 转《两个小时学会DirectDraw开发》

这并非哗众取宠, 通常学习一种电脑技术有两种方法. 一种是自己摸索, 在错误的方向上一错再错, 屡战屡败, 不过最后得道成功. 另一种是有人 或好的材料指导, 因而事半功倍, 在正确的方向上走了速成的捷径. 就象KFC 的鸡一样. 第一种学法能学出电脑天才, 因为所谓电脑高手, 其实就是排错试错的高手. 而第二种则出电脑专才. 这个两小时(?)的学习, 不能使你深入的掌握DD, 不过可以给你编制D

2008-04-30 17:17:00 485

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除