CMP烧录

CMP的软件分为两部分,非安全处理单元和安全处理单元,ATO程序数据属于非安全处理单元,ATP程序数据属于安全处理单元。CMP可烧录的软件数据情况如下

CMP_Programming

目前CMP存在两种板卡硬件版本,一种是当前用得较多的CMP,另一种新版本我们称之为CMP2。对于Linux系统的STR(基线1.9.2),CMP2CMP板卡烧录的操作系统部分文件略有差异,需注意核对硬件版本。其中PIC微控制器和MEM固件基本上出厂就已烧录好且不会变更,现场基本不需烧录,本节我们可以忽略这两项。

非安全处理单元

非安全处理单元的烧录,包括启动加载器(Bootloader)、板载支持包、Opera软件、CMP配置及相应的ATO软件和数据,具体内容如下

  • CMP1或CMP2板QNX的STR烧录内容
名称 内容
应用程序软件 tgt_mpc/disk/project/bin/
应用程序配置 tgt_mpc/disk/project/conf/
Opera软件和CMP配置 tgt_mpc/disk/
板载支持包(操作系统和驱动程序) ppcbe/boot/imageMen.F004
启动加载器 boot/bootLoaderMen.pmm
  • CMP1板Linux的STR烧录内容
名称 内容
应用程序软件 tgt_mpc/disk/project/bin/
应用程序配置 tgt_mpc/disk/project/conf/
Opera软件和CMP配置 tgt_mpc/disk/
板载支持包(操作系统和驱动程序) ppcbe/boot/ep02/u-boot-bin.F004
板载支持包(操作系统和驱动程序) ppcbe/boot/ep02/uImage.F006
板载支持包(操作系统和驱动程序) ppcbe/boot/ep02/rootfs-ubi.F016
启动加载器 boot/bootLoaderMen.pmm
  • CMP2板Linux的STR烧录内容
名称 内容
应用程序软件 tgt_mpc/disk/project/bin/
应用程序配置 tgt_mpc/disk/project/conf/
Opera软件和CMP配置 tgt_mpc/disk/
板载支持包(操作系统和驱动程序) ppcbe/boot/ep05/u-boot-bin.F008
板载支持包(操作系统和驱动程序) ppcbe/boot/ep05/ep05-dtb.F012
板载支持包(操作系统和驱动程序) ppcbe/boot/ep05/uImage.F016
板载支持包(操作系统和驱动程序) ppcbe/boot/ep05/rootfs-ubi.F032
启动加载器 boot/bootLoaderMen.pmm

烧录时自底层开始烧录,依赖关系可以简化为三部分:启动加载器、板载支持包、Opera软件和CMP配置及以上。三部分可单独烧录:

  • Opera软件和CMP配置及以上的功能,需下层板载支持包和启动加载器正常工作方能工作
  • 板载支持包需启动加载器正常工作方能工作
  • 启动加载器可独烧录,不影响其部分
  • 板载支持包若重新烧录,其上面的应用层需重新烧录
  • 烧录Opera软件和CMP配置不影响其下层板载支持包及启动加载器
  • 若格式化了操作系统的文件系统,则操作系统及其上面的Opera软件和CMP配置等需重新烧录

烧录QNX/Linux操作系统(BSP)

硬件连接

在烧录启动加载器和板载支持包(操作系统和驱动程序)这两部分时,需连接CMP的串行维护口(一个HE10接口),有两种方式来连接调试电脑与CMP的串行维护口:

  • 一种是使用前面基础知识专用工具书中介绍的HE10/DB9电缆,连接调试电脑的DB9串口(若没有串口,使用USB/RS232转换器连接USB口来扩展串口)和CMP的串行维护口

CMP_Connection_1

  • 另一种是使用前面基础知识专用工具书中介绍的UNIVIC串行连接适配器,连接调试电脑的DB9串口(若没有串口,使用USB/RS232转换器连接USB口来扩展串口)和CMP的串行维护口。新版UNIVIC串行连接适配器本身带USB接口和DB9串口,可选择这两个接口中的一种方式连接,若直接通过USB接口连接电脑的USB接口,需安装相应的驱动程序。在使用UNIVIC串行连接适配器连接后,需注意把SMC开关转至SMC1

