WCE6.0 一些问题

一、修改注册表校正触摸笔...2

二、屏蔽鼠标...3

三、LCD关屏,背光注册表值...3

四、kitl环境...3

五、按键...6

六、开机logo.6

七、wince6.0开发环境搭建...7

八、应用程序连接不上开发板...8

九、wince中查看驱动信息...8

十、WINCE应用程序开发流程...9

十一、 YC5.6寸屏配置参数...29

十二、处理触摸屏抖动的一些方法...30

十三、YC8寸屏配置参数...30

十四、开机运行自己的程序...32


一、修改注册表校正触摸笔

1、 在开发板上点击“控制面板à笔针à校准选项à再校准”。

2、  在开发板上找到注册表[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]记录下CalibrationData中的值。

7寸屏上是“2097,2109556,687 516, 3526 3645,3583 3593,781”

;8''

"CalibrationData"="2122,20393163,2767 3122,1287 1083,1293 1092,2754"

;8''

#define TSP_ADC_DELAY           (4000)    // 40000,default:10000

#define TSP_SAMPLE_NUM            (20)  //default:8                                

"CalibrationData"="2094,19852985,2627 3000,1298 1169,1338 1164,2669"

"CalibrationData"="2160,2054 3018,2642 3020,14121347,1479 1306,2667"

"CalibrationData"="2077,20393129,2676 3091,1378 1036,1400 1032,2678"

3、  在platform.reg中找到

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]

"DriverName"="touch_1wire.dll"

"MaxCalError"=dword:7

;"CalibrationData"="2007,20633398,525 581,526 592,3543 3422,3567"

"CalibrationData"="2007,20633398,525 581,526 592,3543 3422,3567"            

 

将CalibrationData中的值换成开发板上经过校验的值(第二步中已经记录下来了)。

 

4、  使用makeimg重新生成NK并烧写系统。

 

经过以上操作以后每次烧写的系统都是经过校准的了。


二、屏蔽鼠标

1、屏蔽鼠标可以在程序里实现ShowCursor(SW_HIDE);//隐藏鼠标

 

2、也可在定制系统的时候找到Core OSàCEBASEàShell and User InterfaceàUser InterfaceàGestureàMouse取消前面的选择即可。

 

 

三、LCD关屏,背光注册表值

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\LCD]

  "Prefix"="LCD"

  "Dll"="LCD.dll"

   "Index"=dword:1

  "Order"="200"

 

[HKEY_CURRENT_USER\ControlPanel\Backlight]

  "OnOff"=dword:00000001

  "BatteryBrightness"=dword:00000010

  "ACBrightness"=dword:00000010

  "ACTimeoutUnchecked"=dword:00000000 ;Temporary store ACTimeout

  "BatteryTimeout"=dword:78 ;unit is sec

  "BacklightOnTap"=dword:1

  "ACTimeout"=dword:258

  "ACBacklightOnTap"=dword:00000001

  "BatteryTimeoutUnchecked"=dword:00000000 ;Temporary storeBatteryTimeout

  "ExtOnOff"=dword:00000001

 

四、kitl环境

1、SMDK6410.bat

set BSP_KITL=USBSERIAL

set BSP_NOUSBFN=1

 

2、kitl.c

if((pArgs->flags &OAL_KITL_FLAGS_ENABLED) == 0)

    {

//       RETAILMSG(1,(TEXT("KITL was Disabled from EBOOT !!\r\nPlease setKITL Configuration in EBoot !!\r\n")));

//       return FALSE;

    }

不返回,开启kitl

 

3、kitl.cfg

 

#if   defined(KITL_SERIAL_UART0)

//#define KITL_SERIAL

//#define UART_KITL_IOBASE    (S3C6410_BASE_REG_PA_UART0)

 

屏蔽以上两句,不用串口0作为kitl,使用usb

 

增加下面一句,使用usb

#define KITL_USBSERIAL // Add by MySelf

 

4、Kitlusbser.c

强制设定为DeviceMode

/* if (ucMode == INT_DEV_MODE)

    {

       OTGDEV_SetSoftDisconnect();

        delayLoop(10);

       OTGDEV_ClearSoftDisconnect();

       OTGDEV_InitDevice();

    }

    else

    {

       EdbgOutputDebugString("Error : Current Mode is Host\n");

        return;

    }*/

 

    ucMode= INT_DEV_MODE; //强制设定为从模式

    if(ucMode ==INT_DEV_MODE)

    {

        OTGDEV_SetSoftDisconnect();

        delayLoop(10);

        OTGDEV_ClearSoftDisconnect();

        OTGDEV_InitDevice();

    }

 

