当前位置:首页 » 密码管理 » wince加密

wince加密

发布时间: 2022-04-25 16:23:46

1. 怎么使用securecrt烧写天嵌的wince系统

SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或linux服务器主机的软件。
SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100,VT102,VT220和ANSI竞争.能从命令行中运行或从浏览器中运行.其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA鉴别。
Alt + Enter -- 全屏
Alt + B --打开新的连接
Alt + 1/2/3/4/5.../9 -- 切换到第1/2/3/4/5.../9个标签
Ctrl + A -- 光标移至行首。
Ctrl + B -- 光标前移1个字符
Ctrl + D -- 删除光标后1个字符
Ctrl + E -- 光标移至行末
Ctrl + F -- 光标后移1个字符
Ctrl + H -- 删除光标前的1个字符
Ctrl + J -- 回车
Ctrl + k -- 删除当前光标至行末的字符
Ctrl + P -- 显示前一条命令
Ctrl + M -- 回车
Ctrl + N -- 下一条命令
Ctrl + T -- 交换光标前最后两个字符(思科路由器可用)
Ctrl + U -- 清除当前行和缓存的输入
Ctrl + V -- 输入ctrl字符
Ctrl + W -- 删除当前光标至行首的字符
Tab --自动补全命令

2. 如何加密 Windows CE系统

