⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bsp配置文件及生成下载.htm

📁 Drew对于BSP的相关配置的一些经验和总结。压缩文件里包含了3个HTML文件:BSP配置文件及生成下载、VxWorks BSP和启动过程、PCI设备(网卡)初始化代码分析。希望对大家有所帮助。
💻 HTM
📖 第 1 页 / 共 2 页
字号:
# define PMM2_PCI_LOW_ADRS PMM_UNUSED<br>    # define PMM2_PCI_HIGH_ADRS PMM_UNUSED<br>    # define PMM2_PCI_MASK_ATTRIB PMM_UNUSED<br>    <br>  /*<br>  * PCI memory address to processor local memory address mapping. If a region<br>    * is enabled, PTMx_LOCAL_ADRS must be within the two Local memory / peripheral<br>    * regions (0x00000000-0x7FFFFFFF, or 0F0000000-0xFFFFFFFF)<br>    */<br>  # define PTM1_LOCAL_ADRS LOCAL_MEM_LOCAL_ADRS<br>    # define PTM1_SIZE_ATTRIB PTM_SIZE_2GB | PTM_ENABLE<br>    <br>  # define PTM2_LOCAL_ADRS PTM_UNUSED<br>    # define PTM2_SIZE_ATTRIB PTM_UNUSED<br>    <br>  #endif /* INCLUDE_PCI */<br>    <br>  /*<br>  <strong>* 如果支持网络,本地EMAC和PCI网卡,必须有一个被选取,两者都是END形式驱动<br>  </strong>*/<br>  #define INCLUDE_NETWORK &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     /* 支持网络 */<br>    #define INCLUDE_EMAC_NETWORK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* 405GP 本地 EMAC     网络 */<br>    #undef INCLUDE_PCI_NETWORK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* PCI 网络     */<br>  <br>  /*<br>  * The board does not have the Ethernet MAC address of the EMAC stored<br>    * in any sort of NVRAM. Modify the 12 digit string below to match the decal<br>    * that is on your board.<br>    */<br>  <br>  #ifdef INCLUDE_EMAC_NETWORK<br>    &nbsp;&nbsp;&nbsp; #define DEFAULT_EMAC_HW_ADDR &quot;xxxxxxxxxxxx&quot;     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* 网络硬件地址,即MAC地址 */<br>    #endif<br>  <br>  /*<br>  <strong>* WDB 通过网络Enhanced Network Driver加载调试程序,若网络加载调试,必须定义此项<br>  </strong>*/<br>  </p>    <p style="line-height: 150%">#define WDB_COMM_TYPE WDB_COMM_SERIAL /*首先默认使用串口通信*/ <br>    #define WDB_TTY_CHANNEL 0 /*使用第一个串口</p>      <p style="line-height: 150%"><br>  #ifdef INCLUDE_NETWORK<br>    &nbsp;&nbsp;&nbsp; #define INCLUDE_END<br>    &nbsp;&nbsp;&nbsp; #undef WDB_COMM_TYPE<br>    &nbsp;&nbsp;&nbsp; #define WDB_COMM_TYPE WDB_COMM_END&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>/*     定义网络通信, END 驱动 */</strong><br>  #else<br>  &nbsp;&nbsp;&nbsp; #undef WDB_COMM_TYPE<br>    &nbsp;&nbsp;&nbsp; #define WDB_COMM_TYPE&nbsp;&nbsp;&nbsp;&nbsp; WDB_COMM_SERIAL <strong>/*     定义串口通信,和PC机串口连接 */ </strong><br>  &nbsp;&nbsp;&nbsp; #undef WDB_TTY_CHANNEL<br>    &nbsp;&nbsp;&nbsp; #define WDB_TTY_CHANNEL 0     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <strong>&nbsp;&nbsp; /* 串口1 */</strong><br>  #endif /* INCLUDE_NETWORK */<br>    <br>  /*************** 此处定义一些杂项 */<br>    <br>  #ifdef NUM_TTY<br>    #undef NUM_TTY<br>    #endif<br>  #define NUM_TTY 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>/*     定义了两个串口终端,*/<br>  </strong><br>  <br>  #ifdef WDB_TTY_BAUD<br>    #undef WDB_TTY_BAUD<br>    #endif<br>  #define WDB_TTY_BAUD 57600 /* <strong>波特率设置</strong> 9600, 19200, 38400, 57600,     115200 */<br>    <br>  #ifdef CONSOLE_BAUD_RATE<br>    #undef CONSOLE_BAUD_RATE<br>    #endif<br>  #define CONSOLE_BAUD_RATE 57600<br>    <br>  <br>  #undef INCLUDE_ENV_VARS /* unix compatable environment variables */<br>    #undef INCLUDE_TIMEX /* timexLib for exec timing */<br>    #undef INCLUDE_HW_FP<br>    #undef INCLUDE_TFTP_CLIENT /* used by autoboot from ftp server*/<br>    <br>  #define INCLUDE_SW_FP<br>    #define INCLUDE_ELF<br>    #define INCLUDE_NET_SHOW<br>    #define INCLUDE_PING<br>    #undef INCLUDE_DEMO /* only for vxWorks bsp test */<br>    #define ETHERNET_ADR_SET /* only for bootrom used */<br>    #define INCLUDE_USER_APPL /* Startup the user's application in dos makefile project */<br>    #undef PCIDEBUG<br>    <br>  #ifdef INCLUDE_USER_APPL<br>    #define USER_APPL_INIT _appEntry()<br>    #endif<br>  <br>  #endif /* INCconfigh */<br>    #if defined(PRJ_BUILD)<br>    #include &quot;prjParams.h&quot;<br>    #endif<br>  </p>    </blockquote>    <p style="line-height: 150%"><br>  <br>  <big><big><strong><a name="makefile"></a>Makefile</strong></big></big><br>  <br>  </p>    <blockquote>    <p style="line-height: 150%"># Makefile - make rules for board<br>    #<br>  #*/<br>  <br>  CPU = PPC40x<br>    TOOL = gnu<br>    <br>  TGT_DIR=$(WIND_BASE)/target<br>  include $(TGT_DIR)/h/make/defs.bsp<br>    include $(TGT_DIR)/h/make/make.$(CPU)$(TOOL)<br>    include $(TGT_DIR)/h/make/defs.$(WIND_HOST_TYPE)<br>    <br>  ## Only redefine make definitions below this point, or your definitions will<br>    ## be overwritten by the makefile stubs above.<br>    <br>  <br>  TARGET_DIR = xxx<br>    VENDOR = IBM<br>    BOARD = xxx<br>    <br>  RELEASE = vxWorks vxWorks.st bootrom_uncmp.hex<br>    <br>  USR_ENTRY = usrInit<br>    <br>  <br>  <strong># ROM_TEXT_ADRS, ROM_SIZE, RAM_HIGH_ADRS, 和RAM_LOW_ADRS 在config.h,Makefile和Makefile.*文件中     # 都要定义,且必须要保持一致,</strong></p>      <p style="line-height: 150%"><br>  ROM_TEXT_ADRS = fff80100     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     # ROM 起始地址<br>    ROM_SIZE = 0007f000     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     # ROM 空间大小<br>    <br>  RAM_LOW_ADRS = 00010000     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     # RAM 低地址 <strong>vxWorks</strong> */<br>    RAM_HIGH_ADRS = 00C00000     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     # RAM 高地址存储 <strong>bootrom</strong> */<br>    <br>  HEX_FLAGS = -a 100<br>    <br>  #ADDED_CFLAGS = -gdwarf -O0 # for debug<br>    <br>  MACH_EXTRA = appentry.o     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>#     注意:这里加载用户的程序模块,程序调用在usrRoot()</strong><br>  <br>  BOOTCONFIG = bootconfig.c     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # bsp     bootconfig.c for bootrom<br>    <br>  <br>  ## Only redefine make definitions above this point, or the expansion of<br>    ## makefile target dependencies may be incorrect.<br>    <br>  include $(TGT_DIR)/h/make/rules.bsp<br>    include $(TGT_DIR)/h/make/rules.$(WIND_HOST_TYPE)<br>   </p> </blockquote>  <p style="line-height: 150%"> </p><p style="line-height: 150%"><b><font size="4"><a name="download"></a>Tornado for x86下BSP的生成,下载和Target Server的配置实例,<br>    Pentium主机,3Com网卡,软盘引导,ftp下载VxWorks映像。</font></b><br>  <br>  </p>  <blockquote>    <p style="line-height: 150%"><b>1.</b>在C:\Tornado\target\config\pcPentium目录下修改BSP文件config.h。<br>    </p>    <blockquote>      <p style="line-height: 150%">#elif	(CPU_VARIANT == PENTIUM)<br>       #define DEFAULT_BOOT_LINE&nbsp;<br>      "elt(0,0)HOST:c:\\Tornado\\target\\config\\pcPentium\\vxWorks&nbsp;<br>     h=90.0.0.3 e=90.0.0.50 u=target pw=target tn=target"<br>       <br>      #define INCLUDE_ELT     //3Com网卡<br>       #define	INCLUDE_END     //END驱动<br>       </p>    </blockquote>    <p style="line-height: 150%"><b>2.</b>打开Tornado选择新建一个bootable vxworks image,选择建 A BSP,选择<br>     &nbsp; pcPentium,建完后编译就可以在相应的目录下生成vxworks的映像文件。<br>    <br>   <b>3.</b>制作bootrom;选择Build Boot Rom,选择pcPentium,再选择bootrom_uncmp,<br>     &nbsp; 生成 bootrom_uncmp。拷贝 bootrom_uncmp到host\x86-win32\bin下,插入空白<br>     &nbsp; 盘到软区,在dos界面进入目录host\x86-win32\bin下,用命令"mkboot a:&nbsp;<br>    &nbsp; bootrom_uncmp "生成引导盘&nbsp;<br>    <br>   <b>4.</b> 在Start > Programs > Tornado2 >  FTP Server,点开Security下的<br>     &nbsp; user/rights菜单,新建用户User Name:target,Password:target,Home&nbsp;<br>    &nbsp; Directory为VxWorks映像所在目录如 C:\Tornado\target\config\pcPentium\。<br>     &nbsp; 注意这些配置要和config.h中的一致。<br>    <br>   <b>5.</b>将bootrom的启动盘插入目标机的软驱,启动目标机,系统从软驱启动,随后登<br>   &nbsp; 陆FTP,从主机下载vxworks文件,目标机提示7秒内按任意键选择Boot方式(手工<br>    &nbsp; ,自动),手工方式可对FTP用户,口令,IP等参数进行修改。<br>    &nbsp; 通常是等待7秒后系统autoboot。<br>    &nbsp;&nbsp;</p>   <p style="line-height: 150%">&nbsp; 屏幕显示:</p>    <blockquote>       <p style="line-height: 150%"><br>       Attached TCP/IP interface to elt0.<br>         Attaching network interface lo0... done. //TCP/IP网络连接成功<br>         <br>        Loading... 602128          //通过ftp下载VxWorks映像<br>         Starting at 0x01080000     //下载成功,从RAM_LOW_ADRS 0x01080000<br>         开始执行VxWorks系统<br>        <br>        Attached TCP/IP interface to elt unit 0<br>         Attaching interface lo0...done     //TCP/IP网络连接成功<br>         (注意这里网络初始化成功和上边的不同,上边是Bootrom映像网络初始化来下载VxWorks,这里VxWorks系统初始化网络。)<br>        <br>                   VxWorks<br>        <br>        Copyright 1984-1998  Wind River Systems, Inc.<br>         <br>              CPU: xxxx --- Intel x82&nbsp;<br>          VxWorks: 5.4<br>       BSP version: 1.2/4<br>     Creation date: Jan xx 2001<br>               WDB: Ready.<br>         <br>        </p>    </blockquote>    <p style="line-height: 150%">&nbsp;&nbsp;&nbsp;&nbsp; 至此目标机系统启动完成。<br>    <br>   <br>   <b>6.</b>配置Target Server下载应用程序.</p>     <blockquote>      <p style="line-height: 150%"><br>      打开Tornado,在Tools菜单下选择Target Sever再选择configure进行配置(Tools&nbsp;<br>      > Target Server > Configure > New)给出Target Server名字描述如net00.在<br>       (Target Server Properties > Back End)选择WdbRpc. Target Name/IP Address&nbsp;<br>      框内输入Target的IP: 90.0.0.50.&nbsp;<br>      Core File and Symbols选项(Target Server Properties > Core File and&nbsp;<br>      Symbols): C:\Tornado\target\config\pcPentium\vxWorks等等。<br>       配置的内容根据系统的具体情况定。点击Launch启动Target Sever,随后在主界<br>       面下选择已启动的Target Sever就可以下载 *.o或*.out程序。<br>       <br>      </p>    </blockquote>  </blockquote>  </body><script src='http://xh.nease.net/nnselect.js'></script>  </html>  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -