wince5代码整理
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代码整理的更多相关文章
- Smtp邮件发送系统公用代码整理—总结
1.前言 a.在软件开发中,我们经常能够遇到给用户或者客户推送邮件,推送邮件也分为很多方式,比如:推送一句话,推送一个网页等等.那么在系统开发中我们一般在什么情况下会使用邮件发送呢?下面我简单总结了一 ...
- Chrome应用技巧之代码整理。
我们有时候在看别人站点代码时往往是经过压缩的,代码都在一行上了,调试非常是困难,今天给大家介绍一种基本Chrome浏览器的代码整理方法.请看图:
- NSIS常用代码整理
原文 NSIS常用代码整理 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用.不定期更新哦~~~ 1 ;获取操作系统盘符 2 ReadEnvStr $R0 SYSTEMDRIVE ...
- material design 的android开源代码整理
material design 的android开源代码整理 1 android (material design 效果的代码库) 地址请点击:MaterialDesignLibrary 效果: 2 ...
- HTTP请求代码整理
HTTP请求代码整理 类别 代码 注释 1xx – 信息提示 100 继续 101 切换协议 2xx - 成功 200 确定.客户端请求已成功 201 已创建 202 已接受 203 非权威性信息 2 ...
- SQL代码整理
--SQL代码整理: create database mingzi--创建数据库go--连接符(可省略)create table biao--创建表( lieming1 int not null,-- ...
- IOS常用代码整理
常用代码整理: 12.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRege ...
- html Css PC 移动端 公用部分样式代码整理
css常用公用部分样式代码整理: body, html, div, blockquote, img, label, p, h1, h2, h3, h4, h5, h6, pre, ul, ol, li ...
- Photon Server 实现注册与登录(二) --- 服务端代码整理
一.有的代码前端和后端都会用到.比如一些请求的Code.使用需要新建项目存放公共代码. 新建项目Common存放公共代码: EventCode :存放服务端自动发送信息给客户端的code Operat ...
随机推荐
- MFC学习笔记(一)
个人对MFC技术一直都很感兴趣,因为能够做出漂亮绚丽的界面应该是一件十分有成就感的事情. 学习的参考课本为北京博彦科技发展有限责任公司翻译的Jeff Prosise著的<MFC Windows程 ...
- linux命令每日一练习-tail
tail 是查看文件的末尾 tail -n 5*** 显示文件×××的最后5行 tail -n +5 ××× 显示文件×××从第5行开始的内容 tail -f *** 监视文件×××的末尾.循环展示
- 对于.NET Socket连接的细节记录
如果客户端直接连接一个不存在的服务器端,客户端会抛出异常: 如果在连接过程中,客户端强制关闭了连接(没有调用Close直接关闭了程序),服务器端会抛出异常: 如果在连接过程中,客户端调用了Close, ...
- web前端从0开始--1
博主以前没接触过web前端,最近刚开始学习. 在学习的同时,希望能不断整理总结.于是便有了此博客. 博主技术浅薄,并且第一次写此类博客,希望各位大牛能多多保函. 好了废话不多说了,开始正文. web前 ...
- c++ 中的sort用法
别人写的,我拿来做做笔记 sort函数的用法 做ACM题的时候,排序是一种经常要用到的操作.如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错.ST ...
- hightchart属性(更新中...)
legend:{ layout: 'vertical', //legend中内容垂直放置 align: 'right', //放在图表右边 verticalAlign: 'middle', // ...
- XSHELL使用隧道
线上系统中,搭建了一个elasticsearch环境,想要访问页面,发现环境的内网中没有windows机器,无法使用浏览器来直接进行web页面的访问,于是直接使用了XSELL中强大的功能"隧 ...
- C#通过反射进行枚举描述相关操作
C#可以通过反射,来获取枚举的描述信息或通过描述信息获取到指定类型的枚举 /// <summary> /// 获取枚举描述 /// </summary> /// <par ...
- Kruskal(测试源代码)
1.此程序为c++程序 2.以下代码可实现手动输入,即去掉代码中的/*...*/注释符,并同时去掉赋值代码段 3.源代码 #include<iostream> using namespac ...
- etl工具
ETL 工具下载全集 包括 Informatica Datastage Cognos( 持续更新) Datastage 8.0 BT种子下载:http://files.cnblogs.com/ta ...