none
pb 5.0中build os 菜单使用方法 RRS feed

  • 问题

  •  

    1,sysgen

    2,build and sysgen

    3,build and sysgen current bsp 

    4,clean before building

    5,copy files to release directory after build

    6,make run-time image after build

    --------------------------------------------------------------------------------------------------------------------

    新建一个平台,选好要的驱动后,我一般选择1,5,6。

    同一个平台如果我再添东西的话,就选1,4,5,6。

    同一个平台如果我修改了bsp里的东西,就选1,4,5,6;如果结果不能用,我会考虑3,4,5,6或2,4,5,6。

    如果安装了升级包,第一次我会用2,4,5,6。这个要大约90分钟。

    不知道我的做法有什么问题没?

    ------------------------------------------------------------------------------------------------------------------------

    我提问题的原因:

    最近我新建了一个平台,选好驱动后,选择1、5、6,没有出错,bootloader下到板子上运行,每次将一些配置数据写到flash里,串口就不发信息出来了。估计程序跑飞了。经过多次实验发现我的板子(自己做的)在厂商给的bsp的配置下不能正常工作。所以我降低了CPU的频率,当然其他的频率也相对降低了。又经过多次的实验,终于有一次板子上的驱动都能正常工作了。在这个过程中,我一直使用同一个平台,只是在添加或移除驱动,当然还有修改频率参数(头文件),也是按照上面的方法来编译的。第二天,我新建了一个平台,仅添加了显示(因为我只想看os能不能run),调高了频率参数,选1,5,6来编译,结果又出现了写flash时串口没信息发回。接着我把频率参数调到前一天可以运行的参数,用了上面所有的方法来编译,结果都出现了写flash时串口没信息发回。我从新建一个平台,用了所有的方法编译,还是不行。最后我将前一天可以的那个081112a.pbxml文件拷贝到一个空的文件夹下,用pb打开,用1,4,5,6编译,下载,可以了。接着我又新建一个平台,只有显示,用1,4,5,6编译,下载,也可以了。我把前面那个仅有显示不可以的再编译一次,也可以了。好象一下,所有的东西都可以了。奇怪不?

    上面的方法:指虚线中的所有方法。
    2008年11月13日 7:54

答案

全部回复

  • 关于WinCE编译,你每次新建一个工程或打开一个工程只需要调用sysgen就可以,不需要步骤5和6。如果安装了微软的补丁或者升级包,你要看一下微软提供的releasenote,可能需要build and sysgen。如果你是修改了BSP,只需要在命令行窗口中切换到你修改的目录下面运行build命令,然后调用6就可以了。

     

    从你的描述来看,你对WinCE编译不太了解。我建议你先了解一下WinCE的编译过程,一般分为4个阶段,然后看看MSDN关于这些编译选项的介绍,这些网上都有很好的中文blog介绍,你可以在网上搜索一下。

     

    关于你板子的问题,你这样描述很难判断问题。你说bootloader下到板子上,你是指EBOOT吧,你是怎么下在到板子上的?每次写一些配置数据,这些数据是什么?为什么要写到flash中,串口之前的打印信息有没有?你的bootloader在做什么工作,是要下载WinCE内核,还是要直接运行WinCE?

     

     

    2008年11月13日 9:04
  • 1,选择5,6是厂商手册上写的。而且还要求在FileView下点BSP右键选上clean before building和make run-time image after building两项。

    pb的help里也有提到相关信息。Platform Builder User's Guide > Platform Builder IDE > Platform Builder User Interface > Menu DescriptionsDeveloping an Operating System > Building and Downloading a Run-Time Image > Run-Time Image Build Process > Build Tasks

    2,每次新建一个工程或打开一个工程只需要调用sysgen就可以,不需要步骤5和6。这可能是一种省时间的办法,最终生成的nb0文件应该在C:\WINCE500\PLATFORM\mybsp\target\ARMV4I\retail下面了。我会做实验来验证的。

    3,我有两个bootloader,一个芯片支持串口下到ddr中运行,大小16K,cpu是硬件复位初始的低速率,利用串口下的uartboot程序来下第二个mboot,这个mboot是保存到nand flash中,芯片支持nand flash启动。这些都没问题。当nand flash启动的也是将flash里的其它代码拷到ddr中运行,代码会去把cpu速率提高。这时串口仍会发出菜单。当要下任何数据(Logo图片,nl.nb0,其它)并保存到flash里时就会出问题。先下载到ddr后会发回下完的信息,同时说在保存请等待。如果正确保存到flash后会发回菜单。等了半个小时也没有发回。

    2008年11月14日 1:19
  • 关于1,我补充一下,选择5,6是对的。我好久不用PB5.0了,现在一直用PB6.0。

     

    我大致理解了。你的板子是Nandflash启动模式,先是一个小的bootloader启动加载EBOOT,然后EBOOT通过网络下载WinCE image,并将image写入到Flash当中。按照你的描述,你认为是在下载成功后,写入的时候就没反应了,对吧?

     

    你看看打印信息,你可以在你的BSP里面搜索一下最后一条打印信息在什么地方,然后看看往下执行到哪里了。可以通过添加打印信息的方法来判断问题。如果你的BSP符合EBOOT架构,那你的BSP中应该有一个flash.c的文件,这里面实现了写Flash的所有函数,你可以看看。

     

    2008年11月14日 2:05
  • 我就是想知道如何编译在不同的情形下。针对wince 5.0来说。

    下面这个连接是我网上找的。e文。他讲的感觉是针对wince 6.0来说。虽然它也提到wince 5.0差不多的方法。

    高手才觉得差不多。如果你遇到奇怪的问题。就会迷惑了。

    http://guruce.com/blogpost/whattobuildwhen

     

    -----------------------------------------------------------------------------------

    再简单描述我的情形:

    第一次用1,5,6结果是可以用的。

    第二次我改了cpu的参数,用1,4,5,6结果编译通过。下载运行有错。

    第三次我把cpu参数改回来,用1,4,5,6结果编译通过。下载运行同样的错。

    每次我都新建一个工程。

    2008年11月14日 4:11
  •  

    那我觉得你首先要了解WinCE的编译过程,要不是不可能理解这几个选项的,比如5和6就是WinCE编译的最后2个阶段。关于WinCE的编译过程和什么情况下如果编译,网上有Blog详细的介绍过,而且是中文,你自己搜索一下吧。
    2008年11月14日 4:30
  • 同一个工程下,已经Sysgen过一次了。

    如果你修改了跟系统有关的参数,比如说CPU的频率,如果你仅是选择1,4,5,6,是不行的。

    就算你新建一个工程,同样用1,4,5,6来做,恐怕也会遇到让你迷惑的结果。

    当然这些是一种可能性。

    最好的办法是:

    同一个工程下,已经Sysgen过,当你修改了参数,那就build and sysgen current BSP,当然也可以命令行里去build 整个BSP.

    如果新建一个工程,直接build and sysgen current BSP会发现有错误,是环境变量的问题。

    其实可以发一点时间,用不同的选项去构件系统,再去看BSP和工程下的文件生成时间。就会明白一些。因为看那些书,我实在有点晕。估计我太菜了。

    在前几楼的一个连接文章讲到不要用sysgen and build 这个选项,也许是有道理的。大家注意一下。

    2008年11月17日 3:48
  • 好像你都不需要build整个BSP吧,呵呵。

     

    只要build相关模块就可以了。如果只是改CPU的频率,可能只需要build eboot和oal就可以了,然后直接makeimg

     

    2008年11月17日 4:59
  • 现在也有这样的疑惑,学习了!

    2008年12月11日 7:28