5、打开wince6 工程—》property---》Build Options做如下选择

 

 

 

6、打开Target---》Connectivity Options 做如下配置

7、编译内核下载到核心板运行

 

 

五、按键

友善6410提供的wince6.0的BSP中关于按键的驱动为userkey。该驱动能识别用户按下按键的动作,在wince中使用的时候可以在一个线程(该线程随应用程序同时启动和关闭)中检测用户按键按下的动作,然后通过keybd_event函数执行响应的功能,如:keybd_event(VK_LEFT,0,0,0);就实现了左方向键的功能,该函数对当前活动窗口有效。

 

 

六、开机logo

Tiny6410  7寸屏支持24位位图,256色大小为800 X 480的BMP图片。

 

 


七、wince6.0开发环境搭建

       Windows CE6.0开发环境需要安装的软件比较多、比较大,而且有着严格的安装顺序要求,一旦其中某一个环节出错,都会导致软件运行出现故障,为确保安装顺利,请仔细阅读本文,按照步骤一步一步进行安装。

1. 所需安装软件

       Visual Studio 2005

       Visual Studio 2005   ServicePack 1

       MSDN(应用开发帮助)

       Windows Embedded CE6.0

       Windows Embedded CE 6.0 Platform BuilderService Pack 1

       WINCE6.0 R2

       SDK

Mini6410-WinCE6-Suite

2. 所用磁盘空间

在安装之前,请检查电脑的磁盘空间,VS2005和Windows Embedded CE6.0均是比较大的软件,要占硬盘好10G多的空间,建议不要装在C盘,但是我装WindowsEmbedded CE6.0的时候,发现不能更改安装路径,没办法,只能把Windows Embedded CE6.0装在C

安装程序所用磁盘空间

序号

软件名称

占用磁盘空间(G)

1

Visual Studio 2005

1.86

2

Visual Studio 2005 sp1

--

3

MSDN

0.93

4

Windows Embedded CE6.0

8.3

5

Windows Embedded CE6.0 SP1

0.35

6

Windows Embedded CE6.0 R2

1

Visual Studio 2005 sp1的安装源程序大小是430M,安装后具体大小不清楚。

其余几项占用磁盘空间比较小,在此就不一一说明了。

3 安装顺序

3.1 安装VisualStudio 2005

最好选择自定义安装方式,把不用的一些组件都删掉,这样会节省不少的磁盘空间。WINCE6.0Platform Builder不像WINCE5.0是独立的,而是作为VS2005的插件,以后建立和定制OS、编译调试全部在VS2005里完成。

3.2安装Visual Studio 2005 Service Pack 1

3.3安装MSDN

MSDN 的全称是 MicrosoftDeveloper Network。这是微软公司面向软件开发者的一种信息服务。MSDN 实际上是一个以 Visual Studio  Windows 平台为核心整合的开发虚拟社区,包括技术文档、在线电子教程、网络虚拟实验室、微软产品下载(几乎全部的操作系统、服务器程序、应用程序和开发程序的正式版和测试版,还包括各种驱动程序开发包和软件开发包)、BlogBBSMSDNWebCast、与 CMP 合作的 MSDN 杂志等等

3.4安装Windows Embedded CE6.0

直接双击Windows Embedded CE6.0.msi进行安装。在选择CPU类型时,根据您目标硬件平台来选择,考虑节省磁盘空间,建议只选ARMV4I和X86,这样可以节省不少的磁盘空间。安装时需要输入产品序列号。

Windows Embedded CE6.0 (plug-in for Visual Studio 2005):

 H8RQR-MMKRP-XFRFC-9HKGJ-82R6J,网上很多人说是正版的,我也用的是这个。

可在http://www.microsoft.com/windows/embedded/eval/trial.mspx网站上下载一套完整的180天免费试用版Windows Embedded CE 6.0

3.5安装Windows Embedded CE 6.0 Platform Builder Service Pack 1

直接双击Windows Embedded CE6.0 Platform Builder Service Pack 1.msi进行安装。