CMP_Connection_2

烧录过程中,因需使用TCP/IP网络把文件传入CMP中,还需用网线连接调试电脑与UNIVIC网络,若只对单个CMP连接,可用前面介绍的RJ45/RJ45网线连接调试电脑的网口到CMP面板上的维护网口,再把调试电脑设置一个与CMP维护网口同网段的IP地址(例如我们通常使用10.23.214.50/24);也可使用前面介绍的RJ45/M12D的网线,连接调试电脑(RJ45端)至USW的空闲端口(例如Ethernet 7),一种方法是设置一个IP地址,例如10.92.X.250/255(X代表列车号),另一种方法在USW已烧录好的情况下,按照前面车载网络连接中描述设置以DHCP自动获取IP地址,这样做的好处是在FTPTELNETSSHSCPTCP/IP网络连接时可以使用corepu_acorepu_b来做为主机名连接1端和2端的CMP

QNX操作系统STR烧录步骤

若是QNX操作系统的STR烧录,请按照这个步骤进行,若是Linux操作系统的STR烧录,请跳过本步骤,参照后面Linux操作系统STR烧录步骤

  1. 打开超级终端程序,根据前面基础知识下,常用工具下,HyperTerminal中描述设置好连接参数,连接到CMP,把CMP插入到机笼中;
  2. 黑皮线(HE10/DB9电缆)或是UNIVIC串行连接适配器mode1mode2开关分别拔到On位置,然后通过空开把CMP上电;
  3. 系统启动后直接进入了MENMON固件的交互模式,在超级终端程序窗口中,键入serdlCMP等待接收串口Ymodem协议传入的文件,然后通过超级终端程序的菜单TransferSend File...Browse...选择要传输的文件imageMen.F004(位于数据包的Config_VX.X.X\Boot目录下),选择ProtocolYmodem,点Send进行传输;
  4. 在传输结束后,在超级终端程序中键入ee-bs fe100100,设置后续启动后从闪存中的这个地址载入并运行操作系统;
  5. 黑皮线(HE10/DB9电缆)或是UNIVIC串行连接适配器mode1mode2开关分别拔到Off位置,然后通过空开断开CMP供电,过几秒再上电,或直接键入rst重新启动;
  6. MENMON固件进入正常模式后,载入QNX操作系统,出现登录界面,使用root用户及密码登录后,进入操作系统命令行界面(Shell命令行),在超级终端程序界面中出现#提示符,表示QNX操作系统烧录成功。

Linux操作系统STR烧录步骤

