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

目前CMP存在两种板卡硬件版本,一种是当前用得较多的CMP,另一种新版本我们称之为CMP2。对于Linux系统的STR(基线1.9.2),CMP2与CMP板卡烧录的操作系统部分文件略有差异,需注意核对硬件版本。其中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的串行维护口

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

烧录过程中,因需使用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地址,这样做的好处是在FTP、TELNET、SSH、SCP等TCP/IP网络连接时可以使用corepu_a和corepu_b来做为主机名连接1端和2端的CMP。
QNX操作系统STR烧录步骤
若是QNX操作系统的STR烧录,请按照这个步骤进行,若是Linux操作系统的STR烧录,请跳过本步骤,参照后面Linux操作系统STR烧录步骤。
- 打开超级终端程序,根据前面
基础知识下,常用工具下,HyperTerminal中描述设置好连接参数,连接到CMP,把CMP插入到机笼中; - 把
黑皮线(HE10/DB9电缆)或是UNIVIC串行连接适配器的mode1和mode2开关分别拔到On位置,然后通过空开把CMP上电; - 系统启动后直接进入了
MENMON固件的交互模式,在超级终端程序窗口中,键入serdl让CMP等待接收串口Ymodem协议传入的文件,然后通过超级终端程序的菜单Transfer,Send File...,Browse...选择要传输的文件imageMen.F004(位于数据包的Config_VX.X.X\Boot目录下),选择Protocol为Ymodem,点Send进行传输; - 在传输结束后,在超级终端程序中键入
ee-bs fe100100,设置后续启动后从闪存中的这个地址载入并运行操作系统; - 把
黑皮线(HE10/DB9电缆)或是UNIVIC串行连接适配器的mode1和mode2开关分别拔到Off位置,然后通过空开断开CMP供电,过几秒再上电,或直接键入rst重新启动; MENMON固件进入正常模式后,载入QNX操作系统,出现登录界面,使用root用户及密码登录后,进入操作系统命令行界面(Shell命令行),在超级终端程序界面中出现#提示符,表示QNX操作系统烧录成功。
Linux操作系统STR烧录步骤
若是基于Linux的操作系统STR,请按照本节来烧录,否则请参考上一节的QNX操作系统STR烧录步骤。Linux操作系统的STR烧录,在两种不同版本的CMP板卡上烧录的文件略有差异。
- 打开超级终端程序,根据前面
基础知识下,常用工具下,HyperTerminal中描述设置好连接参数,连接到CMP,把CMP插入到机笼中; - 把
黑皮线(HE10/DB9电缆)或是UNIVIC串行连接适配器的mode1和mode2开关分别拔到On位置,若使用UNIVIC串行适配器还需把SCM开关设置为SCM1,然后通过空开把CMP上电; - 系统启动后直接进入了
MENMON固件的交互模式,在超级终端程序窗口中,先键入erase F 100000 1ec0000删除闪存的这一区域,等待操作完成后,键入serdl让CMP等待接收串口Ymodem协议传入的文件,然后通过超级终端程序的菜单Transfer,Send File...,Browse...选择要传输的文件u-boot-bin.F004(位于数据包的Config_VX.X.X\Boot目录下),选择Protocol为Ymodem,点Send进行传输;
- 在传输结束后,在超级终端程序中键入
ee-bs fe100100,设置后续启动后从闪存中的这个地址载入并运行U-Boot; - 把
黑皮线(HE10/DB9电缆)或是UNIVIC串行连接适配器的mode1和mode2开关分别拔到Off位置,然后通过空开断开CMP供电,过几秒再上电,或直接键入rst重新启动; MENMON固件进入正常模式后,载入U-Boot执行,当出现
时,3秒内按任意键中断载入操作系统,进入Hit any key to stop autobootU-Boot的下载模式(参见前面基础知识中U-Boot的描述)。在未烧录好操作系统的情况下,不按键盘会报错
仍会自动进入ERROR: can’t get kernel imageU-Boot下载模式;
- 在
U-Boot下载模式下,键入以下指令为TFTP传输服务器和客户端配置IP地址变量
这里=> setenv serverip 10.65.X.250 => setenv ipaddr 10.65.X.25X通常指定为列车ID号,变量serverip指TFTP服务器的地址,这里是指调试电脑已设置好的连接IP地址,变量ipaddr表示CMP的IP地址,这两个变量的IP需设为同一网段。 - 在调试电脑上运行
TFTP服务器,例如Tftpd32/64(参考前面基础知识的常用工具中TFTP的介绍),设置TFTP服务器的服务根目录为ppcbe/boot/ep02/(CMP1)或ppcbe/boot/ep05/(CMP2),后续以`CMP1``为例。 取消待存放数据区域闪存的写保护,并擦除该区域的内容,然后从
TFTP服务器(调试电脑)上下载操作系统内核文件至该区域=> protect off fe180000 +280000 => erase fe180000 +280000 => tftpboot fe180000 uImage.F006

取消待存放数据区域闪存的写保护,并擦除该区域的内容,然后从
TFTP服务器(调试电脑)上下载根文件系统文件至该区域=> protect off fe400000 +1c00000 => erase fe400000 +1c00000 => tftpboot fe400000 rootfs-ubi.F016
- 键入
reset重新启动CMP进入操作系统,第一次启动时需等待生成SSH的密钥对,然后进入操作系统命令行界面(Shell命令行),在超级终端程序界面中出现#提示符,表示Linux操作系统烧录成功。
烧录Opera及CMP配置
- 若是
Linux版STR,直接跳至第3步。若是QNX版STR,第一次烧录,或是烧录前该CMP在使用中文件系统出现了问题,请从第2步开始烧录,否则跳至第3步。 - 在超级终端键入
脚本格式化文件系统,等待一会儿直到出现命令行提示符sh /usr/prod/formatflash.sh#表示执行结束,然后键入
或断电重新启动;reboot - 在
CMP中键入指令(超级终端程序界面)进入文件系统根目录,并创建文件系统的目录结构:# cd / # mkdir bin # mkdir etc # mkdir usr # mkdir usr/bin # mkdir usr/lib - 若是
Linux版STR,直接重新启动系统,进入第5步。若是QNX版STR,加载CMP网口驱动并启动TCP/IP网络服务:# sh /usr/prod/start1.sh # inetd - 设置
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)的IP为10.92.X.18/24。以连接列车1端CMP面板的维护网口为例设置并验证(若是Linux版STR,使用eth3代替en3)# ifconfig en3 10.23.214.40/24 # ifconfig - 根据连接
CMP所使用的网口设置调试电脑为与CMP相应网口相同网段的IP地址,根据车载网络连接的说明进行配置。例如若连接CMP面板维护口,一般设置为10.23.214.50/24,若连接的是USWA或USWB的空闲端口,则设置为10.92.X.250/24或DHCP自动获取IP。 - 在设置好连接网络后,打开文件传输客户端(在
QNX系统的STR下使用FTP客户端,例如Filezilla;在Linux系统的STR下使用的SCP客户端,例如WinSCP),打开本地Univic Conf目录,远程打开根目录/,然后把本地tgt_mpc/disk目录下除dev外的全部目录及文件上传至CMP的根目录/下,若有提示目录或文件已存在,选择覆盖。 - 覆盖完成后,需注意配置
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和数据NVES与tgt_mpc/deisk/project/bin下的版本不同,还需单独再上传这两个文件。 - 为使上传的程序及脚本能够正确执行,数据具备正确的读写权限,需修相应的文件权限。为方便及简化操作,在根目录
/下,使用以下指令让所有文件递归设置为对整个系统所有用户具备可读、可写及可执行权限# chmod -R 777 * - 断电并可移除
CMP串行口的连接,退出超级终端程序,Opera和CMP配置烧录完毕。
安全处理单元
安全处理单元的烧录,主要是指ATP程序及数据的烧录,安全处理单元需烧录到Unix中设备文件/dev/vital对应的闪存芯片设备中。一般使用BDM连接或TCP/IP网络连接这两种方式烧录之一,需根据情况选择使用。
使用BDM来烧录
在没有烧录过Opera程序及CMP配置的CMP板卡上,或这些部分不能正常工作,以及从未烧录过ATP软件数据的新板卡上,需全用BDM卡USB ColdFire Multilink配合软件PROGCFZ来进行烧录。
- 关闭
CMP电源,按本文前述的基础知识下专用工具中USB-ML-CF部分所介绍方式连接调试电脑至CMP,并在调试电脑上安装好相应的软件和驱动程序,LED绿灯亮; CMP上电,LED黄灯亮。- 在调试电脑上打开
PROGCFZ程序,参照图中的选择Interface,并能能自动检测到USB-ML-CF,若不正确,可尝试Refresh List。当正确检测到BDM后,按Reset and Stop MCU,弹出的选择框中选择与闪存芯片对应的Spansion_29GL128N_R1_1x16x8meg.cfp,然后输入烧录数据的起始地址F8000000;


- 选择
Erase Module等擦除完毕;

- 先烧录
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来验证烧录的正确性,若不正确重新执行本步骤。


- 然后烧录
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来验证烧录的正确性,若不正确重新执行本步骤。 - 烧录完成后断开
CMP电源,断开CMP与调试电脑的连接。
使用TCP/IP网络烧录
在操作系统和Opera软件及CMP配置都已烧录好,能够正常加载网卡及相应闪存芯片的驱动,/dev/vital设备描述文件能够正常工作的情况下,可以通过TCP/IP网络连接来进行烧录。
- 按照前面
软件数据烧录中CC软件烧录的车载网络连接中描述的方法,连接调试电脑与CMP板。 - 使用
Telnet客户端(QNX操作系统STR)或SSH客户端(Linux操作系统STR)程序,例如putty,作为虚拟终端连接并以root用户登录CMP; - 在虚拟终端键入
ls /dev/vital,查看确保已正常加载了闪存芯片驱动,并创建了闪存芯片的设备节点文件/dev/vital,方能继续进行ATP软件和数据的烧录,否则将无法使用本方法烧录ATP软件和数据; - 若列车两端
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 # - 若是
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/ - 按
ATC复位按钮断电或两端同时键入reboot指令重新启动Univic。 - 启动后观察确认运行状态正常,或通过以下指令检查
ATP软件数据烧录正确# obsterm.elf OPERA> ipumgr prg OPERA> exit #
检查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来烧录安全软件数据,则无烧录顺序的要求。
- 按照前面
软件数据烧录中CC软件烧录的车载网络连接中描述的方法,连接调试电脑与CMP板。 - 使用
Telnet客户端(QNX操作系统STR)或SSH客户端(Linux操作系统STR)程序,例如putty,作为虚拟终端连接并以root用户登录CMP; - 在虚拟终端键入
ls /dev/vital,查看确保已正常加载了闪存芯片驱动,并创建了闪存芯片的设备节点文件/dev/vital,方能继续进行ATP软件和数据的烧录,否则可转至第7步,先跳过烧录ATP软件和数据,待完成第9步后参照本节的安全处理单元下使用BDM来烧录中描述完成ATP软件和数据的烧录,然后再进行第10步检查复核; - 若列车两端
CMP都需烧录ATP软件和数据,只需在主控端执行指令使两端CMP进入维护模式:尝试在虚拟终端中执行Opera工具的redkern指令
在执行完# obsterm.elf OPERA> redkern state OPERA> exitredkern state后可能显示两种情况,显示带Eqt local Maitre字符的,表示为主控端,而显示带Eqt local Veille的是非主控端。 在主控端执行以下指令,把两块CMP设置为维护模式# ptfmode.elf > X > 6 > q # - 若是
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/目前在
Linux的STR,在WinSCP直接上传exe.F800和conf.F880至CMP的/dev/vital/目录时,每个文件传输结束会弹出一个报错对话框,不要点确定性,等待5分钟后再点确定即可。 - 在虚拟终端中关闭看门狗程序,停止
Opera程序及非安全软件,准备更换Opera程序和CMP配置、非安全软件数据(ATO软件数据等式),执行结束后出现#提示符# /stop.sh - 打开文件传输客户端(在
QNX系统的STR下使用FTP客户端,例如Filezilla;在Linux系统的STR下使用的SCP客户端,例如WinSCP),打开本地Univic Conf目录,远程打开根目录/,然后把本地tgt_mpc/disk目录下除dev外的全部目录及文件上传至CMP的根目录/下,若有提示目录或文件已存在,选择覆盖。 - 覆盖完成后,需注意配置
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和数据NVES与tgt_mpc/deisk/project/bin下的版本不同,还需单独再上传这两个文件。 - 为使上传的程序及脚本能够正确执行,数据具备正确的读写权限,需修相应的文件权限。为方便及简化操作,在根目录
/下,使用以下指令让所有文件递归设置为对整个系统所有用户具备可读、可写及可执行权限# chmod -R 777 * - 退出文件传客户端程序,两端都烧录结束后重启
Univic,使用OMAP检查复核烧录的ATP和ATO的软件版本及数据MD5值正确,指示灯正确,系统工作正常。
若在烧录过程中发生问题,请尝试重新烧录该部分内容,若由于操作失误或其它原因导致启动
Opera后,无法载入安全闪存芯片的驱动,即无/dev/vital/设备目录,则只能使用BDM重新烧录安全软件解决。
典型QNX版STR全新CMP板卡完整烧录简明步骤
- 连接硬件,用网线从调试电脑连接至
USW的空闲端口,用BDM连接调试电脑与CMP板上的调试接口; CMP上电,打开PROGCFZ程序,按Reset and Stop MCU,选Spansion_29GL128N_R1_1x16x8meg.cfp,地址F8000000;- 选择
Erase Module擦除; - 选择
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来验证; - 选择
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来验证; - 断开
CMP电源; - 打开连接超级终端程序,
BDM设置SMC至SMC1,mode1和mode2为On,CMP上电; - 键入
以serdlYmodem发送imageMen.F004; - 设置启动参数
ee-bs fe100100 - 把
mode1和mode2设为Off,以指令重启rst - 以
root登录,格式化闪存盘sh /usr/prod/formatflash.sh - 通过指令重启
reboot - 再次以
root登录; - 创建目录,启动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 - 设置调试电脑
IP为相同网段,用Filezilla连接上传tgt_mpc/disk下除dev目录外的全部内容覆盖到CMP根目录/,若是驾驶室2端,还需替换上传_ip_maint_cab2/ip_maint.sh至/etc下; - 修改文件权限
chmod -R 777 * - 断开
CMP与调试电脑间所有连接,重新启动并检查程序是否正常工作psvc.elf -list
典型Linux版STR全新CMP板卡完整烧录简明步骤
- 以旧版本
CMP为例(版本CMP2稍有不同,待后续补充),连接硬件,用网线从调试电脑连接至USW的空闲端口,用BDM连接调试电脑与CMP板上的调试接口; CMP上电,打开PROGCFZ程序,按Reset and Stop MCU,选Spansion_29GL128N_R1_1x16x8meg.cfp,地址F8000000;- 选择
Erase Module擦除; - 选择
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来验证; - 选择
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来验证; - 断开
CMP电源; - 打开连接超级终端程序,
BDM设置SMC至SMC1,mode1和mode2为On,CMP上电; - 烧录
U-Boot
以erase F 100000 1ec0000 serdlYmodem发送u-boot-bin.F004; - 设置启动参数
ee-bs fe100100 - 把
mode1和mode2设为Off,通过指令重启rst - 在调试电脑设置
IP为10.64.0.250/24(或10.68.0.250/24),打开TFTP服务器,把服务目录设置在uImage.F006和rootfs-ubi.F016所在目录,启动TFTP服务; - 在提示
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 - 通过指令重启
reboot - 以
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 - 用
WinSCP连接上传tgt_mpc/disk下除dev目录外的全部内容覆盖到CMP根目录/,若是驾驶室2端,还需替换上传_ip_maint_cab2/ip_maint.sh至/etc下; - 修改文件权限
chmod -R 777 * - 断开
CMP与调试电脑间所有连接,重新启动并检查程序是否正常工作psvc.elf -list
典型升级简明步骤
以升级Opera及UNIVIC配置、ATP程序和数据、ATO程序和数据为例。
- 连接调试电脑至
USW的空闲端口,设置好IP地址; - 通过
putty以root帐户登录CMP,若两端都要升级,找到第二条指令输出带Eqt local Maitre的主控端obsterm.elf OPERA> redkern state OPERA> exit - 在主控端执行
ptfmode.elf > X > 6 > q - 若是
QNX版STR,通过Filezilla把exe.F800、conf.F880上传到CMP根目录,然后
通过cp exe.F800 /dev/vital/ cp conf.F880 /dev/vital/Filezilla删除上传到根目录/中的这两个文件,跳至第6步; - 若是
Linux版STR,以覆盖方式通过WinSCP分别把exe.F800、conf.F880上传到CMP的/dev/vital/目录中,每个文件上传结束前会报错,不要确认,等约5分钟后确认; - 停止
Opera平台./stop.sh - 通过
Filezilla或WinSCP把tgt_mpc/disk下除dev目录外的全部内容覆盖上传到CMP根目录/,若是驾驶室2端,还需替换上传_ip_maint_cab2/ip_maint.sh至/etc下; - 从软件和数据包中把需升级的
ATO软件(org_mpc_tsk_ato.elf)和数据(NVES)覆盖上传到CMP的/project/bin/下; - 修改文件权限
chmod -R 777 * - 断开
CMP与调试电脑间所有连接,重新启动并检查程序是否正常工作psvc.elf -list - 列车两端烧录完成后,重启
UNIVIC系统,观察面板指示灯,通过网线连接调试电脑与CMP面板网口,从OMAP上检查确认软件版本和数据哈希值正确。
若
ATP软件和数据烧录后不能正常工作,请参考本文中安全处理单元中使用BDM烧录所述内容重新烧录这部分