3.6安装WINCE6.0R2

 

八、应用程序连接不上开发板

(1)关掉VS2005。
(2)在C:\Documentsand Settings\yourname\Local Settings\Application Data\Microsoft\CoreCon
有个叫1.0的文件夹。删掉
(3)重启VS2005

 

九、wince中查看驱动信息

在wince中查看驱动信息方法:PB的Build window 中输入dumpbin/exports XXX.dll

 

十、WINCE应用程序开发流程

1概述

文档结构

该文档主要是运用VS2005(VisualStudio 2005)软件创建一个wince6.0内核(OSDesign),并详述创建流程;在生成wince6.0内核的基础上再导出相应的SDK(软件开发工具);然后安装SDK,在安装SDK的VS2005的环境中建立应用程序,编译应用程序。

 

 

 

 

 

 

 

在已建立的WINCE6.0OS Design内核基础上,我们还需添加组件来完善WINCE6.0OS Design内核,然后我们将导出的SDK的库就丰富,因为选择的组件越多,将来生成的SDK库就越多,但选择的组件越多会影响系统性能。

下面就是在添加组件:

 

第一步:首先用VS2005打开WINCE6.0(OS Design)内核的工程文件如下图:

会弹出相应的组件信息:如下图

然后点开Core OS选项:如下图

勾选上Core OS---->CEBASE--->Application-EndUser-àActiveSync和CAB FileInstaller    这两个主要是同步组件和安装组件

 

接着在Core OS---->CEBASE-àApplicationsand Services Development勾选下面的组件:如下图

接着在Core OS---->CEBASE-àCommunicationservices and Networking-----àNetworking-General勾选下面组件:

 

接着在Core OS---->CEBASE-àCommunicationservices and Networking-----àNetworking-Local  Area Network勾选下面的组件:

 

接着在Core OS---->CEBASE-àCommunicationservices and Networking-----àNetworking-Wide Area  Network(WAN) 如下图:

 

 

 

 

 

 

 

 

 

接着在Core OS---->CEBASE-àCoreServices--à下,勾选下面的组件,如下图:

 

 

 

 

 

 

 

接着在Core OS---->CEBASE-àFileSystem and Data Store下,勾选下面的组件,如下图:

 

 

 

 

 

 

 

 

接着在Core OS---->CEBASE-àInternetClient Services下,勾选下面的组件,如下图:

 

 

 

 

 

 

 

接着在Core OS---->CEBASE-àShelland User Interface下,勾选下面的组件,如下图:

接着在Device Driver--àUSB Function下,勾选下面的组件,如下图:

 

接着在Third Party---àBSP----àAT91SAM9261EK_BIN----àDeviceDrivers下,勾选下面的组件,如下图:

 

接着在ThirdParty---àBSP----àAT91SAM9261EK_BIN----àStorageDrivers

下,勾选下面的组件,如下图

 

 

然后点击Solutions Explorer 如下图:

然后编译该OS工程, 如下图:

 

 

编译以后就可以编译SDK,点击SDK图标,然后右击,如下图:

 

 

然后进行相关的设置 如下图:

 

 

 

 

 

 

 

最后点击确定

 

然后便可以编译生成SDK

 

 

下面就是安装SDK,在安装SDK时请关闭VS2005软件。

找到相应的AT9261SDK_V004.msi文件,然后直接安装

等待安装完成,然后打开VS2005进行检查,检查方式为:在VS2005运行“Tools“菜单上的”Connect to Device”命令,确认在“Connect to Device”对话框的“Device”窗口列表中是否有”AT9261SDK_V004”一项,如果有,则说明SDK安装ok

 

 

下面介绍的便是如何建立应用程序

首先打开VS2005软件,然后新建  如下图:

然后点击OK

设置相关的设置,如下图:

 

接着选择相应的平台,如下图

接着选择对话框如下图:

 

 

 

 

 

 

然后单击Finish,然后就跟开发一般的软件就可以写代码,然后编完代码后编译生成 .EXE文件,最后通过ActiveSync部署到板子上运行.(所以要装ActiveSync软件,在MCUZONE提供F:\AT91SAM9261\AT91SAM9261\配套软件\ActiveSyn文件下)

 

十一、 YC5.6寸屏配置参数

#elifdefined(LCD_T56

#defineLCD_WIDTH  640