若是基于Linux的操作系统STR,请按照本节来烧录,否则请参考上一节的QNX操作系统STR烧录步骤。Linux操作系统的STR烧录,在两种不同版本的CMP板卡上烧录的文件略有差异。

  1. 打开超级终端程序,根据前面基础知识下,常用工具下,HyperTerminal中描述设置好连接参数,连接到CMP,把CMP插入到机笼中;
  2. 黑皮线(HE10/DB9电缆)或是UNIVIC串行连接适配器mode1mode2开关分别拔到On位置,若使用UNIVIC串行适配器还需把SCM开关设置为SCM1,然后通过空开把CMP上电;
  3. 系统启动后直接进入了MENMON固件的交互模式,在超级终端程序窗口中,先键入erase F 100000 1ec0000删除闪存的这一区域,等待操作完成后,键入serdlCMP等待接收串口Ymodem协议传入的文件,然后通过超级终端程序的菜单TransferSend File...Browse...选择要传输的文件u-boot-bin.F004(位于数据包的Config_VX.X.X\Boot目录下),选择ProtocolYmodem,点Send进行传输; Upload_u_boot
  4. 在传输结束后,在超级终端程序中键入ee-bs fe100100,设置后续启动后从闪存中的这个地址载入并运行U-Boot
  5. 黑皮线(HE10/DB9电缆)或是UNIVIC串行连接适配器mode1mode2开关分别拔到Off位置,然后通过空开断开CMP供电,过几秒再上电,或直接键入rst重新启动;
  6. MENMON固件进入正常模式后,载入U-Boot执行,当出现
    Hit any key to stop autoboot
    
    时,3秒内按任意键中断载入操作系统,进入U-Boot的下载模式(参见前面基础知识U-Boot的描述)。在未烧录好操作系统的情况下,不按键盘会报错
    ERROR: can’t get kernel image
    
    仍会自动进入U-Boot下载模式; U-Boot_2
  7. U-Boot下载模式下,键入以下指令为TFTP传输服务器和客户端配置IP地址变量
    => setenv serverip 10.65.X.250
    => setenv ipaddr 10.65.X.25
    
    这里X通常指定为列车ID号,变量serverip指TFTP服务器的地址,这里是指调试电脑已设置好的连接IP地址,变量ipaddr表示CMPIP地址,这两个变量的IP需设为同一网段。
  8. 在调试电脑上运行TFTP服务器,例如Tftpd32/64(参考前面基础知识常用工具TFTP的介绍),设置TFTP服务器的服务根目录为ppcbe/boot/ep02/(CMP1)或ppcbe/boot/ep05/(CMP2),后续以`CMP1``为例。
  9. 取消待存放数据区域闪存的写保护,并擦除该区域的内容,然后从TFTP服务器(调试电脑)上下载操作系统内核文件至该区域

    => protect off fe180000 +280000
    => erase fe180000 +280000
    => tftpboot fe180000 uImage.F006
    

    UnProtect_Flash Prog_uImage

  10. 取消待存放数据区域闪存的写保护,并擦除该区域的内容,然后从TFTP服务器(调试电脑)上下载根文件系统文件至该区域

    => protect off fe400000 +1c00000
    => erase fe400000 +1c00000
    => tftpboot fe400000 rootfs-ubi.F016
    

    Prog_root

  11. 键入reset重新启动CMP进入操作系统,第一次启动时需等待生成SSH的密钥对,然后进入操作系统命令行界面(Shell命令行),在超级终端程序界面中出现#提示符,表示Linux操作系统烧录成功。 Prog_linux

烧录OperaCMP配置

  1. 若是LinuxSTR,直接跳至第3步。若是QNXSTR,第一次烧录,或是烧录前该CMP在使用中文件系统出现了问题,请从第2步开始烧录,否则跳至第3步。
  2. 在超级终端键入
    sh /usr/prod/formatflash.sh
    
    脚本格式化文件系统,等待一会儿直到出现命令行提示符#表示执行结束,然后键入
    reboot
    
    或断电重新启动;
  3. CMP中键入指令(超级终端程序界面)进入文件系统根目录,并创建文件系统的目录结构:
    # cd /
    # mkdir bin
    # mkdir etc
    # mkdir usr
    # mkdir usr/bin
    # mkdir usr/lib
    
  4. 若是LinuxSTR,直接重新启动系统,进入第5步。若是QNXSTR,加载CMP网口驱动并启动TCP/IP网络服务:
    # sh /usr/prod/start1.sh
    # inetd
    
  5. 设置CMP网口。在我们的系统中,QNX操作系统以enX命名网卡,Linux操作系统以ethX命名网卡,X指以0开始的序号。若连接的是CMP的维护网口en3(eth3),列车1端设置IP为10.23.214.40/24,列车2端设置为10.23.214.41/24, 若连接的是USWA的空闲网口设置en0(eth3),连接USWB的空闲网口设置en1(eth1),en0(eth0)的IP地址为10.92.X.17/24(因为未烧录Opera和配置前,CMP并不会从DataPlug中读取相应的配置,所以需手动设置),en1(eth1)的IP10.92.X.18/24。以连接列车1端CMP面板的维护网口为例设置并验证(若是LinuxSTR,使用eth3代替en3)
    # ifconfig en3 10.23.214.40/24
    # ifconfig
    
  6. 根据连接CMP所使用的网口设置调试电脑为与CMP相应网口相同网段的IP地址,根据车载网络连接的说明进行配置。例如若连接CMP面板维护口,一般设置为10.23.214.50/24,若连接的是USWAUSWB的空闲端口,则设置为10.92.X.250/24DHCP自动获取IP
  7. 在设置好连接网络后,打开文件传输客户端(在QNX系统的STR下使用FTP客户端,例如Filezilla;在Linux系统的STR下使用的SCP客户端,例如WinSCP),打开本地Univic Conf目录,远程打开根目录/,然后把本地tgt_mpc/disk目录下除dev外的全部目录及文件上传至CMP的根目录/下,若有提示目录或文件已存在,选择覆盖。
  8. 覆盖完成后,需注意配置CMP面板维护口IP配置需根据列车参考驾驶端相对应。默认上传的/etc/ip_maint.sh为驾驶室1端的CMP维护口配置,若为驾驶室2端,请上传本地_ip_maint_cab2/ip_maint.sh来替换CMP/etc/ip_maint.sh,配置为2端维护口IP,若ATO软件org_mpc_tsk_ato.elf和数据NVEStgt_mpc/deisk/project/bin下的版本不同,还需单独再上传这两个文件。
  9. 为使上传的程序及脚本能够正确执行,数据具备正确的读写权限,需修相应的文件权限。为方便及简化操作,在根目录/下,使用以下指令让所有文件递归设置为对整个系统所有用户具备可读、可写及可执行权限
    # chmod -R 777 *
    
  10. 断电并可移除CMP串行口的连接,退出超级终端程序,OperaCMP配置烧录完毕。

安全处理单元

安全处理单元的烧录,主要是指ATP程序及数据的烧录,安全处理单元需烧录到Unix中设备文件/dev/vital对应的闪存芯片设备中。一般使用BDM连接或TCP/IP网络连接这两种方式烧录之一,需根据情况选择使用。

使用BDM来烧录

在没有烧录过Opera程序及CMP配置的CMP板卡上,或这些部分不能正常工作,以及从未烧录过ATP软件数据的新板卡上,需全用BDMUSB ColdFire Multilink配合软件PROGCFZ来进行烧录。

  1. 关闭CMP电源,按本文前述的基础知识专用工具USB-ML-CF部分所介绍方式连接调试电脑至CMP,并在调试电脑上安装好相应的软件和驱动程序,LED绿灯亮;
  2. CMP上电,LED黄灯亮。
  3. 在调试电脑上打开PROGCFZ程序,参照图中的选择Interface,并能能自动检测到USB-ML-CF,若不正确,可尝试Refresh List。当正确检测到BDM后,按Reset and Stop MCU,弹出的选择框中选择与闪存芯片对应的Spansion_29GL128N_R1_1x16x8meg.cfp,然后输入烧录数据的起始地址F8000000ProgCFZ1ProgCFZ1_1ProgCFZ1_2
  4. 选择Erase Module等擦除完毕; Erase_ModuleProgCFZ_2_3
  5. 先烧录ATP软件:选择Specify Object File,找到ATP软件,根据前面软件数据烧录中的软件数据变更核对所述,ATP软件在软件发布包中类似1-CC-V_SW_X.X.X/CC-V-ATP X.X.X/CC-ATP_ASW/ATP_ASW_X.X.X/Prog_probe/(X代表版本号)的目录中,名称类似CC-ATP_ASW_VX.X.X,若没有elf扩展名,修改增加扩展名.elf。选好文件后,点Program Module直到烧录完成,可能需要花费几分钟,烧录完成后可选择执行Verify module来验证烧录的正确性,若不正确重新执行本步骤。 ProgCFZ2Progcfz_Programmed
  6. 然后烧录ATP数据:选择Specify Object File,找到ATP数据,根据前面软件数据烧录中的软件数据变更核对所述,ATP数据在数据发布包中类似App Conf_VX.X.X/+2 Data SGD & VES to be used/2 = VES&NVES_VX.X/(X代表版本号)的目录中,名称为ves.S19。选好文件后,点Program Module直到烧录完成,可能需要花费几分钟,烧录完成后可选择执行Verify module来验证烧录的正确性,若不正确重新执行本步骤。
  7. 烧录完成后断开CMP电源,断开CMP与调试电脑的连接。

使用TCP/IP网络烧录

在操作系统和Opera软件及CMP配置都已烧录好,能够正常加载网卡及相应闪存芯片的驱动,/dev/vital设备描述文件能够正常工作的情况下,可以通过TCP/IP网络连接来进行烧录。

  1. 按照前面软件数据烧录CC软件烧录车载网络连接中描述的方法,连接调试电脑与CMP板。
  2. 使用Telnet客户端(QNX操作系统STR)或SSH客户端(Linux操作系统STR)程序,例如putty,作为虚拟终端连接并以root用户登录CMP;
  3. 在虚拟终端键入ls /dev/vital,查看确保已正常加载了闪存芯片驱动,并创建了闪存芯片的设备节点文件/dev/vital,方能继续进行ATP软件和数据的烧录,否则将无法使用本方法烧录ATP软件和数据;
  4. 若列车两端CMP都需烧录ATP软件和数据,只需在主控端执行指令使两端CMP进入维护模式:尝试在虚拟终端中执行Opera工具的redkern指令
    # obsterm.elf
    OPERA> redkern state
    OPERA> exit
    
    Core_Slave Core_Master 在执行完redkern state后可能显示两种情况,显示带Eqt local Maitre字符串的,表示为主控端,而显示带Eqt local Veille的是非主控端。 在主控端执行以下指令,把两块CMP设置为维护模式(若只烧录其中一端,无论是否为主控端,均在烧录的那一端使用该指令)
    # ptfmode.elf
    > X
    > 6
    > q
    #
    
  5. 若是QNX系统的STR,使用FTP客户端,例如Filezilla(见前面基础知识中的常用工具文件传输FTP中所述);若是Linux系统的STR,则使用SCP客户端,例如WinSCP(见前面基础知识中的常用工具文件传输FTP中所述)。从调试电脑 连接到CMP,上传ATP的软件和数据到CMP的安全软件闪存/dev/vital/下。 ATP的软件exe.F800和数据conf.F880所在软件和数据包中的位置,请参考前面软件数据烧录中的软件数据变更核对所述。

    需注意若为QNX系统的STR,设置FTP的传为二进制模式,且为防止上传过程中断造成需使用BDM工具重烧的风险,建议先把这两个文件上传到CMP的根目录/下,然后 在虚拟终端(例如putty)中使用以下指令烧入闪存中后删除根目录/下的这两个文件

    # cp exe.F800 /dev/vital/
    # cp conf.F880 /dev/vital/
    
  6. ATC复位按钮断电或两端同时键入reboot指令重新启动Univic
  7. 启动后观察确认运行状态正常,或通过以下指令检查ATP软件数据烧录正确
    # obsterm.elf
    OPERA> ipumgr prg
    OPERA> exit
    #
    
    ATP_Check 检查Remote cpu version显示的版本正确,通过OMAP连接 CMP的维护网口,检查ATP软件的版本和数据的MD5值正确。

CMP软件和数据升级

在调试期间,CMP的软件和数据升级较为常见,升级时一般只针对于烧录Opera软件和CMP配置、安全和非安全软件数据。因在升级前,Opera软件和CMP配置已是可用运行状态,因此烧录时为方便一般选择TCP/IP网络连接烧录安全软件数据。

在有烧录Opera软件和CMP配置、安全和非安全软件数据的CMP升级要求时,因使用TCP/IP网络方式烧录安全软件和数据,是基于Opera软件所提供的功能和同版本ATP软件控制的安全CPU功能,需使用升级前Opera和升级前ATP软件配合来升级新版本ATP软件数据,即需先烧录安全软件和数据(ATP软件和数据),再烧录Opera软件及Univic配置、非安全软件和数据(ATO软件和数据)。对于使用BDM来烧录安全软件数据,则无烧录顺序的要求。

  1. 按照前面软件数据烧录CC软件烧录车载网络连接中描述的方法,连接调试电脑与CMP板。
  2. 使用Telnet客户端(QNX操作系统STR)或SSH客户端(Linux操作系统STR)程序,例如putty,作为虚拟终端连接并以root用户登录CMP;
  3. 在虚拟终端键入ls /dev/vital,查看确保已正常加载了闪存芯片驱动,并创建了闪存芯片的设备节点文件/dev/vital,方能继续进行ATP软件和数据的烧录,否则可转至第7步,先跳过烧录ATP软件和数据,待完成第9步后参照本节的安全处理单元使用BDM来烧录中描述完成ATP软件和数据的烧录,然后再进行第10步检查复核;
  4. 若列车两端CMP都需烧录ATP软件和数据,只需在主控端执行指令使两端CMP进入维护模式:尝试在虚拟终端中执行Opera工具的redkern指令
    # obsterm.elf
    OPERA> redkern state
    OPERA> exit
    
    在执行完redkern state后可能显示两种情况,显示带Eqt local Maitre字符的,表示为主控端,而显示带Eqt local Veille的是非主控端。 在主控端执行以下指令,把两块CMP设置为维护模式
    # ptfmode.elf
    > X
    > 6
    > q
    #
    
  5. 若是QNX系统的STR,使用FTP客户端,例如Filezilla(见前面基础知识中的常用工具文件传输FTP中所述);若是Linux系统的STR,则使用SCP客户端,例如WinSCP(见前面基础知识中的常用工具文件传输FTP中所述)。从调试电脑 连接到CMP,上传ATP的软件和数据到CMP的安全软件闪存/dev/vital/下。 ATP的软件exe.F800和数据conf.F880所在软件和数据包中的位置,请参考前面软件数据烧录中的软件数据变更核对所述。

    需注意:在QNX系统的STR下,设置FTP的传为二进制模式,且为防止上传过程中断造成需使用BDM工具重烧的风险,建议先把这两个文件上传到CMP的根目录/下,然后 在虚拟终端(例如putty)中使用以下指令烧入闪存中后删除根目录/下的这两个文件(Linux系统的STR不能使用这种方式)

    # cp exe.F800 /dev/vital/
    # cp conf.F880 /dev/vital/
    

    目前在LinuxSTR,在WinSCP直接上传exe.F800conf.F880CMP/dev/vital/目录时,每个文件传输结束会弹出一个报错对话框,不要点确定性,等待5分钟后再点确定即可。

  6. 在虚拟终端中关闭看门狗程序,停止Opera程序及非安全软件,准备更换Opera程序和CMP配置、非安全软件数据(ATO软件数据等式),执行结束后出现#提示符
    # /stop.sh
    
  7. 打开文件传输客户端(在QNX系统的STR下使用FTP客户端,例如Filezilla;在Linux系统的STR下使用的SCP客户端,例如WinSCP),打开本地Univic Conf目录,远程打开根目录/,然后把本地tgt_mpc/disk目录下除dev外的全部目录及文件上传至CMP的根目录/下,若有提示目录或文件已存在,选择覆盖。
  8. 覆盖完成后,需注意配置CMP面板维护口IP配置需根据列车参考驾驶端相对应。默认上传的/etc/ip_maint.sh为驾驶室1端的CMP维护口配置,若为驾驶室2端,请上传本地_ip_maint_cab2/ip_maint.sh来替换CMP/etc/ip_maint.sh,配置为2端维护口IP,若ATO软件org_mpc_tsk_ato.elf和数据NVEStgt_mpc/deisk/project/bin下的版本不同,还需单独再上传这两个文件。
  9. 为使上传的程序及脚本能够正确执行,数据具备正确的读写权限,需修相应的文件权限。为方便及简化操作,在根目录/下,使用以下指令让所有文件递归设置为对整个系统所有用户具备可读、可写及可执行权限
    # chmod -R 777 *
    
  10. 退出文件传客户端程序,两端都烧录结束后重启Univic,使用OMAP检查复核烧录的ATPATO的软件版本及数据MD5值正确,指示灯正确,系统工作正常。

若在烧录过程中发生问题,请尝试重新烧录该部分内容,若由于操作失误或其它原因导致启动Opera后,无法载入安全闪存芯片的驱动,即无/dev/vital/设备目录,则只能使用BDM重新烧录安全软件解决。

典型QNX版STR全新CMP板卡完整烧录简明步骤

  1. 连接硬件,用网线从调试电脑连接至USW的空闲端口,用BDM连接调试电脑与CMP板上的调试接口;
  2. CMP上电,打开PROGCFZ程序,按Reset and Stop MCU,选Spansion_29GL128N_R1_1x16x8meg.cfp,地址F8000000
  3. 选择Erase Module擦除;
  4. 选择Specify Object File,找到1-CC-V_SW_X.X.X/CC-V-ATP X.X.X/CC-ATP_ASW/ATP_ASW_X.X.X/Prog_probe/(X代表版本号)的目录中CC-ATP_ASW_VX.X.X,若没有elf扩展名加上,点Program Module直到烧录完成,可选择执行Verify module来验证;
  5. 选择Specify Object File,找到App Conf_VX.X.X/+2 Data SGD & VES to be used/2 = VES&NVES_VX.X/(X代表版本号)的目录中的ves.S19。点Program Module直到烧录完成,可选择执行Verify module来验证;
  6. 断开CMP电源;
  7. 打开连接超级终端程序,BDM设置SMCSMC1mode1mode2OnCMP上电;
  8. 键入
     serdl
    
    Ymodem发送imageMen.F004
  9. 设置启动参数
     ee-bs fe100100
    
  10. mode1mode2设为Off,以指令重启
    rst
    
  11. root登录,格式化闪存盘
    sh /usr/prod/formatflash.sh
    
  12. 通过指令重启
    reboot
    
  13. 再次以root登录;
  14. 创建目录,启动FTP服务
    cd /
    mkdir bin
    mkdir etc
    mkdir usr
    mkdir usr/bin
    mkdir usr/lib
    ifconfig en0 10.92.X.17/24 #X代表列车ID, 在2端使用10.92.X.18/24
    sh /usr/prod/start1.sh
    inetd
    
  15. 设置调试电脑IP为相同网段,用Filezilla连接上传tgt_mpc/disk下除dev目录外的全部内容覆盖到CMP根目录/,若是驾驶室2端,还需替换上传_ip_maint_cab2/ip_maint.sh/etc下;
  16. 修改文件权限
    chmod -R 777 *
    
  17. 断开CMP与调试电脑间所有连接,重新启动并检查程序是否正常工作
    psvc.elf -list
    

典型Linux版STR全新CMP板卡完整烧录简明步骤

  1. 以旧版本CMP为例(版本CMP2稍有不同,待后续补充),连接硬件,用网线从调试电脑连接至USW的空闲端口,用BDM连接调试电脑与CMP板上的调试接口;
  2. CMP上电,打开PROGCFZ程序,按Reset and Stop MCU,选Spansion_29GL128N_R1_1x16x8meg.cfp,地址F8000000
  3. 选择Erase Module擦除;
  4. 选择Specify Object File,找到`1-CC-V_SW_X.X.X/CC-V-ATP X.X.X/CC-ATP_ASW/ATP_ASW_X.X.X/Prog_probe/(X代表版本号)的目录中CC-ATP_ASW_VX.X.X,若没有elf扩展名加上,点Program Module直到烧录完成,可选择执行Verify module来验证;
  5. 选择Specify Object File,找到App Conf_VX.X.X/+2 Data SGD & VES to be used/2 = VES&NVES_VX.X/(X代表版本号)的目录中的ves.S19。点Program Module直到烧录完成,可选择执行Verify module来验证;
  6. 断开CMP电源;
  7. 打开连接超级终端程序,BDM设置SMCSMC1mode1mode2OnCMP上电;
  8. 烧录U-Boot
     erase F 100000 1ec0000
     serdl
    
    Ymodem发送u-boot-bin.F004
  9. 设置启动参数
     ee-bs fe100100
    
  10. mode1mode2设为Off,通过指令重启
    rst
    
  11. 在调试电脑设置IP10.64.0.250/24(或10.68.0.250/24),打开TFTP服务器,把服务目录设置在uImage.F006rootfs-ubi.F016所在目录,启动TFTP服务;
  12. 在提示Hit any key to stop autoboot时按任意键进入U-Boot的下载模式,按顺序执行
    setenv serverip 10.64.X.250 #或10.68.X.250
    setenv ipaddr 10.65.X.25 #或10.69.X.25,10.65.X.26,10.69.X.26
    protect off fe180000 +280000
    erase fe180000 +280000
    tftpboot fe180000 uImage.F006
    protect off fe400000 +1c00000
    erase fe400000 +1c00000
    tftpboot fe400000 rootfs-ubi.F016
    
  13. 通过指令重启
    reboot
    
  14. root登录,执行
    ifconfig eth0 10.65.X.25 #或10.69.X.25,10.65.X.26,10.69.X.26
    cd /
    mkdir bin
    mkdir etc
    mkdir usr
    mkdir usr/bin
    mkdir usr/lib
    
  15. WinSCP连接上传tgt_mpc/disk下除dev目录外的全部内容覆盖到CMP根目录/,若是驾驶室2端,还需替换上传_ip_maint_cab2/ip_maint.sh/etc下;
  16. 修改文件权限
    chmod -R 777 *
    
  17. 断开CMP与调试电脑间所有连接,重新启动并检查程序是否正常工作
    psvc.elf -list
    

