BAT文件语法:

@REM 这是注释标识与REM的区别就是在echo on时REM的注释也会显示出来

@REM 设置变量BSP_SMDK2416为2
set BSP_SMDK2416=2

@REM 设置另外一个变量赋值为BSP—SMDK2416
set BSP_TYPE=%BSP_SMDK2416%

@REM 判断语句,/i是表示不区分大小写
if /i "%BSP_SMDK2416_CFG%"=="1" (
set BSP_NOHSMMC_CH0=
set BSP_NOHSMMC_CH1=
set BSP_HSMMC_CH1_8BIT=
)

汇编文件语法:

; 这是注释标识

INCLUDE    kxarm.h            ;包含配置文件
INCLUDE    s3c2416.inc        ;包含配置文件
PTs  EQU   0x30010000         ;定义PTs为0x30010000
TEXTAREA                      ;定义代码区END                ;与上面的TEXTAREA对应
IMPORT    main               ;引入外部函数接口 
LEAF_ENTRY StartUp            ;由source文件指示出函数入口,未细究,有空补上ENTRY_END            ;与上面的LEAF_ENTRY XXX对应

   b        ResetHandler
    b %B1                 ;不带返回的跳转,%B1表示跳转至前面的标号1
                              ;有别于bl,bl是有带返回地址的
                              ;有别于%F1,%F1表示跳转到后面的标号1
                   ;把立即数0传给寄存器r0