#defineLCD_HEIGHT 480

 

#defineLCD_VBPD_VALUE  11

#defineLCD_VFPD_VALUE  32

#defineLCD_VSPW_VALUE  2

#defineLCD_HBPD_VALUE  134

#defineLCD_HFPD_VALUE  16

#defineLCD_HSPW_VALUE  10

 

//#defineLCD_VBPD_VALUE   /*11*/((33-1)&0xff)

//#defineLCD_VFPD_VALUE   /*32*/((10-1)&0xff)

//#defineLCD_VSPW_VALUE   /*2*/((2-1) &0x3f)

//#defineLCD_HBPD_VALUE   /*134*/((48-1)&0x7f)

//#defineLCD_HFPD_VALUE   /*16*/((16-1)&0xff)

//#defineLCD_HSPW_VALUE   /*10*/((96-1)&0xff)

 

#defineLCD_RGB_OUT_MODE  /*DISP_24BIT_RGB888_P*/DISP_16BIT_RGB565_P

#defineLCD_VCLK_POLARITY IVCLK_FALL_EDGE

#defineLCD_HSYNC_POLARITY IHSYNC_LOW_ACTIVE

#defineLCD_VSYNC_POLARITY IVSYNC_LOW_ACTIVE

#defineLCD_VDEN_POLARITY IVDEN_HIGH_ACTIVE

#defineLCD_PNR_MODE      PNRMODE_RGB_P

#defineLCD_VCLK_SOURCE   CLKSEL_F_LCDCLK

#defineLCD_VCLK_DIRECTION CLKDIR_DIVIDED

#defineLCD_FRAME_RATE    53 //default:80

#defineLCD_TFT_CLKVAL    5 //default:4 

 

 

屏幕校准值"CalibrationData"="2115,2033 1313,2921 2918,29152920,1159 1305,1171 "

 

十二、处理触摸屏抖动的一些方法

我使用的是tiny6410。本来触摸屏用的是他们公司的一线触摸,后来换了屏使用的是ADC触摸驱动,发现有抖动。经过对touch驱动一些修改消除了抖动。下面是修改的具体内容。

1 增加单位时间内的采样点数,#define TSP_SAMPLE_NUM           (20) //default:8

2 调整采样点筛选阈值,就是这个值#define TSP_INVALIDLIMIT        (30),这个值可以过滤一些偏差很大的点,可以适当调小一些。

3 通过算法,使采样点的平均值更合理。对所有采样点,去掉最小和最大的几个,留下中间的几个值取平均,。

4 比较当前xy值和前一次的xy值,若相差在一定范围内则判定为同一点。阈值根据情况确定。这个是在网上看到的一篇文章,我做了一下,效果不错。

十三、YC8寸屏配置参数

一、C:\WINCE600\PLATFORM\SMDK6410\SRC\INC\options.h中做如下修改

#elif defined(LCD_L80)

#define LCD_WIDTH   800

#define LCD_HEIGHT  600

#define LCD_VBPD_VALUE   ((23)&0xff)

#define LCD_VFPD_VALUE   ((1)&0xff)

#define LCD_VSPW_VALUE   ((1) &0x3f)

#define LCD_HBPD_VALUE   ((46)&0x7f)

#define LCD_HFPD_VALUE   ((16)&0xff)

#define LCD_HSPW_VALUE   ((1)&0xff)

#define LCD_RGB_OUT_MODE   DISP_16BIT_RGB565_P

#define LCD_VCLK_POLARITY  IVCLK_FALL_EDGE

#define LCD_HSYNC_POLARITYIHSYNC_LOW_ACTIVE

#define LCD_VSYNC_POLARITYIVSYNC_LOW_ACTIVE

#define LCD_VDEN_POLARITY  IVDEN_HIGH_ACTIVE

#defineLCD_PNR_MODE       PNRMODE_RGB_P

#define LCD_VCLK_SOURCE    CLKSEL_F_LCDCLK

#define LCD_VCLK_DIRECTION CLKDIR_DIVIDED

#define LCD_FRAME_RATE     80

#define LCD_TFT_CLKVAL     4   

 

二、在s3c6410_touch.cpp中修改定义

#define TSP_ADC_DELAY            (4000)    //40000,default:10000

#define TSP_ADC_PRESCALER        (24)        // 49 // 200default:24