椋‥XE、DLL、OCX)都能够正常运行,存放在永久存储器上的模块在开发者数字签名后也能够运行,而没有数字签名的模块则不能运行。读者有兴趣可以查看CE帮助文档中标题为《Create a Trusted Environment》的文章。言简意赅,下面就开始讲解如何实现可信任环境。
1、得到钥容器
得到钥容器(key container)的方法是调用Win32 Security API。先得到CSP(cryptographic service provider),再得到key container。默认的CSP为Microsoft Base Cryptographic Provider。默认的key container以当前登录用户名为名称。如果你熟悉加密方面知识的话可以另外调用其他CSP。在此我们以Microsoft Base Cryptographic Provider默认的key container为signfile需要的钥容器。
2、对模块签名
signfile.exe 用于对模块签名。这个文件在CE安装目录里(包括源码)可以找到,下面是参数说明:
-o 输出签名数据到指定的文件
-k 指定CAPI 钥容器
-p 输出公钥到指定文件(内容为一个C语言数组)
-s 嵌入指定字符
-a 在指定的PE格式的文件中附加签名数据
-f 要签名的文件(EXE、DLL)
假如我们要将myproc.exe签名,假设我们以fulinlin名字在桌面Windows上登录,那么在命令行输入如下命令:
signfile -fmyproc.exe -a -kfulinlin -pmyproc.txt
上面参数告诉signfile.exe 用钥容器fulinlin中的私钥将文件myproc.exe签名,并且将公钥存放到名为myproc.txt的文件中。加密具体过程很复杂,我对加密不了解,只能理解到这么低级的程度。如果说错了希望读者指教。
3、编写检验函数
编写检验函数前请参考CE的帮助文档中标题为《Verifying a Signature》的文章。我们只需要把这篇文章中最下面的代码复制到CE安装目录下定义OEMInit函数的.c文件中。因为我的调试平台属于X86系列,所以定义OEMInit函数是在cfwpc.c文件中。为了使读者能够简单弄懂这个机制,我把相关函数、变量做一个简单说明,如下:
////初始化公钥函数[NextPage]extern BOOL InitPubKey(const BYTE *KeyBlob, DWORD cbKeyBlob);
/////这两个指针是在loader.c文件中定义的,loader.c实现加载器的功能,加载模块(EXE、DLL)。这两个指针指向两个函数,pOEMLoadInit
////指向的函数的功能是:每当加载一个模块的时候这个函数决定是否需要验证。TRUE表示需要,FALSE不需要。pOEMLoadMole指向的
////函数的功能是:验证将要加载的模块是否具有合法的签名。有三个返回值,具体请看帮助文档。
extern OEMLoadInit_t pOEMLoadInit; extern OEMLoadMole_t pOEMLoadMole;
/////以"CertifyMole"开头的函数为系统自带的验证函数。有了这三个函数你就不用去了解加密知识了。
extern BOOL CertifyMoleInit(void); extern BOOL CertifyMole(PBYTE pbBlock, DWORD cbBlock);extern BOOL CertifyMoleFinal(PBYTE *ppbSignData, PDWORD pcbSignData);
注意公钥数据g_bSignPublicKeyBlob,要把signfile导出的公钥覆盖代码中原有的g_bSignPublicKeyBlob 。
[NextPage]4、编译并测试用PB打开一个内核工程,进入命令行状态(菜单open build release directory)。键入"build -c"和"sysgen i486oal",因为cfwpc.c是i486oal.lib的一部分。之后重新编译内核。
测试方法是把任何一个CE下运行的EXE复制一份,一份不改变,另一份由signfile签名。然后把这两个文件复制到永久存储器上运行。测试结果签名的能运行,而不签名的不能运行(弹出对话框显示"找不到XXX(或它的某一个组件)。

3. 如何在wince中建立PPPoE拨号

1.在wince中添加支持的组件
需要添加2个组件,分别是Dial Up Networking (RAS/PPP)和Point-to-Point Protocol over Ethernet (PPPoE),路径如下:
[Core OS]
|——[Communication Services and Networking]
|——[Networking - Wide Area Network (WAN)]
|——Dial Up Networking (RAS/PPP)
|——Point-to-Point Protocol over Ethernet (PPPoE)

2.使用注册表创建拨号
在platform.reg中添加下面注册表信息,下面“PPPoE”这个名字可以根据自己需要直接修改。
[HKEY_CURRENT_USER/Comm/RasBook/"PPPoE"]
"Entry"=hex:/
00,00,48,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,1c,1a,0f,00,00,/
00,00,00,44,13,0f,00,00,00,00,00,04,00,00,00,60,00,00,00,10,00,00,00,6f,00,/
00,00,1c,d9,cb,02,10,1a,0f,00,ff,ff,00,00,00,00,ff,ff,00,00,00,00,0c,f0,04,/
1e,fc,ef,04,1e,e0,b1,32,08,ff,ff,00,00,08,00,00,00,cc,cc,00,00,00,00,00,00,/
00,00,00,00,01,00,00,00,01,00,00,00,c8,73,ed,01,00,00,00,00,00,00,00,00,01,/
00,00,00,00,00,ff,00,00,00,00,00,00,00,00,00,70,19,0f,00,dc,b1,32,08,00,00,/
00,00,01,00,00,00,70,19,0f,00,dc,b1,32,08,00,00,00,00,6c,fb,cb,02,01,00,00,/
00,00,00,ff,00,dc,b1,32,08,00,00,00,00,80,eb,04,1e,70,19,0f,00,01,00,00,00,/
59,01,00,00,67,00,00,00,00,00,00,00,00,00,00,00,02,00,00,00,2c,24,cb,02,58,/
01,00,00,00,00,00,00,00,02,00,00,e0,b1,32,08,01,00,00,00,64,16,cc,02,f0,b1,/
32,08,10,1a,0f,00,03,00,00,00,05,00,00,00,64,b8,31,08,43,00,00,00,90,0a,00,/
00,00,00,00,00,70,19,0f,00,80,15,00,00,df,fd,ff,ff,00,00,00,00,00,00,00,00,/
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,50,00,50,00,50,/
00,6f,00,45,00,00,00,01,00,00,00,d8,5b,01,00,7a,3d,05,1e,7a,3d,05,1e,0c,00,/
00,00,68,23,50,00,50,00,50,00,6f,00,45,00,20,00,4c,00,69,00,6e,00,65,00,20,/
00,30,00,00,00,a8,eb,04,1e,00,00,00,00,ff,ff,00,00,c8,eb,04,1e,07,0b,00,00,/
44,00,00,00,80,82,00,00,00,02,00,00,00,00,00,00,48,01,00,00,21,00,00,00,5a,/
01,00,00,68,00,00,00,04,00,00,00,9c,ed,04,1e,9c,ed,04,1e,00,00,00,00,a8,00,/
00,00,48,01,00,00,ef,00,00,00,72,9c,df,0f,44,ec,04,1e,3c,ec,04,1e,4c,88,f7,/
03,34,ba,f8,03,0c,79,08,00,00,00,00,00,89,01,00,00,00,00,00,00,7a,3d,05,1e,/
00,00,00,00,e0,07,02,00,ef,00,00,00,12,ff,ff,ff,48,01,00,00,00,00,00,ff,7a,/
3d,05,1e,00,00,00,00,72,9c,df,0f,00,00,00,00,0c,79,08,00,00,00,00,00,b0,a1,/
01,7c,59,ff,ff,ff,b9,fe,ff,ff,0c,00,00,00,12,ff,ff,ff,89,01,00,00,b0,a1,01,/
7c,00,00,00,00,60,7d,01,7c,00,00,00,00,7a,3d,05,1e,00,00,00,00,60,7d,01,7c,/
01,00,00,00,a4,c3,01,00,89,01,00,00,00,00,01,7c,89,01,00,00,2c,c4,01,00,7a,/
3d,05,1e,00,00,00,00,00,00,04,1e,00,00,00,00,00,00,00,00,00,00,00,00,00,00,/
00,00,00,00,00,00,94,52,f8,03,d8,43,05,00,00,00,00,00,00,00,00,00,50,9c,01,/
7c,0a,00,00,00,00,00,00,00,00,00,00,00,89,01,00,00,b0,a1,01,7c,00,00,00,00,/
00,00,00,00,00,00,00,00,14,5c,01,00,0c,00,00,00,b4,c6,01,00,00,00,00,00,00,/
00,00,00,0a,00,00,00,0a,00,00,00,00,c8,ff,ff,00,c8,ff,ff,7a,3d,05,1e,81,00,/
00,00,b0,b7,33,08,34,ed,04,1e,88,03,08,00,b0,a1,01,7c,89,01,00,00,00,00,00,/
00,7a,3d,05,1e,b0,b7,33,08,0d,00,00,00,81,00,00,00,7a,3d,05,1e,7a,3d,05,1e,/
d0,a0,01,7c,2c,11,08,00,00,00,00,00,0a,00,00,00,00,00,00,00,01,00,00,00,80,/
a3,01,7c,00,00,00,00,1a,36,05,1e,00,00,00,00,00,00,00,00,bc,5a,07,00,1a,36,/
05,1e,00,be,33,08,0d,00,00,00,81,00,00,00,1a,36,05,1e,80,a3,01,7c,6c,e8,07,/
00,98,ed,04,1e,00,00,00,00,0d,00,00,00,0d,00,00,00,54,02,02,00,e8,ed,04,1e,/
ec,ed,04,1e,f0,e5,07,00,0d,00,00,00,00,00,00,00,0d,00,00,00,00,00,00,00,1a,/
36,05,1e,00,00,00,00,e0,07,02,00,ec,ed,04,1e,e4,ed,04,1e,00,00,00,00,00,00,/
00,00,1a,36,05,1e,00,00,00,00,72,9c,df,0f,00,00,00,00,f0,e5,07,00,00,00,00,/
00,80,a3,01,7c,1a,36,05,1e,48,10,08,00,00,00,00,00,d0,a0,01,7c,0d,00,00,00,/
80,a3,01,7c,81,00,00,00,60,7d,01,7c,00,00,00,00,1a,36,05,1e,00,00,00,00,60,/
7d,01,7c,01,00,00,00,00,00,00,00,00,00,00,1e,90,ef,fb,8f,0f,00,00,00,00,00,/
00,00,f8,0c,bf,8f,80,61,a2,8d,20,dc,a8,8f,90,ef,fb,8f,0f,00,00,00,38,fe,00,/
f0,a0,ee,04,1e,a8,7a,24,8c,0f,00,00,00,00,00,00,00,c4,b3,00,f0,64,f0,04,1e,/
4e,00,00,00,00,00,00,00,00,00,00,00,50,9c,01,7c,54,ef,04,1e,ec,4e,24,8c,f1,/
ec,ff,ff,00,00,00,00,00,00,00,00
或者手动创建也可以,手动设置说明如下:
新建拨号,在安全设置中
使用数据加密——不能选
使用可扩展验证协议——不能选
未加密的密码(PAP)——必选
质询握手——无所谓
Microsoft CHAP——无所谓
Microsoft CHAP v2——无所谓
预览用户名和密码——根据自己的情况,如果用API写代码拨号不显示拨号对话框的就不选,如果要显示请选上。编程建议不选,代码比较容易控制。
PPPoE的认证有PAP和CHAP,不过我在wince和在MODEM上实验都必须采用PAP认证才能连接上。

提示:如果拨号等待比较久后见到“远程集中器无响应”的提示,那么好好看看上面的设置吧,多数是前2项有被选上的。

3.拨号代码
主要采用RasDial,RasHangUp等函数控制。具体看下面的参考代码。

//h文件
#if !defined _RAS_PPP_CTRL_H_
#define _RAS_PPP_CTRL_H_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "ras.h"
class CRasCtrl
{
private:
LPVOID m_MsgHandle;
HRASCONN m_hRasConn;
//BOOL bConnect;
//CString m_UserName;
//CString m_PassWord;
CString m_EntryName;
public:
CRasCtrl();
virtual ~CRasCtrl();
//拨号
bool DialUp(CString UserName,CString Password);
//挂断
bool HangUp();
//设置处理方式
void SetHandle(LPVOID _handle);
//通过获取WM_RASDIALEVENT消息,判断拨号状态
//static CString GetState(unsigned int message);
};
#endif

//cpp文件
#include "stdafx.h"
#include "RasCtrl.h"
#include "ras.h"
#include "Raserror.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CRasCtrl::CRasCtrl()
{
m_hRasConn =NULL;
//bConnect =false;
m_EntryName=L"PPPoE";//建立拨号的名字,保持一致
}
CRasCtrl::~CRasCtrl()
{
HangUp();
}
bool CRasCtrl::DialUp(CString UserName,CString Password)
{
RASDIALPARAMS rdParams; //拨号连接的信息
ZeroMemory(&rdParams, sizeof(RASDIALPARAMS));
rdParams.dwSize = sizeof(RASDIALPARAMS);
//HangUp();
//Sleep(100);
//RasSetEntryDialParams(NULL,&rdParams,true);
//RasGetEntryProperties();
wcscpy(rdParams.szEntryName, m_EntryName);
wcscpy(rdParams.szUserName, UserName);
wcscpy(rdParams.szPassword, Password);
//lstrcpy(rdParams.szPhoneNumber, _T(""));
//lstrcpy(rdParams.szDomain, _T(""));
m_hRasConn = NULL;
DWORD dwRet = ::RasDial(NULL, NULL, &rdParams, 0xFFFFFFFF, m_MsgHandle , &m_hRasConn); //如果函数成功,则返回0
//也可以RasHangUp(m_hRasConn);挂断,不过我曾经试过拨号成功m_hRasConn为NULL的情况,一时不清除怎么回事,所以把挂断函数改了。
//RasDial函数的使用要小心一点跟windows平台有些差异。
//DWORD iRet = GetLastError();
if (dwRet)
{
//bConnect = false;
return false;
}
//bConnect = true;
return true;
}
bool CRasCtrl::HangUp()
{
int index; // An integer index
DWORD dwError, // Error code from a function call
dwRasConnSize, // Size of RasConn in bytes
dwNumConnections; // Number of connections found
RASCONN RasConn[20]; // Buffer for connection state data
// Assume the maximum number of entries is 20.
// Assume no more than 20 connections.
RasConn[0].dwSize = sizeof (RASCONN);
dwRasConnSize = 20 * sizeof (RASCONN);
// Find all connections.
if (dwError = RasEnumConnections (RasConn, &dwRasConnSize, &dwNumConnections))
{
return false;
}
// If there are no connections, return zero.
if (!dwNumConnections)
{
return false;
}
// Terminate all of the remote access connections.
for (index = 0; index < (int)dwNumConnections; ++index)
{
//这样做主要是不想关掉usb连接,因为通过这种方法得到的连接中包括了USB同步的连接。
if (wcsstr(RasConn[index].szEntryName,_T("PPPoE"))!=NULL)
{
if (dwError = RasHangUp (RasConn[index].hrasconn))
{
return false;
}
}
}
return TRUE;
}
// 传递接收消息的窗体句柄进来,这样窗体才能接收到WM_RASDIALEVENT消息。
// wParam的值有RASCS_Connected,RASCS_Disconnected等,具体查看msdn
// wince不支持其他方式。
void CRasCtrl::SetHandle(LPVOID _handle)
{
m_MsgHandle = _handle;
}
/*
这个用于解析PPPoE返回的消息的
CString CRasCtrl::GetState(unsigned int message)
{
CString str;
switch(message)
{
... ... ...
case RASCS_Connected:
str= LoadStringEx(IDS_LINKED);
break;
case RASCS_Disconnected:
str= LoadStringEx(IDS_UNLINKED);
break;
}
return str;
}
*/
4.禁止自动拨号。

在platform.reg中添加下面注册表信息
[HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Windows/CurrentVersion/Internet Settings/LAN]
"AutoConnect"=dword:0

注意:如果进行PPPoE 拨号,并用浏览器登陆网页,则网卡的默认网关和DNS、WIS 项都应该设置为0.0.0.0。不然虽然拨号成功,但是会发现无法浏览网页。

4. WINCE5.0 如何设置WIFI

WIFI是不用设置的,只需要打开 然后搜索 搜索到WIFI信号后 链接就可以了 加密的需要输入密码 跟电脑的无线路由的WIFI是一样的

5. WinCE下SQLite数据库如何加密,还有WinCE下对话框如何显示流畅问题!

多表查询应该比较流畅,

6. 在移植了相同WINCE 软件的两个不同的硬件系统中,如何保证应用软件的通用性

请问你指的软件是,上层应用的吗?如果是的话,基本上是通用的,只是有些应用和内核是通过认证来实现匹配的,就是说的加密。另外一个,要显示的话就是图片的分辨率的问题。一般WINCE上层应用都是用贴图来完成的。

7. wince的前景怎么样

搞嵌入式开发的人有两类:一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如BootLoader、 Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果我们学软件的人对硬件原理和接口有较好的掌握,我们完全也可写BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作(目前有很多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是最有"花头"可做的),所以我们搞软件的人完全不用担心我们在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。
从事嵌入式软件开发的好处是:
(1) 目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正在出现(如ARM处理器、嵌入式操作系统、MPEG技术、无线通信协议等),掌握这些新技术的人当然很难找。嵌入式人才稀缺,身价自然就高,越有经验价格就越高。其实嵌入式人才稀少,根本原因可能是大多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流程。
(2) 与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。搞企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都得按客户要求改变,往往疲于奔命,重复劳动。相比而言,搞嵌入式系统的公司,都有自己的产品计划,按自己的节奏行事。所开发的产品通常是通用的,不会因客户的不同而修改。一个产品型号开发完了,往往有较长一段空闲时间(或只是对软件进行一些小修补),有时间进行充电和休整。另外,从事嵌入式软件的每个人工作范围相对狭窄,所涉及的专业技术范围就是那些(ARM、RTOS、MPEG、802.11等),时间长了这些东西会越搞越有经验,卖卖老本,几句指导也够让那些初入道者琢磨半年的。若搞应用软件,可能下一个客户要换成一个完全不同的软件开发平台,那就苦了。
(3) 哪天若想创业,搞自已的产品,那么嵌入式是一个不错的主意,这可不像应用软件那样容易被盗版。我们这届有个同学自己有点此类小生意,具体做什么的没细问, 他每月要进货几千片8位单片机,现在自己已经有车有房了。还有现在开发的饭馆用的点菜PDA(WinCE平台,可无线连网和上网),据说销路不错,饭馆点点PDA让客户点菜,多显派头档次。这些PDA的硬件设计一般都是请别的公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。
从事嵌入式软件开发的缺点是:
(1) 入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。
(2) 这方面的企业数量要远少于企业计算类企业。特别是从事嵌入式的小企业数量较多(小企业要搞自己的产品创业),知名大公司较少(搞嵌入式的大公司主要有 Intel、Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、意法半导体、 Microtek、研华、华为、中兴通信、上广电等制造类企业)。这些企业的习惯思维方式是到电子、通信等偏硬专业找人。
(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。
同学们若学习嵌入式,显然应偏重于嵌入式软件,特别是嵌入式操作系统方面,应是我们的强项。对于搞嵌入式软件的人,最重要的技术显然是(实际上很多公司的招聘广告上就是这样写的):
(1) 掌握主流嵌入式微处理器的结构与原理
(2) 必须掌握一个嵌入式操作系统
(3) 必须熟悉嵌入式软件开发流程并至少做过一个嵌入式软件项目。
在嵌入式软件方面最重要的课程包括:
(1) 嵌入式微处理器结构与应用:这是一门嵌入式硬件基础课程,我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM处理器工作原理和接口技术有充分了解,包括ARM的汇编指令系统。若不了解处理器原理,怎么能控制硬件工作,怎么能写出节省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)?很多公司招聘嵌入式软件人员时都要求熟悉ARM处理器,将来若同学到公司中从事嵌入式软件开发,公司都会给你一本该设备的硬件规格说明书 (xxx Specification),你必须能看懂其中的内存分布和端口使用等最基本的说明(就像x86汇编一样),否则怎么设计软件。有些同学觉得嵌入式处理器课程较枯燥,这主要是硬件课程都较抽象的原因。还有同学对ARM汇编不感兴趣,以为嵌入式开发用C语言就足够了。其实不应仅是将汇编语言当成一个程序设计语言,学汇编主要是为了掌握处理器工作原理的。一个不熟悉汇编语言的人,怎么能在该处理器写出最优的C语言代码。在嵌入式开发的一些关键部分,有时还必须写汇编,如Bootloader等(可能还包括BSP)。特别是在对速度有极高要求的场合(如DSP处理器的高速图像采集和图像解压缩),目前还会用到汇编写程序的,尽管用到的机会相对C要小得多。当你在一个嵌入式公司工作时,在查看描述原理的手册时,可能很多都是用汇编描述的,这是因为很多硬件设计人员只会写或者喜欢用汇编描述,此时你就必须看懂汇编程序,否则软硬件人员可能就无法交流。很多嵌入式职位招聘时都要求熟悉汇编。
(2) 嵌入式操作系统类课程
除了WinCE的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以也可称为实时操作系统Real TimeOperating System。从事嵌入式的人至少须掌握一个嵌入式操作系统(当然掌握两个更好),这在嵌入式的所有技术中是最为关键的了。
目前最重要的RTOS主要包括:第一类、传统的经典RTOS:最主要的便是Vxworks操作系统,以及其Tornado开发平台。Vxworks因出现稍早,实时性很强(据说可在1ms内响应外部事件请求),并且内核可极微(据说最小可8K),可靠性较高等,所以在北美,Vxworks占据了嵌入式系统的多半疆山。特别是在通信设备等实时性要求较高的系统中,几乎非Vxworks莫属。Vxworks的很多概念和技术都和Linux很类似,主要是C语言开发。像Bell- alcatel、Lucent、华为等通信企业在开发产品时,Vxworks用得很多。但Vxworks因价格很高,所以一些小公司或小产品中往往用不起。目前很多公司都在往嵌入式Linux转(听说华为目前正在这样转)。但无论如何,Vxworks在一段长时间内仍是不可动摇的。与Vxworks类似的稍有名的实时操作系统还有pSOS、QNX、Nucleus等RTOS。
第二类、嵌入式Linux操作系统:Linux的前途除作为服务器操作系统外,最成功的便是在嵌入式领域的应用,原因当然是免费、开源、支持软件多、呼拥者众,这样嵌入式产品成本会低。Linux本身不是一个为嵌入式设计的操作系统,不是微内核的,并且实时性不强。
目前应用在嵌入式领域的Linux系统主要有两类:一类是专为嵌入式设计的已被裁减过的Linux系统,最常用的是uClinux(不带MMU功能),目前占较大应用份额,可在ARM7上跑;另一类是跑在 ARM 9上的,一般是将Linux 2.4.18内核移植在其上,可使用更多的Linux功能(当然uClinux更可跑在ARM 9上)。很多人预测,嵌入式Linux预计将占嵌入式操作系统的50%以上份额,非常重要。缺点是熟悉Linux的人太少,开发难度稍大。另外,目前我们能发现很多教材和很多大学都以ucOS/II为教学用实时操作系统,这主要是由于ucOS/II较简单,且开源,非常适合入门者学习实时操作系统原理,但由于ucOS/II功能有限,实用用得较少。况且熟悉了Linux开发,不仅在嵌入式领域有用,对开发Linux应用软件,对加深操作系统的认识也有帮助,可谓一举多得。据我所知,目前Intel、Philip都在大搞ARM+LINUX的嵌入式开发,Fujitum则是在自己的处理器上大搞Linux 开发。目前在嵌入式Linux领域,以下几个方面的人特别难找,一是能将Linux移植到某个新型号的开发版上;二是能写Linux驱动程序的人; 三是熟悉Linux 内核裁减和优化的人。不过LINUX有一个硬伤,就是没有WINDOWS那样的友好方便美观的交互界面,不然微软帝国早就守不住了。
第三类、 Windows CE嵌入式操作系统:Microsoft也看准了嵌入式的巨大市场,MS永远是最厉害的,WinCE出来只有几年时间,但目前已占据了很大市场份额,特别是在PDA、手机、显示仪表等界面要求较高或者要求快速开发的场合,WinCE目前已很流行(据说有一家卖工控机的公司板子卖得太好,以至来不及为客户裁减WinCE)。WinCE目前主要为4.2版(.NET),开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用,由于WinCE开发都是大家熟悉的VC++环境,所以我院学过Windows程序设计课程的同学都不会有多大难度,这也是WinCE容易被人们接受的原因,开发环境方便快速,微软的强大技术支持,WinCE开发难度远低于嵌入式Linux。对于急于完成,不想拿嵌入式Linux冒险的开发场合,WinCE是最合适了(找嵌入式Linux的人可没那么好找的),毕竟公司不能像学生学习那样试试看,保证开发成功更重要。根据不同的侧重点 ,WinCE还有两个特殊版本,一个是MS PocketPC操作系统专用于PDA上(掌上电脑),另一个是MS SmartPhone操作系统用于智能手机上(带PDA功能的手机),两者也都属于WinCE平台。在PDA和手机市场上,除WinCE外,着名的PDA 嵌入式操作系统还有Palm OS(因出现很早,很有名)、Symbian等,但在WinCE的强劲冲击下,Palm和Symbian来日还能有多长?同学学过VC++后再学 WinCE,非常方便自然,通过学习WinCE同样也可了解嵌入式软件的一般开发过程,对Linux有惧怕心理的同学也很合适。很显然,嵌入式Linux 永远不可能替代WinCE,而且将来谁占份额大还很难讲,毕竟很多人更愿意接受MS的平台,就像各国政府都在大力推LINUX已好长时间,但你能看到几个在PC机上真正使用LINUX的用户?据我观察,目前在嵌入式平台上,LINUX是叫得最响,但还是WinCE实际用得更多。嵌入式LINUX可能更多地是一些有长远产品计划的公司,为降低成本而进行长远考虑。WinCE和多媒体(如MPEG技术)是微软亚洲工程院目前做得较多的项目领域之一,现在社会很需要精通WinCE的人。现在有WINCE的智能手机,金山词霸、WORD、EXCEL、REGEDIT等居然都有 smartphone版的,PC上的MP3、DOC等居然在download时都可被自动转换成smartphone格式,很爽的。完全可用 Windows CE自己开发一些需要的程序download到自己的手机上。现在市面销售PDA智能手机火爆,MS总是财源滚滚。
总结关于嵌入式操作系统类课程,若你觉得自己功底较深且能钻研下去,则可去学嵌入式Linux;若你觉得自己VC++功底较好且想短平快地学嵌入式开发,自学WINCE是非常好的选择。
(3) 嵌入式开发的相关领域
搞嵌入式若能熟悉嵌入式应用的一些主要领域,这样的人更受企业欢迎。主要的相关领域包括:
A、数字图像压缩技术:这是嵌入式最重要最热门的应用领域之一,主要是应掌握MPEG编解码算法和技术,如DVD、MP3、PDA、高精电视、机顶盒等都涉及MPEG高速解码问题。
B、通信协议及编程技术:这包括传统的TCP/IP协议和热门的无线通信协议。首先,大多数嵌入式设备都要连入局域网或Internet,所以首先应掌握 TCP/IP协议及其编程,这是需首要掌握的基本技术;其次,无线通信是目前的大趋势,所以掌握无线通信协议及编程也是是很重要的。无线通信协议包括无线局域网通信协议802.11系列,Bluetooth,以及移动通信(如GPRS、GSM、CDMA等)。
C、网络与信息安全技术:如加密技术、数字证书CA以及各种网络安全设备,包括硬件防火墙、入侵检测IDS、还有防毒墙、IPS等,中国在这方面还是没有自己优势的,我们陈院长好象正在往这方面发展。
D、 DSP技术:DSP是Digital Signal Process数字信号处理的意思,DSP处理器通过硬件实现数字信号处理算法,如高速数据采集、压缩、解压缩、通信等。数字信号处理是电子、通信等硬件专业的课程,对于搞软件的人若能了解一下最好。目前DSP人才较缺。如果有信号与系统、数字信号处理等课程基础,对于学习MPEG编解码原理会有很大帮助。
(4)嵌入式开发的相关硬件基础
对于软件工程专业的学生,从事嵌入式软件开发,像数字电路、计算机组成原理、嵌入式微处理器结构等硬件课程是较重要的。另外,汇编语言、C/C++ 数据结构算法、特别是操作系统等软件基础课也是十分重要的。我们的主要目地是能看懂硬件工作原理,但重点应是在嵌入式软件,特别操作系统级软件,那将是我们的优势。我们的研究生里有些是学电子、通信类专业过来的,有较好的模拟电路和单片机基础,学嵌入式非常合适。
嵌入式本身就是从单片机发展过来的,只是单片机不带OS,而现在很多嵌入式应用越来越复杂,以至不得不引入嵌入式操作系统。另外,为追求更高速的信号处理速度,现在在一些速度要求较高场合,有不少公司是将一些DSP算法,如MPEG压缩解压缩算法等用硬件来实现,这就涉及到HDL数字电路设计技术及其 FPGA/IP核实现技术,这方面的人目前市场上也很缺。

关注更多嵌入式请到华清远见

8. Qt 开发的Wince程序,如何加密,做成需要注册

不知道你说的是不是这个样子

9. 国内现在的手持机都支持什么操作系统有哪些手持机是支持WINCE系统的

江苏智联天地科技有限公司-----圆通快递、中铁快运、朔黄铁路、首都机场等企业手持机提供商。业内唯一有大型应用案例的安卓系统手持机厂家,推出国内首款基于Andriod系统、3G网络的工业手持机Simphone N1/N2。 功能全面 1、配备丰富的传感器: 一维、二维条码扫描,采用进口MotorolaSE955激光扫描头。 电子标签RFID、支持RFID13.56M和915M可选 高清500万自动对焦摄像头,完美拍摄高清图片 GPS+AGPS双定位系统,结合GIS系统,可实现语音、视频及地理信息联通。 具备语音集群对讲功能,可以进行语音和视频实时传输。 2、支持各种安全数据高速传输: WiFi、蓝牙、USB数据线等传输 3、支持数据加密功能 支持SD卡扩展(可加密) 4、支持刷卡支付打印功能(外接) 优势特点 1、采用先进的Android操作系统,在此基础上课开发工作业 务规范化、标准化的业务软件及OA系统; 1、 4000mAh大电池容量,待机3天以上,人员可长期在外作业 2、 IP67高等级防水防摔,可在水下1.5米深处工作(半个小时以内),适合环境恶劣的室外作业 3、 基于网络的外置按键集群对讲系统(快速响应、支持WIFI、无需电话费),支持视频实时上传业务; 4、 -20℃~50℃的高低温工作环境,完全适应东北极寒天气 5、 支持丽音技术,在嘈杂环境下仍可正常通话;双麦克风设计,加大型陶瓷天线设计 6、 采用3.5寸透光电阻屏,在户外阳光直射、雨淋、冬季戴手套的情况仍可正常使用; 7、 强聚光手电筒,夜间工作方便

10. wince5.0和6.0有什么区别

WinCE6.0与5.0的区别

Windows CE6.0重新设计了Kernel,和Windows CE 5.0相比较支持的进程数从32个扩展到32000 ,每个进程的地址空间从32MB扩展到2GB ,很多系统模块(如文件系统和设备管理器)将运行在kernel模式,OAL也从kernel独立出来,driver可以运行在kernel模式和user模式。

Visual Studio 2005专业版将包括一个被称为Platform Builder的功能强大的插件,它是一个专门为嵌入式平台提供的“集成开发环境”。这个集成开发环境使得整个开发链融为一体,并提供了一个从设备到应用都易于使用的工具,极大地加速了设备开发的上市 。

Windows Embedded CE 6.0加入了新的单元核心数据和语音组件 , Windows CE 6.0大幅改变了核心寻址以及资源分配的机制,旧版CE同时间只能有32个程序执行于各自分配的32MB虚拟存储器空间中,6.0版则是大幅放宽了限制,最大可同时执行32,000个程序,而且每个程序可拥有独立分配的2GB虚拟存储器,在此同时,核心服务、硬件装置的驱动程序、视窗绘图以及事件子系统、档案系统等服务都被转移到系统核心保留空间中。不过这样的改变也会带给使用者疑虑,毕竟过去NT 4.0就曾经上演过类似的戏码,将驱动程序从使用者模式转移到核心模式,虽然可以大幅改进应用的速度,但是一个体质不良的驱动程序,可能就会拖垮整个系统,因此在硬件驱动程序的开发上,就必需要有个有效标准来规范,最好还要导入如WHQL之类的驱动程序验证服务,以避免影响整个系统的稳定性。

Windows CE 6.0的新变革

Windows CE 6.0依旧把眼光投注在ARM架构中,新的BSP与编译器也都支持了ARM的最新体系,而6.0版也是微软首个导入ExFAT的操作系统, ExFAT在Windows CE 6.0中,担当了总管所有外接储存媒体的中界层的角色,广为产业界所称赞的是,这能够解除过去传统FAT档案系统的32GB单一容量限制。

ExFAT同样也解除了单一档案只能在2GB以下的限制,这对于硬件厂商以Windows CE发展大容量储存管理伺服架构,有着相当大的帮助。加上一些安全机制,我们可以把ExFAT视为Windows CE 6.0上的NTFS加强版。

VoIP也是Windows CE 6.0另一个持续加强的重点,除了在应用程序层的整合更进一步以外,操作系统核心也具备直接支持的能力,因此硬件开发上可以更容易的在Windows CE环境上进行各种网络的语音通讯服务。而因应这样的趋势,6.0版自然也把过去5.0版的缺失补正过来,在网络堆叠协定方面,直接支持了802.11i、WAP2、802.11e(无线QoS)、蓝牙A2DP/AVRCP的AES加密等等,为无线通讯建立了一个稳定、安全以及可靠的应用环境。而从使用者观点来看,Windows CE 6.0扩展了超越以往版本总和的承诺,这些功能包括了最新的多媒体能力,诸如Windows Media 10/11的支持、,对于网络多媒体装置的原生整合能力,在Platform Builder开发工具中,甚至也加入了行动媒体中心的支持,可以借由Windows Media Connect 2.0大幅强化多媒体应用的支持能力,并且可以与其它微软的操作系统或硬件装置做同步统合的动作。这些功能包含了以下项目:

■ TIFF编解码器的支持
■ HD-DVD的解码器支持
■ MPEG-2解码器
■ 更多的影音编码与格式支持
■ UDF 2.5格式的支持
■ 虚拟环绕声道的支持
■ 多轨音效的支持
■ 强化DirectDraw,可支持电视使用的交错显示模式
■ USB OTG功能加入,可作为USB的控制端

虽然在核心部分做出这么大的更新,但是Windows CE 6.0的储存上并没有如微软其它操作系统般的飞涨(Vista甚至需要超过10GB的初始储存安装空间!),相较起5.0版,6.0在体积上也不过增加了5%左右,虽然这对嵌入式系统产业来说是理所当然,但对于微软可以说是另一项奇迹。

Windows CE 6.0带给开发者的好处
在开放原始码的历史中,微软要写下另一个新的里程碑,100%对产品开发者释放出原始码,且可允许厂商进行自订的变更或订做,而无须释放出经过修改的程序码,虽然在广义上并不能视为真正开放,但是为这些喜欢藏私留一手的厂商来说,无疑是增加竞争力的最佳手段之一。而作为开发工具的Visual Studio 2005 PRO将会作为Windows CE 6.0的整体套件之一,内建的许多开发工具与定义对于开发者来说相对便利许多。
Windows CE 6.0支持了Windows .NET Compact Framework 2.0作为应用程序管理开发以及Win32、 MFC、 ATL、 WTL和STL等程序开发界面提供给开发原生应用程序的开发者使用。具备了如此势力庞大以及完整的开发环境作为支持,开发者与制造商也可确保后续的支持不虞匮乏。
而在硬件方面,在不变更原有的硬件架构之下,导入Windows CE 6.0可以大幅改善原有程序的执行效率,并且也容许同时间有更多程序同步执行,由于每个程序都具备有独立的执行空间,特定程序当掉,也不会影响到其它应用程序或系统执行,提供给使用者比起以往旧版系统更强的稳固性与更大的弹性。而目前逐渐风行的多核心处理架构上,Windows CE 6.0也可以在不变更程序开发者原有程序模型的状况之下,提供最佳化的核心工作自动分配与指定,当然,如果有需求的话,程序开发者依然可以自行决定指定核心的方式。

WinCE6.0 R3新特征
Windows Embedded 6.0 R3是在Windows CE 6.0 R2的基础上,增加了下列技术:

Silverlight for Embedded

Internet Explorer Embedded浏览器

Flash Lite支持

手势识别Gesture API

Connection Manager

Mobile QQ

Office Viewer

其中Internet Explorer Embedded是由Windows Embedded中国研发团队单独开发的。而Mobile QQ是由腾讯公司开发整合的。

新增了Silverlight for Windows Embedded ,此项功能是 Microsoft Silverlight 技术不依赖于浏览器的本机代码执行,用于为基于 Windows Embedded CE 6.0 R3 的设备打造丰富的用户界面。比如,在Expression Blend下,可以更容易的进行视图开发,通过XRCustom UserControlImpl类就可以简单创建一个自定义控制,用于控制高清视图的大小、颜色和动态画面等众多的常用操作。现在原始设备制造商能够独立设备上用户体验设计和核心功能开发,通过缩短应用开发时间帮助提高上市流程效率,从而实现简化的用户界面定制,并让设计人员和开发人员能够专注于他们的核心能力。现在可以由专门的开发人员来使用Silverlight、Microsoft Expression Blend和Internet Explorer Embedded技术开发高清内容。

作为Windows 7世代的产品,他提供了与Windows 7的连通性——Windows 7 Device Stage 驱动端口。并且开发者和OEM厂商还以通过Microsoft Connection Manager(微软链接管理器)实现设备和PC间的连接。同时新增的office和PDF查看器也丰富了互连体验。

Flash Lite组件的支持,使得WinCE有了播放FLASH动画和视频的能力,增强了用户体验。

热点内容
认证类型加密算法 发布:2025-05-11 08:58:35 浏览:559
android停靠 发布:2025-05-11 08:42:23 浏览:645
超时代加密 发布:2025-05-11 08:41:29 浏览:780
为什么还要输入支取密码 发布:2025-05-11 08:32:24 浏览:362
数据库课程设计案例 发布:2025-05-11 08:15:33 浏览:51
为什么安卓不能通过蓝牙传东西 发布:2025-05-11 08:15:27 浏览:717
tomcat下载linux 发布:2025-05-11 07:47:06 浏览:792
phpcookie设置时间 发布:2025-05-11 07:36:15 浏览:111
固态硬盘需要缓存吗 发布:2025-05-11 07:29:09 浏览:606
松江换门密码锁哪里有 发布:2025-05-11 07:23:21 浏览:327