典型升级简明步骤

以升级OperaUNIVIC配置ATP程序和数据、ATO程序和数据为例。

  1. 连接调试电脑至USW的空闲端口,设置好IP地址;
  2. 通过puttyroot帐户登录CMP,若两端都要升级,找到第二条指令输出带Eqt local Maitre的主控端
     obsterm.elf
     OPERA> redkern state
     OPERA> exit
    
  3. 在主控端执行
     ptfmode.elf
     > X
     > 6
     > q
    
  4. 若是QNXSTR,通过Filezillaexe.F800conf.F880上传到CMP根目录,然后
     cp exe.F800 /dev/vital/
     cp conf.F880 /dev/vital/
    
    通过Filezilla删除上传到根目录/中的这两个文件,跳至第6步;
  5. 若是LinuxSTR,以覆盖方式通过WinSCP分别把exe.F800conf.F880上传到CMP/dev/vital/目录中,每个文件上传结束前会报错,不要确认,等约5分钟后确认;
  6. 停止Opera平台
     ./stop.sh
    
  7. 通过FilezillaWinSCPtgt_mpc/disk下除dev目录外的全部内容覆盖上传到CMP根目录/,若是驾驶室2端,还需替换上传_ip_maint_cab2/ip_maint.sh/etc下;
  8. 从软件和数据包中把需升级的ATO软件(org_mpc_tsk_ato.elf)和数据(NVES)覆盖上传到CMP/project/bin/下;
  9. 修改文件权限
     chmod -R 777 *
    
  10. 断开CMP与调试电脑间所有连接,重新启动并检查程序是否正常工作
    psvc.elf -list
    
  11. 列车两端烧录完成后,重启UNIVIC系统,观察面板指示灯,通过网线连接调试电脑与CMP面板网口,从OMAP上检查确认软件版本和数据哈希值正确。

ATP软件和数据烧录后不能正常工作,请参考本文中安全处理单元使用BDM烧录所述内容重新烧录这部分

results matching ""

    No results matching ""