//#define TSP_ADC_PRESCALER        (15)        // 15 // 49 // 200

 

#define TSP_SAMPLE_RATE_LOW    (50)       // 50 Samples per Sec

#define TSP_SAMPLE_RATE_HIGH    (50)   // 100 Samples per Sec

 

#define TSP_TIMER_DIVIDER        (1)

#define TSP_TIMER_CNT_LOW        (S3C6410_PCLK/SYS_TIMER_PRESCALER/TSP_TIMER_DIVIDER/TSP_SAMPLE_RATE_LOW-1)

#define TSP_TIMER_CNT_HIGH        (S3C6410_PCLK/SYS_TIMER_PRESCALER/TSP_TIMER_DIVIDER/TSP_SAMPLE_RATE_HIGH-1)

 

#define TSP_INVALIDLIMIT        (40) //default40

 

#ifdef NEW_FILTER_SCHEME

#define TSP_FILTER_LIMIT        (3)

#else

#define TSP_FILTER_LIMIT        (25)

#endif

 

#ifdef DETAIL_SAMPLING

#define TSP_SAMPLE_NUM            (20)  //default:8

#else

#define TSP_SAMPLE_NUM            (4)

#endif

 

 

 

 

十四、开机运行自己的程序

 

如何让WINCE系统启动直接运行自己的程序

 

发布日期:2007-2-26 12:28:02   作者:   出处:

 

 

 

WINCE系统启动直接运行自己的程序

1.        假定Windows CE.NET目标工程目录为D:\WINCE420\PUBLIC\MyWinCE,并且工程已经Build成功,假定Windows CE.NET的应用程序为MyApp.exe;
2.        将MyApp.exe复制到D:\WINCE420\PUBLIC\MyWinCE\SAMSUNG_SMDK2410_ARMV4Release目录下;
3.        修改MyWinCE工程的project.bib文件,在FILES Section添加如下内容:
MyApp.exe $(_FLATRELEASEDIR)\MyApp.exe NK H
4.        创建快捷方式文件MyApp.lnk,文件内容如下:
10#\Windows\MyApp.exe
MyApp.lnk文件也放入D:\WINCE420\PUBLIC\MyWinCE\SAMSUNG_SMDK2410_ARMV4Release目录下;
5.        修改MyWinCE工程的project.bib文件,在FILES Section添加如下内容:
MyApp.lnk $(_FLATRELEASEDIR)\MyApp.lnk NK H
6.        修改MyWinCE工程的project.dat文件,添加如下内容:
Directory("\Windows\Startup"):-File("MyApp.lnk","\Windows\MyApp.lnk")
7.        修改MyWinCE工程的platform.bib文件,在FILES Section添加如下内容:
MyApp.exe                $(_FLATRELEASEDIR)\MyApp.exe                                NK        H
MyApp.lnk                $(_FLATRELEASEDIR)\MyApp.lnk                                NK        H
8.        Platform Builder IDE:【Build】->【Make Image】(记得千万不要Build或者Rebuild)
9.        成功后,得到的NK.bin(或NK.nb0)就包含了应用程序MyApp.exe和MyApp.lnk,当把相应的内核烧入开发板MyApp程序就会在系统启动时自动运行。
    虽然MyApp可以自己启动了,但每次启动的时候,总是微软的桌面先出来,再启动我们的程序,感觉还是不伦不类。对此,我们可以使用startup的快捷方式再加上隐藏任务栏的方法,效果非常的好,具体操作是:
1)        首先新建工程,把你的应用程序放到内核里面去(前面介绍了如何做);
2)        编译平台;
3)        修改shell.reg的文件:在文件中有这样一行:
[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
把这个explorer.exe改成你的应用程序(比如:MyApp.exe)就可以了;
4)        Platform Builder IDE:【Build】->【Make Image】(记得千万不要Build或者Rebuild)
5)        成功后,得到的NK.bin(或NK.nb0)就包含了应用程序MyApp.exe和MyApp.lnk,当把相应的内核烧入开发板MyApp程序就会在系统启动时自动运行。

 

 

WinCE 应用程序开机自动运行的又一种方法

 

发布日期:2007-5-24 9:29:21   作者:未知   出处:不详

 

 

 

近日在开发过程中遇到WinCE应用程序开机自动运行的问题,在网上找了找,发现大概有以下三种方法:

