关于车机中的升级流程小结(SOC、MCU、4G升级流程)

文章目录

  • [1. SOC升级流程](#1. SOC升级流程)
  • [2. Recovery流程](#2. Recovery流程)
  • [3. 4G 升级流程](#3. 4G 升级流程)

本文总结了工作中使用的 soc 、mcu、 4g升级的主要流程,主要是思路记录,方便日后复盘用。

1. SOC升级流程

2. Recovery流程

3. 4G 升级流程

BH 在Android下升级N725-CA模块的升级流程:

1、确保模块处于正常开机状态,判断方法:发送lsusb 返回PID:VID:2949:7252

2、确保模块正常枚举ttyACM0端口,可通过ls /dev/ttyACM查看
3、往/dev/ttyACM0口发送进入下载模式指令AT M Y D O W N L O A D = 1 让模式进入下载模式,使用 e c h o 方式发送是: e c h o − e ′ A T MYDOWNLOAD=1让模式进入下载模式,使用echo方式发送是:echo -e 'AT MYDOWNLOAD=1让模式进入下载模式,使用echo方式发送是:echo−e′ATMYDOWNLOAD=1\r\n' > /dev/ttyACM0 ,也可以使用串口工具发送。
4、检查模块是否成功进入下载模式,可使用lsusb指令查询,返回PID VID:2ecc 3001 表示模块正常进入下载模式。如果没有进入下载模式,需要返回第三步重新尝试。
5、运行fbfdownloader_cross升级工具进行升级,指令格式为:./fbfdownloader_cross -b BinFile.bin,升级过程中不能断电,等待升级完成,一般为30-40S,完成后会打印Burn Successfully 等关键字。
6、升级完成后模块会自动重启,lsusb查询返回PID:VID:2949:7252 , ls /dev/ttyACM
返回ttyACM0端口。

7、发送AT+CGMR指令查询模块软件版本,使用echo方式命令为:echo -e "AT+CGMR\r\n" > /dev/ttyACM0 ,需要正常查询到软件版本,如果一次没有返回,需要重试。

8、给模块发送echo -e "ATPROD=0\r\n" > /dev/ttyACM0 指令让模块退出产线模式。需要返回OK,没有返回需要重试。
9、重启模块,因为AT
PROD=0命令 重启生效。


1、BH Android下面发N725进入升级的指令格式:

echo -e 'AT$MYDOWNLOAD=1\r\n' > /dev/ttyACM0 (客户目前使用这个)

echo -e "AT$MYDOWNLOAD=1\r\n" > /dev/ttyACM0

2、BH 客户Android下运行./fbfdownloader_cross升级工具打印如下:

C:\Users\hkx\Desktop>adb shell

rk3568_s:/ $

rk3568_s:/ $

rk3568_s:/ $ su

rk3568_s:/ #

rk3568_s:/ # cd /cache/

rk3568_s:/cache #

rk3568_s:/cache #

rk3568_s:/cache # ./fbfdownloader_cross -b B

BinFile.bin-open BinFile.bin-stand

rk3568_s:/cache # ./fbfdownloader_cross -b BinFile.bin-stand

fbfdownloader version: 5.0.0.1

fbfdownloader date: 2023-10-17

BinFilePath is :BinFile.bin-stand

Open BinFile.bin Successed!

Read from File Value is 1adb1f4

Convert Value is 1adb1f4

Offset of Map is 28160500

Size of Map is 8

Find image name:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x08080xFFFF_FBF_h.bin

Find image name:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x08080xFFFF_FBF_timheader.bin

Find image name:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x09040xFFFF_FBF_h.bin

Find image name:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x09040xFFFF_FBF_timheader.bin

Find image name:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x0D040xFFFF_FBF_h.bin

Find image name:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x0D040xFFFF_FBF_timheader.bin

Find image name:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\DKB_timheader.bin

Find image name:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\Dkb.bin

BinFileWtp_InitParameter2 Success!

AppPath is :/cache

Init C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x08080xFFFF_FBF_h.bin

Init C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x08080xFFFF_FBF_timheader.bin

Init C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x09040xFFFF_FBF_h.bin

Init C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x09040xFFFF_FBF_timheader.bin

Init C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x0D040xFFFF_FBF_h.bin

Init C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x0D040xFFFF_FBF_timheader.bin

Init C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\DKB_timheader.bin

Init C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\Dkb.bin

DKB_timheader is C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\DKB_timheader.bin DKB is C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\Dkb.bin

VendorDDRId:0x0808 FlashInfo:0xFFFF

FBF:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x08080xFFFF_FBF_h.bin

FBF head:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x08080xFFFF_FBF_timheader.bin

VendorDDRId:0x0904 FlashInfo:0xFFFF

FBF:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x09040xFFFF_FBF_h.bin

FBF head:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x09040xFFFF_FBF_timheader.bin

VendorDDRId:0x0D04 FlashInfo:0xFFFF

FBF:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x0D040xFFFF_FBF_h.bin

FBF head:C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x0D040xFFFF_FBF_timheader.bin

Open BinFile.bin Successed!

MasterBlkHeader.SizeOfBlock=1000

deviceHeaderBuf.DeviceFlags=0

SWD Path is /cache

Begin to initialize WTPTPDownload parameter

Prepared download image

Parse DKB Tim image.

Open BinFile.bin Successed!

TIMH=0x54494d48 dwTimId=0x54494d48 le32toh(dwTimId)=0x54494d48

Open BinFile.bin Successed!

TIMH=0x54494d48 dwTimId=0xea00001e le32toh(dwTimId)=0xea00001e

Number of Images listed in TIM: 2

Parse FBF Tim image.

Open BinFile.bin Successed!

TIMH=0x54494d48 dwTimId=0x54494d48 le32toh(dwTimId)=0x54494d48

Open BinFile.bin Successed!

TIMH=0x54494d48 dwTimId=0x7672614d le32toh(dwTimId)=0x7672614d

Number of Images listed in TIM: 2

Open BinFile.bin Successed!

TIMH=0x54494d48 dwTimId=0x54494d48 le32toh(dwTimId)=0x54494d48

Open BinFile.bin Successed!

TIMH=0x54494d48 dwTimId=0x7672614d le32toh(dwTimId)=0x7672614d

Number of Images listed in TIM: 2

Open BinFile.bin Successed!

TIMH=0x54494d48 dwTimId=0x54494d48 le32toh(dwTimId)=0x54494d48

Open BinFile.bin Successed!

TIMH=0x54494d48 dwTimId=0x7672614d le32toh(dwTimId)=0x7672614d

Number of Images listed in TIM: 2

Complete to Initilize parameter

Begin to detect wtptp device...

init_hotplug_sock

BaseDevPath=/dev/bus/usb

add DevName:/dev/bus/usb/002/002

LogFileName is:/cache/wtp_dev_bus_usb_002_002.log

Getting type of Device...

Open dev OK

Check ifc_id OK!

DevName is /dev/bus/usb/002/002, PipeIn is 129, PipeOut is 2, hDevHandle is 0x6

|Open an BootRom Device: /dev/bus/usb/002/002 |

Get type of device successfully

|/dev/bus/usb/002/002:Add an device |

Open device successfully

Open existing USB device number 0

Enter into WTPTPDownLoad

|Enter into WTPTPDownLoad...: /dev/bus/usb/002/002 |

|Start Image Downloading...: /dev/bus/usb/002/002 |

|Begin DownloadImage...: /dev/bus/usb/002/002 |

|download file name is C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\DKB_timheader.bin: /dev/bus/usb/002/002 |

|Completed DownLoad file: C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\DKB_timheader.bin: /dev/bus/usb/002/002 |

|Begin DownloadImage...: /dev/bus/usb/002/002 |

|download file name is C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\Dkb.bin: /dev/bus/usb/002/002 |

|Completed DownLoad file: C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\Dkb.bin: /dev/bus/usb/002/002 |

|Finish to disconnect: /dev/bus/usb/002/002 |

WTPTP dev: /dev/bus/usb/002/002 was closed!

CloseUsbPort devName = ...

remove DevName:/dev/bus/usb/002/002

add DevName:/dev/bus/usb/002/003

LogFileName is:/cache/wtp_dev_bus_usb_002_003.log

Getting type of Device...

Open dev fail, hDevHandle=0xFFFFFFFF

open: No such file or directory

Retry openning

Open dev OK

Check ifc_id OK!

DevName is /dev/bus/usb/002/003, PipeIn is 129, PipeOut is 2, hDevHandle is 0x6

|Open an BootLoader Device: /dev/bus/usb/002/003 |

Get type of device successfully

Thread creation BootLoaderTypeThread

|/dev/bus/usb/002/003:Add an device |

Open device successfully

Enter into BootLoaderIOThread

Enter into WTPTPDownLoad

|Enter into WTPTPDownLoad...: /dev/bus/usb/002/003 |

|Start Image Downloading...: /dev/bus/usb/002/003 |

|Begin DownloadImage...: /dev/bus/usb/002/003 |

|download file name is C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x08080xFFFF_FBF_timheader.bin: /dev/bus/usb/002/003 |

|Completed DownLoad file: C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x08080xFFFF_FBF_timheader.bin: /dev/bus/usb/002/003 |

|Begin DownloadImage...: /dev/bus/usb/002/003 |

|download file name is C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x08080xFFFF_FBF_h.bin: /dev/bus/usb/002/003 |

|Completed DownLoad file: C:\Users\202210~1\AppData\Local\Temp\SWD4535.tmp\temp\0x08080xFFFF_FBF_h.bin: /dev/bus/usb/002/003 |

|Begin Burning flash...: /dev/bus/usb/002/003 |

remove DevName:/dev/bus/usb/002/003 percentage is:100 |

|Finish to disconnect: /dev/bus/usb/002/003 |

|/dev/bus/usb/002/003:Burn Successfully |

TerminateBL...

BootLoader Thread Completed A!

BootLoader Thread Completed B!

BootLoader Thread Completed C!

BootLoader Thread Completed E!

WTPTP dev: /dev/bus/usb/002/003 was closed!

CloseUsbPort devName = ...

Quit from detect device...

please wait ...

FBFDownloader EXIT...

rm: /cache: Read-only file system

DelCWtptpDownLoad

kl_destroy(stifl, me->ImageFileList);

kl_destroy(stifl, me->ImageFileList);

kl_destroy(stifl, me->ImageFileList);

kl_destroy(stifl, me->ImageFileList);

rk3568_s:/cache #

over~

相关推荐
肖。35487870943 小时前
[技巧-11]AndroidManifest.xml完善小技巧。
android
IDC02_FEIYA3 小时前
SQL Server 2016及SQL Server Management Studio下载,SQL Server 2016数据库安装教程图解
服务器·数据库·性能优化
小羊子说3 小时前
Android 车机开发中常用的adb 脚本(更新中)
android·linux·adb·性能优化·车载系统
用户7607495397833 小时前
Android页面四大布局运行结果
android
风往哪边走4 小时前
搜索框自定义
android
ssdfang4 小时前
【MySQL 的数据目录】
数据库·mysql·adb
ai_coder_ai4 小时前
如何使用adb来实现自动化脚本
adb·autojs·自动化脚本·冰狐智能辅助·easyclick
用户8249281925364 小时前
把android资源类型详解
android
IT观测4 小时前
深度分析俩款主流移动统计工具Appvue和openinstall
android·java·数据库