[ BSP_TYPE = BSP_SMDK2416
    ldr       r0, =vINTBASE1
    mvn       r2, #
    str       r2, [r0, #oINTMSK1]
    str       r2, [r0, #oSRCPND1]
    str       r2, [r0, #oINTPND1]

    ldr       r0, =vINTBASE2
    mvn       r2, #
    str       r2, [r0, #oINTMSK2]
    str       r2, [r0, #oSRCPND2]
    str       r2, [r0, #oINTPND2]
]

;如果BSP_TYPE=BSP_SMDK2416则执行

几个代码:

#define INPORT32(x)          READ_PORT_ULONG(x)                //
#define OUTPORT32(x, y)      WRITE_PORT_ULONG(x, (ULONG)(y))       //

#define INREG32(x)           READ_REGISTER_ULONG(x)             //
#define OUTREG32(x, y)       WRITE_REGISTER_ULONG(x, (ULONG)(y))      

//用C语言访问固定内存地址
#define READ_REGISTER_ULONG(reg) (*(volatile unsigned long * const)(reg))            //把reg强制转为unsigned long 的静态可变指针类型数据,通过*访问这一地址
#define WRITE_REGISTER_ULONG(reg, val) (*(volatile unsigned long * const)(reg)) = (val)    //

四字节对齐编译:

#pragma pack(4)   //设定为4字节对齐
typedef struct _BatteryStatus_tag {
        SYSTEM_POWER_STATUS_EX2 sps;
        WORD    wMainLevels;
        WORD    wBackupLevels;
        BOOL    fSupportsChange;
        BOOL    fChanged;
} BATTERY_STATUS, *PBATTERY_STATUS;
#pragma pack()    //恢复默认对齐方式

/*=======================================================================================================================
#pragma pack(n):
每个特定平台上的编译器都有自己的默认“对齐系数”(也叫对齐模数)。程序员可以通过预编译命令#pragma pack(n),n=1,2,4,8,16来改变这一系数,其中的n就是你要指定的“对齐系数”。如果#pramga pack(n)中的n大于结构体成员中任何一个成员所占用的字节数,则该n值无效。编译器会选取结构体中最大数据成员的字节数为基准进行对其

内存字节对齐机制,就是为了最大限度的减少内存读取次数。CPU读取速度比内存读取速度快至少一个数量级,为了节省运算花费时间,就牺牲空间来换取时间了。

存放时,看下一成员能否与当前成员存放于同一对齐字节内,若不行则另开一字节对齐空间来放置。
==========================================================================================================================*/

CE查找dll里面函数输出地址:

//get pointers to file-mapping functions载入指定的动态链接库,并将它映射到当前进程使用的地址空间。一旦载入,即可访问库内保存的资源
hiCoreDll = LoadLibrary(_T("coredll.dll"));
if(hiCoreDll != NULL)
{   //GetProcAddress函数检索指定的动态链接库(DLL)中的输出库函数地址      gpfnCreateFileMappingW  = (PFN_CreateFileMappingW) GetProcAddress((HMODULE) hiCoreDll, _T("CreateFileMappingW"));      gpfnMapViewOfFile       = (PFN_MapViewOfFile) GetProcAddress((HMODULE) hiCoreDll, _T("MapViewOfFile"));      gpfnUnmapViewOfFile     = (PFN_UnmapViewOfFile) GetProcAddress((HMODULE) hiCoreDll, _T("UnmapViewOfFile"));
}
FreeLibrary(hiCoreDll);        // we're already linked to coredll

wince5代码整理的更多相关文章

  1. Smtp邮件发送系统公用代码整理—总结

    1.前言 a.在软件开发中,我们经常能够遇到给用户或者客户推送邮件,推送邮件也分为很多方式,比如:推送一句话,推送一个网页等等.那么在系统开发中我们一般在什么情况下会使用邮件发送呢?下面我简单总结了一 ...

  2. Chrome应用技巧之代码整理。

    我们有时候在看别人站点代码时往往是经过压缩的,代码都在一行上了,调试非常是困难,今天给大家介绍一种基本Chrome浏览器的代码整理方法.请看图:

  3. NSIS常用代码整理

    原文 NSIS常用代码整理 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用.不定期更新哦~~~ 1 ;获取操作系统盘符 2 ReadEnvStr $R0 SYSTEMDRIVE ...

  4. material design 的android开源代码整理

    material design 的android开源代码整理 1 android (material design 效果的代码库) 地址请点击:MaterialDesignLibrary 效果: 2 ...

  5. HTTP请求代码整理

    HTTP请求代码整理 类别 代码 注释 1xx – 信息提示 100 继续 101 切换协议 2xx - 成功 200 确定.客户端请求已成功 201 已创建 202 已接受 203 非权威性信息 2 ...

  6. SQL代码整理

    --SQL代码整理: create database mingzi--创建数据库go--连接符(可省略)create table biao--创建表( lieming1 int not null,-- ...

  7. IOS常用代码整理

    常用代码整理: 12.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRege ...

  8. html Css PC 移动端 公用部分样式代码整理

    css常用公用部分样式代码整理: body, html, div, blockquote, img, label, p, h1, h2, h3, h4, h5, h6, pre, ul, ol, li ...

  9. Photon Server 实现注册与登录(二) --- 服务端代码整理

    一.有的代码前端和后端都会用到.比如一些请求的Code.使用需要新建项目存放公共代码. 新建项目Common存放公共代码: EventCode :存放服务端自动发送信息给客户端的code Operat ...

随机推荐

  1. ubuntu 13.04 telnet 详细配置

    1. sudo vi /etc/xinetd.d/telnet并加入以下内容:# default: on# description: The telnet server serves telnet s ...

  2. Linux/Unix 线程同步技术之互斥量(1)

    众所周知,互斥量(mutex)是同步线程对共享资源访问的技术,用来防止下面这种情况:线程A试图访问某个共享资源时,线程B正在对其进行修改,从而造成资源状态不一致.与之相关的一个术语临界区(critic ...

  3. nim也玩一行流,nim版的list comprehension

    nim 是一门风格类似python的静态编译型语言,官方网站:http://nim-lang.org 如果你想折腾nim的编辑环境,可以用sublime text3 +插件nimlime,notepa ...

  4. img标签中的alt属性在IE6/7/8中的兼容问题

    W3C HTML 4.01 规范规定,alt 属性指定了在 User Agents 不能显示图片.表单和 applets 的时候显示的替换文字.alt 属性在 IE6 IE7 IE8(Q) 下具有双重 ...

  5. what just I know

    #update_s#http://www.taijixy.com/linker.html#update_e# #server_s#www.taijixy.com#server_e# #live_ver ...

  6. 第一章 web应用程序开发原理

    [总结] 1.计算机模式  :主机  哑端计算机模式 优点:速度快  反应快 维护修理方便 数据安全性高 缺点:单台计算机安全操作 应用程序难维护 难以跨出平台 客户端 客户计算机模式 优点:速度快 ...

  7. ASP.NET常用函数(参考用)

    Abs(number) 取得数值的绝对值. Asc(String) 取得字符串表达式的第一个字符ASCII 码. Atn(number) 取得一个角度的反正切值. CallByName (object ...

  8. Python中的可迭代对象与迭代器对象

    刚刚学习Python,对“可迭代对象”和"迭代器对象"的个人理解,不知道对不对. 1.几个概念 (1)迭代工具:包括for循环.列表解析.in成员关系测试.....等等在内的,用于 ...

  9. CentOS下查看进程和删除进程

    1. 在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab).2. ps ...

  10. 关于peersim样例配置文件的超详细解读(新手勿喷)

    相信很多兄弟一开始接触peersim,对配置文件还是有点不适应,我看了好久的样例的配置文件,一层层去找对应的文件的方法,终于好像悟懂了一点,记下来以后回顾. 贴上代码,一点点分析. 首先要说下所谓的配 ...