1、 将应用程序和应用程序快捷方式添加到映像里,再将快捷方式添加到StartUp目录下,这样当系统运行后应用程序就能自动运行;

2、 直接替换Wince的SHELL,即修改注册表:

[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00

把这个explorer.exe改成你的应用程序(比如:MyApp.exe);

3、 把应用程序加入到映像,修改注册表:

[HKEY_LOCAL_MACHINE\init]
"Launch80"="MyApp.exe" 
"Depend80"=hex:1E,00

可以设置启动顺序和依赖程序;

以上方法都可行,但是都存在一个问题,就是应用程序是集成到NK里面的,也就是说每次升级应用程序都要重新编译下载内核,很麻烦,尤其在程序调试阶段,大家都希望把应用程序放在SD卡上,这样更新起来比较容易;据说通过第三种方法可以实现,即修改"Launch80"="MyApp.exe"为"Launch80"="\STDCard\MyApp.exe"( STDCard为SD卡目录),但是我试了一下没有成功,因为Launch80运行时SD卡的文件驱动还没有加载,找不到MyApp.exe文件。同样,采用快捷方式加载SD卡里的应用程序也不可行。
所以我采用了另一种方法,自己编了一个小程序,比如叫ShellExe.exe,将此程序加入到映像里,通过StartUp快捷方式调用ShellExe,ShellExe再去调用SD卡里的应用程序,具体实现步骤如下:
1、 在eVC下编译如下代码: 

int WINAPI WinMain(HINSTANCE hInstance,  HINSTANCE hPrevInstance,  LPTSTR    lpCmdLine,  int       nCmdShow){ WIN32_FIND_DATA fd; HANDLE hd=INVALID_HANDLE_VALUE; int iCount = 20; while(iCount--) {  hd=::FindFirstFile(lpCmdLine,&fd);  Sleep(500);  if(INVALID_HANDLE_VALUE!=hd) break; } if(0==iCount) return 0; FindClose(hd); SHELLEXECUTEINFO ShExeInfo={0}; ShExeInfo.cbSize=sizeof(SHELLEXECUTEINFO); ShExeInfo.fMask=SEE_MASK_NOCLOSEPROCESS; ShExeInfo.hwnd=NULL; ShExeInfo.lpVerb=NULL; ShExeInfo.lpFile=lpCmdLine; ShExeInfo.lpParameters=L""; ShExeInfo.lpDirectory=NULL; ShExeInfo.nShow=SW_SHOW; ShExeInfo.hInstApp=NULL; ShellExecuteEx(&ShExeInfo); return 0;}
  生成ShellExe.exe的可执行文件,此段代码主要功能是查找指定的应用程序,然后执行;下面这段代码可以保证在SD卡文件系统正确加载后才去执行应用程序;
while(iCount--){ hd=::FindFirstFile(lpCmdLine,&fd); Sleep(500); if(INVALID_HANDLE_VALUE!=hd) break;}
文件的名称和路径由命令行参数指定:
ShExeInfo.lpFile=lpCmdLine;
2、 新建一个快捷方式,如Autorun.lnk,按如下方式编辑其内容:

21#\windows\shellexe.exe \stdcard\MyApp.exe
其中\stdcard\MyApp.exe应用程序的绝对路径;

3、 将MyApp.exe和Autorun.lnk添加到NK里,方法是在project.bib文件内加入如下内容:

ShellExe.exe f:\WINCE420\PBWORKSPACES\LioetEnTer\RelDir\ShellExe.exe NK SAutorun.lnk f:\WINCE420\PBWORKSPACES\LioetEnTer\RelDir\Autorun.lnk NK S
注意:ShellExe.exe的属性不能带H(隐藏).

4、 在project.dat里加入如下内容:

Directory("\Windows\Startup"):-File("Autorun.lnk","\Windows\Autorun.lnk")
5、 选择Make Image生成映像(当然Build也可以,就是慢点儿),烧到FLASH里,开机运行,可以看到SD卡里的MyApp.exe被正确执行。

总结

  这种方法用起来比较方便,ShellExe.exe不用每次都重新编译,只要根据应用程序路径修改Autorun.lnk即可,可以加载Flash、U盘、SD卡里的应用程序。调试及升级应用程序就不用重新烧写内核了

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值