CN112084142A - 一种日志存储方法、装置及t-box - Google Patents
一种日志存储方法、装置及t-box Download PDFInfo
- Publication number
- CN112084142A CN112084142A CN202010797153.9A CN202010797153A CN112084142A CN 112084142 A CN112084142 A CN 112084142A CN 202010797153 A CN202010797153 A CN 202010797153A CN 112084142 A CN112084142 A CN 112084142A
- Authority
- CN
- China
- Prior art keywords
- mcu
- log
- communication module
- serial port
- module soc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000011022 operating instruction Methods 0.000 claims description 11
- 230000002093 peripheral effect Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/3822—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving specially adapted for use in vehicles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种日志存储方法、装置及T‑BOX,所述方法用于车载T‑BOX中,车载T‑BOX包括通讯模组soc、与通讯模组soc连接的MCU、分别与通讯模组soc和MCU连接的继电器开关、与通讯模组soc连接的emmc存储器以及分别与MCU连接的片外flash存储器和can收发器,所述方法包括在所述通讯模组soc上电时,所述MCU通过所述继电器开关连通所述通讯模组soc,实时接收所述通讯模组soc调试串口日志,并把所述通讯模组soc调试串口日志和MCU日志分别存储到片外flash存储器中对应的存储块;在通讯模组soc上电成功后,所述MCU将所述存储块中的所述调试串口日志和所述MCU日志分别传输给所述通讯模组soc,并保存到所述emmc存储器中。通过本发明,解决了现有T‑BOX启动过程中通讯模组soc日志和MCU日志难于获取的问题。
Description
技术领域
本发明涉及汽车通信技术领域,尤其涉及一种日志存储方法、装置及T-BOX。
背景技术
T-BOX(车联网系统终端,Telematics BOX),主要用于与TSP(Telematics ServiceProvider,内容服务提供者)后台通讯,实现车辆信息显示及远程控制等功能。在4G/5G网络时代,新一代的T-BOX采用通讯模组soc(System on Chip,系统级芯片)+MCU(MicroControl Unit,微控制单元)结合的双CPU硬件架构。其中,通讯模组一般运行linux操作系统,当模组启动成功之后,可以通过dmesg指令获取内核启动日志,但无法获取到内核启动之前比如bootloader阶段的日志,因为该阶段的日志一般都是打印到调试串口的。假如存在一些系统文件损坏、硬件异常之类的问题,导致linux内核启动失败,用户只能对硬件进行拆件并飞出调试串口线,通过PC机重现问题才能获取到启动日志。对于已经装车的T-BOX而言,这个操作将耗费不少人力拆件成本,假如碰到一些难以复现的问题,甚至花费相当多的时间去复现问题。另外,MCU作为T-BOX源管理主控方,其上电期间的日志同样也很难采集到,给电源管理相关问题排查带来了一定难度。
发明内容
本发明所要解决的技术问题在于,提供一种日志存储方法、装置及T-BOX,用于解决现有T-BOX启动过程中通讯模组soc日志和MCU日志难于获取的问题。
本发明提供的一种日志存储方法,用于车载T-BOX中,所述车载T-BOX包括通讯模组soc、与所述通讯模组soc连接的MCU、分别与所述通讯模组soc和所述MCU连接的继电器开关、与所述通讯模组soc连接的emmc存储器以及分别与所述MCU连接的片外flash存储器和can收发器,所述方法包括:
步骤S11、在所述通讯模组soc上电时,所述MCU通过所述继电器开关连通所述通讯模组soc,实时接收所述通讯模组soc调试串口日志,并把所述通讯模组soc调试串口日志和MCU日志分别存储到片外flash存储器中对应的存储块;
步骤S12、在通讯模组soc上电成功后,所述MCU将所述存储块中的所述调试串口日志和所述MCU日志分别传输给所述通讯模组soc,并保存到所述emmc存储器中。
进一步地,所述步骤S11具体包括:
步骤S211、所述通讯模组soc开始上电时,所述MCU的开关控制管脚向所述继电器开关输出高电平,使通讯模组soc的调试串口发送管脚和所述继电器开关的下输入端连接,以连通所述调试串口发送管脚和所述MCU的第一异步串口接收管脚;
步骤S212、所述MCU为所述通讯模组soc调试串口日志在所述片外flash存储器中分配一个待写入的第一存储块;
步骤S213、所述MCU接收所述通讯模组soc调试串口日志,将所述通讯模组soc调试串口日志复制到在所述MCU中预分配的第一环形缓冲区;
步骤S214、所述MCU按照预设时间间隔轮询所述第一环形缓冲区,将所述第一环形缓冲区中更新的所述通讯模组soc调试串口日志写入到所述片外flash存储器中的所述第一存储块;
步骤S215、所述MCU判断所述通讯模组soc调试串口日志的长度是否达到第一预设长度阈值;
步骤S216、若是,所述MCU停止接收所述通讯模组soc调试串口日志,并进一步实时获取开关控制管脚的电平,根据所述开关控制管脚的电平,判断所述通讯模组soc上电是否成功;若所述MCU判定所述通讯模组soc上电成功,则继续执行所述步骤S12。
进一步地,所述步骤S212具体包括:
所述MCU遍历所述片外flash存储器的所有存储块的头信息,获取最新的启动计数值,将所述最新的启动计数值加1得到当前的启动计数值,每一存储块的头信息包括索引值、使用标志、启动计数值、系统时间和日志总长度;
所述MCU根据所述当前的启动计数值分配一个待写入的第一存储块,并在所有所述第一存储块已经被使用时,分配启动计数值最小的第一存储块作为待写入的第一存储块;
所述MCU分配新的索引值,将所述使用标志置为被使用并且读取系统时间写入第一存储块的头信息。
进一步地,所述步骤S12中将所述存储块中的所述调试串口日志传输给所述通讯模组soc具体包括:
步骤S311、所述MCU将第一存储块的头信息中所述启动计数值和所述系统时间发送给所述通讯模组soc,使所述通讯模组soc在所述emmc存储器上按照第一预设文件命令格式创建调试串口日志文件;
步骤S312、所述MCU将第一存储块中日志内容按照预设数据包最大长度分成多个包,将所述多个包逐个发送至所述通讯模组soc,存储在所述调试串口日志文件中。
进一步地,在所述通讯模组soc上电成功后,所述MCU判断继续采集所述通讯模组soc调试串口日志时,还包括以下步骤:
步骤S313、所述MCU实时接收所述通讯模组soc调试串口日志,将所述通讯模组soc调试串口日志存放到第一环形缓冲区;
步骤S314、所述MCU按照所述预设时间间隔查询所述第一环形缓冲区,将更新的所述通讯模组soc调试串口日志写入第一临时存储块;
步骤S315、所述MCU判断所述第一临时存储块中日志内容是否发送完毕;若是,则所述MCU将所述第一存储块的头消息中使用标志置为未被使用;若否,所述MCU将所述第一临时存储块中日志内容按照预设数据包最大长度分成多个包,将所述多个包逐个发送至所述通讯模组soc,存储在所述调试串口日志文件中;
步骤S316、所述MCU判断所述第一临时存储块中日志内容是否发送完毕;若是,所述MCU停止向所述第一临时存储块中写入日志内容,实时接收所述通讯模组soc调试串口日志,将所述通讯模组soc调试串口日志存放到第一环形缓冲区;
步骤S317、所述MCU实时读取所述第一环形缓冲区中更新的所述通讯模组soc调试串口日志,并实时将所述更新的通讯模组soc调试串口日志发送至所述通讯模组soc,存储在所述emmc存储器中;
步骤S318、所述MCU判断所述第一存储块中日志内容是否发送完毕;若是,所述MCU结束对上电后所述通讯模组soc调试串口日志进行采集。
进一步地,所述步骤S11还包括:
步骤S41、所述MCU为所述MCU日志在所述片外flash存储器中分配一个待写入的第二存储块;
步骤S42、所述MCU将所述MCU日志保存到预分配的第二环形缓冲区;
步骤S43、所述MCU按照预设时间间隔轮询所述第二环形缓冲区,将所述第二环形缓冲区中更新的所述MCU日志写入到所述第二存储块;
步骤S44、所述MCU判断所述MCU日志的长度是否达到第二预设长度阈值;
步骤S45、若是,所述MCU停止从所述第二环形缓冲区中获取更新的所述MCU日志,并进一步实时监测开关控制管脚的电平,根据所述开关控制管脚的电平,判断所述通讯模组soc上电是否成功;
步骤S46、若判定所述通讯模组soc上电成功,则继续执行所述步骤S12。
进一步地,所述步骤S12中将所述存储块中的所述MCU日志传输给所述通讯模组soc包括:
步骤S51、所述MCU将第二存储块的头信息中所述启动计数值和所述系统时间发送给所述通讯模组soc,使得所述通讯模组soc按照第二预设文件命名格式在所述emmc存储器中创建MCU日志文件;
步骤S52、所述MCU将第二存储块中日志内容按照预设数据包最大长度分成多个包,将所述多个包逐个发送至所述通讯模组soc,存储在所述MCU日志文件中;
步骤S53、所述MCU将实时产生的所述MCU日志保存到所述第二环形缓冲区;
步骤S54、所述MCU实时读取所述第二环形缓冲区中所述实时产生的MCU日志,写入第二临时存储块;
步骤S55、所述MCU判断所述第二存储块中日志内容是否发送完毕;
步骤S56、若是,所述MCU将所述第二临时存储块中日志内容按照预设数据包最大长度分成多个包,将所述多个包逐个发送至所述通讯模组soc,存储在所述MCU日志文件中;
步骤S57、所述MCU判断所述第二临时存储块中日志内容是否发送完毕;
步骤S58、若是,则所述MCU停止向所述第二临时存储块中写入日志内容,保存所述MCU日志到所述第二环形缓冲区。
步骤S59、所述MCU实时读取所述第二环形缓冲区中更新的所述MCU日志,将所述MCU日志发送至所述通讯模组soc,存储在所述emmc存储器上所述MCU日志文件中。
进一步地,所述方法还包括:
所述MCU通过所述can收发器接收查看片外flash存储器中的所述调试串口日志或者所述MCU日志的操作指令;
所述MCU暂停其他所述can接口指令打印,对应地遍历片外flash存储器中存储所述调试串口日志或者所述MCU日志的存储块;
所述MCU按照预设格式对应地打印所述存储块中的所述调试串口日志或者所述MCU日志到can总线,完成查看片外flash存储器中的所述调试串口日志或者所述MCU日志的操作指令后恢复被暂停的打印。
进一步地,所述方法还包括:
所述MCU通过can收发器接收导出片外flash存储器中的所述调试串口日志或者所述MCU日志的操作指令,所述操作指令包括启动计数值;
所述MCU暂停其他所述can接口指令打印,按先后顺序将所述启动计数值对应的存储块的头信息和对应的所述调试串口日志或者所述MCU日志打印到can总线,完成导出片外flash存储器日志中的所述调试串口日志或者所述MCU日志的操作指令后恢复被暂停的打印。
进一步地,所述方法还包括:
所述MCU通过所述can收发器接收查看emmc存储器中所述调试串口日志或者所述MCU日志的操作指令,所述操作指令包括文件计数值;
所述MCU暂停其他所述can接口指令打印,控制所述MCU向所述继电器开关输出低电平,使得所述通讯模组soc的第一异步串口发送管脚与所述继电器开关的上输入端连接;
所述MCU通过第二异步串口发送管脚向所述通讯模组soc发送所述查看emmc存储器中所述调试串口日志或者所述MCU日志的操作指令;
所述通讯模组soc根据所述文件计数值找到与所述文件计数值对应份数最新的所述调试串口日志或者所述MCU日志,将所述最新所述调试串口日志或者所述MCU日志传输给所述MCU,由所述MCU打印到can总线;
所述MCU对应地完成查看emmc存储器中所述调试串口日志或者所述MCU日志的操作指令后恢复被暂停的打印。
进一步地,所述方法还包括:
所述MCU通过所述can收发器接收导出emmc存储器中所述调试串口日志或者所述MCU日志的操作指令,所述操作指令包括文件计数值和启动计数值;
所述MCU暂停其他所述can接口指令打印,控制所述MCU向所述继电器开关输出低电平,使得所述通讯模组soc的第一异步串口发送管脚与所述继电器开关的上输入端连接;
所述MCU的第二异步串口发送管脚向所述通讯模组soc发送所述查看emmc存储器中所述调试串口日志或者所述MCU日志的操作指令;
所述通讯模组soc判断所述启动计数值是否为0;
所述通讯模组soc在所述启动计数值不为0时,选择启动计数值对应的日志文件为导出文件;
所述通讯模组soc在所述启动计数值为0时,挑选所述启动计数值最大的与所述文件计数值对应份数所述调试串口日志或者所述MCU日志作为导出文件;
所述通讯模组soc将所述导出文件传输给所述MCU,由所述MCU打印到can总线;
所述MCU完成导出emmc存储器中所述调试串口日志或者所述MCU日志日志的操作指令后恢复被暂停的打印。
本发明提供的一种日志存储装置,用于车载T-BOX中,所述装置包括通讯模组soc、MCU、继电器开关、emmc存储器、片外flash存储器和控制器局域网络接口can收发器;
在所述通讯模组soc上电时,所述MCU用于通过所述继电器开关连通所述通讯模组soc,实时接收所述通讯模组soc调试串口日志,并把所述通讯模组soc调试串口日志和MCU日志分别存储到片外flash存储器中对应的存储块;
在通讯模组soc上电成功后,所述MCU用于将所述存储块中的所述调试串口日志和所述MCU日志分别传输给所述通讯模组soc,并保存到所述emmc存储器中。
进一步地,所述通讯模组soc设置有开关状态指示管脚、第一异步串口发送管脚、第二异步串口接收管脚、调试串口发送管脚、调试串口接收管脚和高容量安全数字接口,其中所述开关状态指示管脚直接连接所述MCU,所述高容量安全数字接口直接连接到所述emmc存储器,所述第一异步串口发送管脚和所述调试串口发送管脚分别与所述继电器开关的上输入端和下输入端连接;
所述MCU设置有第二异步串口发送管脚、第一异步串口接收管脚、开关控制管脚、串行外设接口和can接口,所述第二异步串口发送管脚直接连接所述通讯模组soc的第二异步串口接收管脚,所述开关控制管脚直接连接所述继电器开关,所述串行外设接口直接连接所述片外flash存储器,所述can接口直接连接所述can收发器,所述第一异步串口接收管脚与所述继电器开关的输出端连接。
本发明提供的一种T-BOX,所述T-BOX包括上述日志存储装置。
实施本发明,具有如下有益效果:
通过本发明,通过继电器开关将车载T-BOX中的通讯模组soc与MCU连通,在MCU上分别为通讯模组soc调试串口日志和MCU日志分别设置缓冲区,将不同缓冲区内的日志复制到与MCU连接的片外flash存储器;解决了现有车载TBOX启动过程中通讯模组soc日志和MCU日志难于获取的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的车载T-BOX硬件连接结构图。
图2是本发明实施例提供的日志存储方法的流程图。
图3是本发明实施例提供的日志存储方法的流程图。
图4是本发明实施例提供的日志存储方法的流程图。
图5是本发明实施例提供的日志存储方法的流程图。
图6是本发明实施例提供的日志存储方法的流程图。
图7是本发明实施例提供的日志存储块格式的结构图。
具体实施方式
本专利中,以下结合附图和实施例对该具体实施方式做进一步说明。
如图1所示,本发明实施例提供了车载T-BOX硬件连接结构,所述车载T-BOX包括通讯模组soc11、与所述通讯模组soc11连接的MCU12、分别与所述通讯模组soc11和所述MCU12连接的继电器开关13、与所述通讯模组soc11连接的emmc(Embedded Multi Media Card)存储器14以及分别与所述MCU12连接的片外flash存储器15和控制器局域网络接口can(Controller Area Network,控制器局域网络)收发器16;
具体地,所述通讯模组soc11设置有开关状态指示管脚111、第一异步串口发送管脚112、调试串口发送管脚113、调试串口接收管脚114、高容量安全数字接口115和第二异步串口接收管脚116,其中所述开关状态指示管脚111直接连接所述MCU12,所述高容量安全数字接口115直接连接到所述emmc存储器14;
所述MCU12设置有第二异步串口发送管脚121、第一异步串口接收管脚122、开关控制管脚123和串行外设接口124和can接口125,所述第二异步串口发送管脚121直接连接所述通讯模组soc11的第二异步串口接收管脚116,所述开关控制管脚123直接连接所述继电器开关13,所述串行外设接口124直接连接所述片外flash存储器15,所述can接口125直接连接所述can收发器16;
所述第一异步串口发送管脚112和所述调试串口发送管脚113分别与所述继电器开关13的上输入端131和下输入端132连接,所述第一异步串口接收管脚122与所述继电器开关13的输出端133连接。
如图2所示,本发明实施例提供了日志存储方法,所述日志存储方法用于车载T-BOX中,所述方法包括:
步骤S11、在所述通讯模组soc上电时,所述MCU通过所述继电器开关连通所述通讯模组soc,实时接收所述通讯模组soc调试串口日志,并把所述通讯模组soc调试串口日志和MCU日志分别存储到片外flash存储器中对应的存储块;
步骤S12、在通讯模组soc上电成功后,所述MCU将所述存储块中的所述调试串口日志和所述MCU日志分别传输给所述通讯模组soc,并保存到所述emmc存储器中。
需要说明的是,在通讯模组soc上电时,实时接收通讯模组soc调试串口日志,一旦通讯模组soc不能启动成功,依然可以获得相关日志进行诊断,而不需要将机器拆开,而且不需要花费很多时间复现问题。
如图3所示,本发明实施例提供了日志存储方法,所述方法包括:
步骤S211、所述通讯模组soc开始上电时,所述MCU的开关控制管脚向所述继电器开关输出高电平,使通讯模组soc的调试串口发送管脚和所述继电器开关的下输入端连接,以连通所述调试串口发送管脚和所述MCU的第一异步串口接收管脚。
需要说明的是,当通讯模组soc开始上电时,可以选择的是,MCU读取第一预设开关的值,根据所述第一预设开关的值,判断是否配置自动获取所述通讯模组soc调试串口日志;当自动获取所述通讯模组soc调试串口日志被配置时,控制所述MCU的开关控制管脚向所述继电器开关输出高电平。
其中MCU设置两个日志采集开关,所述两个日志采集开关包括第一预设开关DID_0x2E01和第二预设开关DID_0x2E02。
DID_0x2E01:调试串口日志自动采集开关。如果该DID的值等于0x01,表示打开自动采集;如果该DID的值等于0x00或其他值,表示关闭自动采集。该DID值默认为0x01。注意,如果要从硬件飞线出来通过PC机采集的话,需要关闭自动采集。
DID_0x2E02:当通讯模组soc上电成功之后是否继续采集通讯模组soc调试串口日志。如果该DID的值等于0x01,表示当通讯模组上电成功之后继续采集。如果该DID的值等于0x00或其他值,表示当通讯模组上电成功之后停止采集。该DID值默认为0x00。
需要说明的是,读取第一预设开关的值可以有三次失败重试的机会。
可选的是,MCU会初始化MCU外设,将异步串口和串行外设接口的收发都配置成直接存储器访问方式,并把所述开关状态指示管脚设置成中断输入,其中所述MCU外设包括异步串口、串行外设接口和直接存储器访问外设,所述开关状态指示管脚被配置成上升沿和下降沿均可触发中断。
步骤S212、MCU为所述通讯模组soc调试串口日志在片外flash存储器中分配一个待写入的第一存储块。
可选的,把分配的所述待写入的第一存储块置为被使用。
参考图7,日志存储块的格式,日志由日志数据头head和日志内容data组成,日志数据头定义如下:
其中,index表示片外flash存储器中的日志存储块序号;used_flag表示该存储块是否已经被使用,1表示被使用,0表示未被使用;boot_cnt表示启动的总次数;timestamp表示日志采集开始时间,以unix time格式表示;len表示日志数据总长度,以字节为单位。日志数据头总共20字节。
在本发明实施例中,在片外flash存储器中为所述通讯模组soc调试串口日志分配了8个第一存储块,index分别从1至8,每个第一存储块大小=数据头20字节+日志内容最大长度,该日志内容最大长度为256×1024字节,另外还分配了一个长度为256×1024字节的第一临时存储块,该第一临时存储块没有数据头;在片外flash存储器中为所述mcu日志分配了8个第二存储块,index分别从9至16,每个第一存储块大小=数据头20字节+日志内容最大长度,该日志内容最大长度为128×1024字节,另外还分配了一个长度为128×1024字节的第二临时存储块,同样该第二临时存储块没有数据头。
需要说明的是,在步骤S212中如果所有的第一存储块均已经使用,选择boot_cnt值最小的第一存储块。
步骤S213、所述MCU接收所述通讯模组soc调试串口日志,将所述通讯模组soc调试串口日志复制到在所述MCU中预分配的第一环形缓冲区。
本实施例中,MCU通过直接存储器访问实时接收通讯模组soc调试串口日志,采用轮询读取方式,每10ms轮询一次已接收字节计数值,读取并拷贝到第一环形缓冲区;本实施例中第一环形缓冲区为1024字节,当所述第一环形缓冲区写满时,停止写入以防止覆盖。
步骤S214、所述MCU按照预设时间间隔轮询所述第一环形缓冲区,将所述第一环形缓冲区中更新的所述通讯模组soc调试串口日志写入到所述片外flash存储器中的所述第一存储块。
步骤S215、所述MCU判断所述通讯模组soc调试串口日志的长度是否达到第一预设日志长度阈值。
步骤S216、若是,所述MCU停止接受所述通讯模组soc调试串口日志,并进一步实时获取开关控制管脚的电平,根据所述开关控制管脚的电平,判断所述通讯模组soc上电是否成功;若所述MCU判定所述通讯模组soc上电成功,则继续执行步骤S12。
需要说明的是,当判定所述通讯模组soc上电不成功时,继续步骤S12的操作。
进一步地,所述步骤S212具体包括:
所述MCU遍历所述片外flash存储器的所有存储块的头信息,获取最新的启动计数值,将所述最新的启动计数值加1得到当前的启动计数值,每一存储块的头信息包括索引值、使用标志、启动计数值、系统时间和日志总长度;
所述MCU根据所述当前的启动计数值分配一个待写入的第一储存块,并在所有所述第一存储块已经被使用时,分配启动计数值最小的第一存储块作为待写入的第一存储块;
所述MCU分配新的索引值,将所述使用标志置为被使用并且读取系统时间写入第一存储块的头信息。
如图4所示,本发明实施例提供了日志存储方法,所述方法包括:
本实施例介绍了步骤S12中将所述存储块中的所述调试串口日志传输给所述通讯模组soc。
步骤S311、所述MCU将第一存储块的头信息中所述启动计数值和所述系统时间发送给所述通讯模组soc,使得所述通讯模组soc在所述emmc存储器上按照第一预设文件命令格式创建调试串口日志文件。
在本实施例中,MCU向通讯模组soc发送启动的总次数和日志开始采集时间如下,“[debug_head]boot_cnt=%d,timestamp=%u”,其中%d为boot_cnt值,%u为timestamp值。
在本实施例中,所述预设文件命名格式就是emmc日志存储格式,在emmc中以文本文件存储日志,调试串口启动日志存储路径是/mnt/sdcard/log/debug_uart,文件命名格式为debug_uart_log+boot_cnt+timestamp+yymmdd_hhmmss.txt,作为第一预设文件命名格式,整个目录总大小限制为F1;MCU日志存储路径是/mnt/sdcard/log/mcu,文件命名格式为mcu_log+boot_cnt+timestamp+yymmdd_hhmmss.txt,作为第二预设文件命名格式,整个目录总大小限制为F2。
步骤S312、所述MCU将第一存储块中日志内容按照预设数据包最大长度分成多个包,将所述多个包逐个发送至所述通讯模组soc,存储在所述调试串口启动日志文件中。
在本实施例中,“[debug_data]%s”中%s为日志内容,并限定每个数据包最大长度为P字节;在某一实施例中,考虑到mcu RAM资源限制,P=256。
需要说明的是,本实施例中调试串口启动日志文件和mcu日志文件都在与所述通讯模组soc相连接的emmc存储器上。
在所述通讯模组上电成功后,所述MCU判断继续采集所述通讯模组soc调试串口日志时,还包括以下步骤:
步骤S313、所述MCU实时接收所述通讯模组soc调试串口日志,将所述通讯模组soc调试串口日志存放到第一环形缓冲区。
可选的,所述MCU判断继续采集所述通讯模组soc调试串口日志具体包括:
根据所述第二预设开关的值,判断是否继续采集所述通讯模组soc调试串口日志。
步骤S314、所述MCU按照所述预设时间间隔查询所述第一环形缓冲区,将更新的所述通讯模组soc调试串口日志写入所述第一临时存储块。
步骤S315、所述MCU判断所述第一临时存储块中日志内容是否发送完毕;若是,则将所述第一存储块的头消息中使用标志置为未被使用;若否,则所述MCU将所述第一临时存储块中日志内容按照预设数据包最大长度分成多个包,将所述多个包逐个发送至所述通讯模组soc,存储在所述调试串口启动日志文件中。
步骤S316、所述MCU判断所述第一临时存储块中日志内容是否发送完毕;若是,所述MCU停止向所述第一临时存储块中写入日志内容,实时接收所述通讯模组soc调试串口日志,将所述通讯模组soc调试串口日志存放到第一环形缓冲区。
需要说明的是,步骤S316中第一临时存储块处于边写边读的状态,当第一临时存储快中日志内容读完后,就不再写入。
步骤S317、所述MCU实时读取所述第一环形缓冲区中更新的所述通讯模组soc调试串口日志,并实时将所述更新的通讯模组soc调试串口日志发送至所述通讯模组soc,存储在所述emmc存储器中。
步骤S318、所述MCU判断所述第一存储块中日志内容是否发送完毕;若是,所述MCU结束对上电后所述通讯模组soc调试串口日志进行采集。
如图5所示,本发明实施例提供了日志存储方法,所述方法包括:
步骤S41、所述MCU为所述MCU日志在所述片外flash存储器中分配一个待写入的第二存储块。
需要说明的是,第二存储块的分配方式与第一存储块分配方式相同;可选的是,把分配的所述待写入的第二存储块置为被使用用于标识。
还需要说明的是,本实施例介绍上电期间MCU日志采集方式。
步骤S42、所述MCU将所述MCU日志保存到预分配的第二环形缓冲区。
步骤S43、所述MCU按照预设时间间隔轮询所述第二环形缓冲区,将所述第二环形缓冲区中更新的所述MCU日志写入到所述第二存储块。
步骤S44、所述MCU判断所述MCU日志的长度是否达到第二预设日志长度阈值。
步骤S45、若是,所述MCU停止从所述第二环形缓冲区中获取更新的所述mcu日志,并进一步实时监测开关控制管脚的电平,根据所述开关控制管脚的电平,判断所述通讯模组soc上电是否成功。
步骤S46、若所述MCU判定所述通讯模组soc上电成功,则继续执行所述步骤S12。
如图6所示,本发明实施例提供了T-BOX的日志存储方法,所述方法包括:
步骤S51、所述MCU将第二存储块的头信息中所述启动计数值和所述系统时间发送给所述通讯模组soc,使得所述通讯模组soc按照第二预设文件命名格式在所述emmc存储器中创建MCU日志文件。
本实施例中步骤对应步骤S12中将所述存储块中的所述MCU日志传输给所述通讯模组soc。
在本实施例中,“[mcu_head]boot_cnt=%d,timestamp=%u”,其中%d为boot_cnt值,%u为timestamp值。
步骤S52、所述MCU将第二存储块中日志内容按照预设数据包最大长度分成多个包,将所述多个包逐个发送至所述通讯模组soc,存储在所述MCU日志文件中。
步骤S53、所述MCU将实时产生的所述MCU日志保存到所述第二环形缓冲区。
步骤S54、所述MCU实时读取所述第二环形缓冲区中所述实时产生的MCU日志,写入第二临时存储块。
步骤S55、所述MCU判断所述第二存储块中日志内容是否发送完毕;若是,所述MCU则将所述第二存储块的头消息中使用标志置为未被使用;若否,则跳转到步骤S56。
步骤S56、所述MCU将所述第二临时存储块中日志内容按照预设数据包最大长度分成多个包,将所述多个包逐个发送至所述通讯模组soc,存储在所述MCU日志文件中。
步骤S57、所述MCU判断所述第二临时存储块中日志内容是否发送完毕。
若是,则进一步执行步骤S58;若否,则跳转到步骤S53。
步骤S58、所述MCU停止向所述第二临时存储块中写入日志内容,保存所述MCU日志到所述第二环形缓冲区。
需要说明的是,步骤S57中第二临时存储块处于边写边读的状态,当第二临时存储快中日志内容读完后,就不再写入。
步骤S59、所述MCU实时读取所述第二环形缓冲区中更新的所述MCU日志,将所述MCU日志发送至所述通讯模组soc,存储在所述emmc存储器上所述MCU日志文件中。
在本发明实施例中,通过T-BOX的31服务来实现日志查看和导出操作,31服务定义如下表1所示:
表1
其中,D0-D4表示31服务的id和长度;
D5:00表示操作flash,01表示操作emmc;
D6:00表示操作调试串口日志,01表示操作mcu日志;
D7:00表示日志查看操作,01表示日志导出操作;
D8:表示要导出的日志存储块或文件boot_cnt的高8位;
D9:表示要导出的日志存储块或文件boot_cnt的低8位;
D10:表示要查看或导出的文件个数,适用于emmc操作;
以上数据全是hex格式。
在上电时出现通讯模组soc出现故障时,需要通过片外flash存储器来查看日志,方法具体为,通过can总线给T-Box发送31服务指令;
具体地,所述MCU通过所述can收发器接收查看片外flash存储器中的所述调试串口日志或者所述MCU日志的操作指令;
所述MCU暂停其他can接口指令打印,对应地遍历片外flash存储器中存储所述调试串口日志或者所述MCU日志的存储块;
所述MCU按照预设格式对应地打印所述存储块中的所述调试串口日志或者所述MCU日志到can总线,完成查看片外flash存储器中的所述调试串口日志或者所述MCU日志的操作指令后恢复被暂停的打印。
“[debug_log_in_flash]index=%d,boot_cnt=%d,timestamp=%u,len=%u”
“[mcu_log_in_flash]index=%d,boot_cnt=%d,timestamp=%u,len=%u”
还需要说明的是,把要导出的日志存储块头消息中boot_cnt填充到D8和D9并通过can总线给T-Box发送31服务指令;
具体地,所述MCU通过所述can收发器接收导出片外flash存储器中的所述调试串口日志或者所述MCU日志的操作指令,所述操作指令包括所述启动计数值;
所述MCU暂停其他所述can接口指令打印,按先后顺序将所述启动计数值对应的存储块头信息和对应的所述调试串口日志或者所述MCU日志内容打印到can总线,完成导出片外flash存储器中的所述调试串口日志或者所述MCU日志的操作指令后恢复被暂停的打印。
上电以后继续采集通讯模块soc调试串口日志和mcu日志,会存放到与通讯模块soc连接的emmc存储器上,查看日志方法:把要查看的文件个数file_cnt填充到D10并通过can总线给T-Box发送31服务指令;
具体地,所述MCU通过所述can收发器接收查看emmc存储器中所述调试串口日志或者所述MCU日志的操作指令,所述操作指令包括文件计数值;
所述MCU暂停其他所述can接口指令打印,控制所述MCU向所述继电器开关输出低电平,使得所述通讯模组soc的所述第一异步串口发送管脚与所述继电器开关的上输入端连接;
所述MCU通过第二异步串口发送管脚向所述通讯模组soc发送所述查看emmc存储器中所述调试串口日志或者所述MCU日志的操作指令;
所述通讯模组soc根据所述文件计数值找到与所述文件计数值对应份数最新日志文件,将所述最新日志文件传输给所述mcu,由MCU打印到can总线;
完成查看emmc存储器日志的操作指令后恢复被暂停的打印。
“[debug_log_in_emmc]boot_cnt=%d,timestamp=%u,len=%u”
“[mcu_log_in_emmc]boot_cnt=%d,timestamp=%u,len=%u”
最终,将所述emmc存储器上日志文件的boot_cnt和file_cnt填充到D8、D9和D10并通过can总线给T-Box发送31服务指令;注意,如果boot_cnt不为0,则导出boot_cnt对应的那份日志文件;否则,导出boot_cnt最大的file_cnt份文件;
具体地,所述MCU通过所述can收发器接收导出emmc存储器中所述调试串口日志或者所述MCU日志的操作指令,所述操作指令包括文件计数值和所述启动计数值;
所述MCU暂停其他can接口指令打印,控制所述MCU向所述继电器开关输出低电平,使得所述通讯模组soc的所述第一异步串口发送管脚与所述继电器开关的上输入端连接;
所述MCU通的第二异步串口发送管脚向通讯模组soc发送所述查看emmc存储器中所述调试串口日志或者所述MCU日志的操作指令;
所述通讯模组soc判断判断所述启动计数值是否为0;
所述通讯模组soc判断在所述启动计数值不为0时,选择启动计数值对应的日志文件为导出文件;
所述通讯模组soc判断在所述启动计数值为0时,挑选所述启动计数值较大的与所述文件计数值对应份数日志文件作为导出文件;
所述通讯模组soc判断将所述导出文件传输给所述MCU,由所述MCU打印到can总线;
所述MCU完成导出emmc存储器中所述调试串口日志或者所述MCU日志的操作指令后恢复被暂停的打印。
本发明实施例提供了T-BOX,所述T-BOX包括上述日志存储装置。
实施本发明,具有如下有益效果:
通过本发明,通过继电器开关将车载T-BOX中的通讯模组soc与MCU连通,在MCU上分别为通讯模组soc调试串口日志和MCU日志分别设置缓冲区,将不同缓冲区内的日志复制到与MCU连接的片外flash存储器;解决了现有车载TBOX启动过程中通讯模组soc日志和MCU日志难于获取的问题。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (14)
1.一种日志存储方法,其特征在于,用于车载T-BOX中,所述车载T-BOX包括通讯模组soc、与所述通讯模组soc连接的MCU、分别与所述通讯模组soc和所述MCU连接的继电器开关、与所述通讯模组soc连接的emmc存储器以及分别与所述MCU连接的片外flash存储器和can收发器,所述方法包括:
步骤S11、在所述通讯模组soc上电时,所述MCU通过所述继电器开关连通所述通讯模组soc,实时接收所述通讯模组soc调试串口日志,并把所述通讯模组soc调试串口日志和MCU日志分别存储到片外flash存储器中对应的存储块;
步骤S12、在通讯模组soc上电成功后,所述MCU将所述存储块中的所述调试串口日志和所述MCU日志分别传输给所述通讯模组soc,并保存到所述emmc存储器中。
2.如权利要求1所述的日志存储方法,其特征在于,所述步骤S11具体包括:
步骤S211、所述通讯模组soc开始上电时,所述MCU的开关控制管脚向所述继电器开关输出高电平,使通讯模组soc的调试串口发送管脚和所述继电器开关的下输入端连接,以连通所述调试串口发送管脚和所述MCU的第一异步串口接收管脚;
步骤S212、所述MCU为所述通讯模组soc调试串口日志在所述片外flash存储器中分配一个待写入的第一存储块;
步骤S213、所述MCU接收所述通讯模组soc调试串口日志,将所述通讯模组soc调试串口日志复制到在所述MCU中预分配的第一环形缓冲区;
步骤S214、所述MCU按照预设时间间隔轮询所述第一环形缓冲区,将所述第一环形缓冲区中更新的所述通讯模组soc调试串口日志写入到所述片外flash存储器中的所述第一存储块;
步骤S215、所述MCU判断所述通讯模组soc调试串口日志的长度是否达到第一预设长度阈值;
步骤S216、若是,所述MCU停止接收所述通讯模组soc调试串口日志,并进一步实时获取开关控制管脚的电平,根据所述开关控制管脚的电平,判断所述通讯模组soc上电是否成功;若所述MCU判定所述通讯模组soc上电成功,则继续执行所述步骤S12。
3.如权利要求2所述的日志存储方法,其特征在于,所述步骤S212具体包括:
所述MCU遍历所述片外flash存储器的所有存储块的头信息,获取最新的启动计数值,将所述最新的启动计数值加1得到当前的启动计数值,每一存储块的头信息包括索引值、使用标志、启动计数值、系统时间和日志总长度;
所述MCU根据所述当前的启动计数值分配一个待写入的第一存储块,并在所有所述第一存储块已经被使用时,分配启动计数值最小的第一存储块作为待写入的第一存储块;
所述MCU分配新的索引值,将所述使用标志置为被使用并且读取系统时间写入第一存储块的头信息。
4.如权利要求2所述的日志存储方法,其特征在于,所述步骤S12中将所述存储块中的所述调试串口日志传输给所述通讯模组soc具体包括:
步骤S311、所述MCU将第一存储块的头信息中所述启动计数值和所述系统时间发送给所述通讯模组soc,使所述通讯模组soc在所述emmc存储器上按照第一预设文件命令格式创建调试串口日志文件;
步骤S312、所述MCU将第一存储块中日志内容按照预设数据包最大长度分成多个包,将所述多个包逐个发送至所述通讯模组soc,存储在所述调试串口日志文件中。
5.如权利要求4所述的日志存储方法,其特征在于,在所述通讯模组soc上电成功后,所述MCU判断继续采集所述通讯模组soc调试串口日志时,还包括以下步骤:
步骤S313、所述MCU实时接收所述通讯模组soc调试串口日志,将所述通讯模组soc调试串口日志存放到第一环形缓冲区;
步骤S314、所述MCU按照所述预设时间间隔查询所述第一环形缓冲区,将更新的所述通讯模组soc调试串口日志写入第一临时存储块;
步骤S315、所述MCU判断所述第一临时存储块中日志内容是否发送完毕;若是,则所述MCU将所述第一存储块的头消息中使用标志置为未被使用;若否,所述MCU将所述第一临时存储块中日志内容按照预设数据包最大长度分成多个包,将所述多个包逐个发送至所述通讯模组soc,存储在所述调试串口日志文件中;
步骤S316、所述MCU判断所述第一临时存储块中日志内容是否发送完毕;若是,所述MCU停止向所述第一临时存储块中写入日志内容,实时接收所述通讯模组soc调试串口日志,将所述通讯模组soc调试串口日志存放到第一环形缓冲区;
步骤S317、所述MCU实时读取所述第一环形缓冲区中更新的所述通讯模组soc调试串口日志,并实时将所述更新的通讯模组soc调试串口日志发送至所述通讯模组soc,存储在所述emmc存储器中;
步骤S318、所述MCU判断所述第一存储块中日志内容是否发送完毕;若是,所述MCU结束对上电后所述通讯模组soc调试串口日志进行采集。
6.如权利要求1所述的日志存储方法,其特征在于,所述步骤S11还包括:
步骤S41、所述MCU为所述MCU日志在所述片外flash存储器中分配一个待写入的第二存储块;
步骤S42、所述MCU将所述MCU日志保存到预分配的第二环形缓冲区;
步骤S43、所述MCU按照预设时间间隔轮询所述第二环形缓冲区,将所述第二环形缓冲区中更新的所述MCU日志写入到所述第二存储块;
步骤S44、所述MCU判断所述MCU日志的长度是否达到第二预设长度阈值;
步骤S45、若是,所述MCU停止从所述第二环形缓冲区中获取更新的所述MCU日志,并进一步实时监测开关控制管脚的电平,根据所述开关控制管脚的电平,判断所述通讯模组soc上电是否成功;
步骤S46、若所述MCU判定所述通讯模组soc上电成功,则继续执行所述步骤S12。
7.如权利要求6所述的日志存储方法,其特征在于,所述步骤S12中将所述存储块中的所述MCU日志传输给所述通讯模组soc包括:
步骤S51、所述MCU将第二存储块的头信息中所述启动计数值和所述系统时间发送给所述通讯模组soc,使得所述通讯模组soc按照第二预设文件命名格式在所述emmc存储器中创建MCU日志文件;
步骤S52、所述MCU将第二存储块中日志内容按照预设数据包最大长度分成多个包,将所述多个包逐个发送至所述通讯模组soc,存储在所述MCU日志文件中;
步骤S53、所述MCU将实时产生的所述MCU日志保存到所述第二环形缓冲区;
步骤S54、所述MCU实时读取所述第二环形缓冲区中所述实时产生的MCU日志,写入第二临时存储块;
步骤S55、所述MCU判断所述第二存储块中日志内容是否发送完毕;
步骤S56、若是,所述MCU将所述第二临时存储块中日志内容按照预设数据包最大长度分成多个包,将所述多个包逐个发送至所述通讯模组soc,存储在所述MCU日志文件中;
步骤S57、所述MCU判断所述第二临时存储块中日志内容是否发送完毕;
步骤S58、若是,所述MCU停止向所述第二临时存储块中写入日志内容,保存所述MCU日志到所述第二环形缓冲区。
步骤S59、所述MCU实时读取所述第二环形缓冲区中更新的所述MCU日志,将所述MCU日志发送至所述通讯模组soc,存储在所述emmc存储器上所述MCU日志文件中。
8.如权利要求1所述的日志存储方法,其特征在于,还包括:
所述MCU通过所述can收发器接收查看片外flash存储器中的所述调试串口日志或者所述MCU日志的操作指令;
所述MCU暂停其他所述can接口指令打印,对应地遍历片外flash存储器中存储所述调试串口日志或者所述MCU日志的存储块;
所述MCU按照预设格式对应地打印所述存储块中的所述调试串口日志或者所述MCU日志到can总线,完成查看片外flash存储器中的所述调试串口日志或者所述MCU日志的操作指令后恢复被暂停的打印。
9.如权利要求1所述的日志存储方法,其特征在于,所述方法还包括:
所述MCU通过can收发器接收导出片外flash存储器中的所述调试串口日志或者所述MCU日志的操作指令,所述操作指令包括启动计数值;
所述MCU暂停其他所述can接口指令打印,按先后顺序将所述启动计数值对应的存储块的头信息和对应的所述调试串口日志或者所述MCU日志打印到can总线,完成导出片外flash存储器中的所述调试串口日志或者所述MCU日志的操作指令后恢复被暂停的打印。
10.如权利要求1所述的日志存储方法,其特征在于,还包括:
所述MCU通过所述can收发器接收查看emmc存储器中所述调试串口日志或者所述MCU日志的操作指令,所述操作指令包括文件计数值;
所述MCU暂停其他所述can接口指令打印,控制所述MCU向所述继电器开关输出低电平,使得所述通讯模组soc的第一异步串口发送管脚与所述继电器开关的上输入端连接;
所述MCU通过第二异步串口发送管脚向所述通讯模组soc发送所述查看emmc存储器中所述调试串口日志或者所述MCU日志的操作指令;
所述通讯模组soc根据所述文件计数值找到与所述文件计数值对应份数最新的所述调试串口日志或者所述MCU日志,将所述最新所述调试串口日志或者所述MCU日志传输给所述MCU,由所述MCU打印到can总线;
所述MCU对应地完成查看emmc存储器中所述调试串口日志或者所述MCU日志的操作指令后恢复被暂停的打印。
11.如权利要求1所述的日志存储方法,其特征在于,还包括:
所述MCU通过所述can收发器接收导出emmc存储器中所述调试串口日志或者所述MCU日志的操作指令,所述操作指令包括文件计数值和启动计数值;
所述MCU暂停其他所述can接口指令打印,控制所述MCU向所述继电器开关输出低电平,使得所述通讯模组soc的第一异步串口发送管脚与所述继电器开关的上输入端连接;
所述MCU的第二异步串口发送管脚向所述通讯模组soc发送所述查看emmc存储器中所述调试串口日志或者所述MCU日志的操作指令;
所述通讯模组soc判断所述启动计数值是否为0;
所述通讯模组soc在所述启动计数值不为0时,选择启动计数值对应的日志文件为导出文件;
所述通讯模组soc在所述启动计数值为0时,挑选所述启动计数值最大的与所述文件计数值对应份数所述调试串口日志或者所述MCU日志作为导出文件;
所述通讯模组soc将所述导出文件传输给所述MCU,由所述MCU打印到can总线;
所述MCU完成导出emmc存储器中所述调试串口日志或者所述MCU日志的操作指令后恢复被暂停的打印。
12.一种日志存储装置,用于车载T-BOX中,其特征在于,所述装置包括通讯模组soc、MCU、继电器开关、emmc存储器、片外flash存储器和控制器局域网络接口can收发器;
在所述通讯模组soc上电时,所述MCU用于通过所述继电器开关连通所述通讯模组soc,实时接收所述通讯模组soc调试串口日志,并把所述通讯模组soc调试串口日志和MCU日志分别存储到片外flash存储器中对应的存储块;
在通讯模组soc上电成功后,所述MCU用于将所述存储块中的所述调试串口日志和所述MCU日志分别传输给所述通讯模组soc,并保存到所述emmc存储器中。
13.如权利要求12所述的日志存储装置,其特征在于,所述通讯模组soc设置有开关状态指示管脚、第一异步串口发送管脚、第二异步串口接收管脚、调试串口发送管脚、调试串口接收管脚和高容量安全数字接口,其中所述开关状态指示管脚直接连接所述MCU,所述高容量安全数字接口直接连接到所述emmc存储器,所述第一异步串口发送管脚和所述调试串口发送管脚分别与所述继电器开关的上输入端和下输入端连接;
所述MCU设置有第二异步串口发送管脚、第一异步串口接收管脚、开关控制管脚、串行外设接口和can接口,所述第二异步串口发送管脚直接连接所述通讯模组soc的第二异步串口接收管脚,所述开关控制管脚直接连接所述继电器开关,所述串行外设接口直接连接所述片外flash存储器,所述can接口直接连接所述can收发器,所述第一异步串口接收管脚与所述继电器开关的输出端连接。
14.一种T-BOX,其特征在于,所述T-BOX包括权利要求12或13所述的日志存储装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010797153.9A CN112084142A (zh) | 2020-08-10 | 2020-08-10 | 一种日志存储方法、装置及t-box |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010797153.9A CN112084142A (zh) | 2020-08-10 | 2020-08-10 | 一种日志存储方法、装置及t-box |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112084142A true CN112084142A (zh) | 2020-12-15 |
Family
ID=73736048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010797153.9A Pending CN112084142A (zh) | 2020-08-10 | 2020-08-10 | 一种日志存储方法、装置及t-box |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084142A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685066A (zh) * | 2020-12-25 | 2021-04-20 | 英博超算(南京)科技有限公司 | 一种异构平台的mcu软件代理模式开发方法 |
CN112732522A (zh) * | 2020-12-31 | 2021-04-30 | 东风汽车集团有限公司 | 一种车载mcu可配置日志存储解析方法和系统 |
CN112948311A (zh) * | 2021-03-30 | 2021-06-11 | 几维通信技术(深圳)有限公司 | Linux系统下串口信息截获方法 |
CN114301486A (zh) * | 2021-03-22 | 2022-04-08 | 海信集团控股股份有限公司 | 一种用于WiFi模块的调试装置和方法 |
CN115223269A (zh) * | 2021-09-06 | 2022-10-21 | 广州汽车集团股份有限公司 | 汽车日志上传方法、装置、计算机设备及汽车 |
CN114301486B (zh) * | 2021-03-22 | 2024-06-04 | 海信集团控股股份有限公司 | 一种用于WiFi模块的调试装置和方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5553249A (en) * | 1995-03-08 | 1996-09-03 | Unisys Corporation | Dual bus adaptable data path interface system |
CN109636946A (zh) * | 2018-12-04 | 2019-04-16 | 浙江众泰汽车制造有限公司 | 一种行车日志的计算方法 |
CN110457215A (zh) * | 2019-07-31 | 2019-11-15 | 上海赫千电子科技有限公司 | 一种跨平台的mcu调试方法 |
CN110457217A (zh) * | 2019-07-31 | 2019-11-15 | 上海赫千电子科技有限公司 | 一种跨平台的mcu调试装置 |
WO2020001281A1 (zh) * | 2018-06-27 | 2020-01-02 | 中兴通讯股份有限公司 | 一种TBox控制方法及装置、计算机可读存储介质 |
CN110824982A (zh) * | 2019-10-23 | 2020-02-21 | 武汉光庭信息技术股份有限公司 | 一种ecu远程调试方法、服务器及存储介质 |
CN110912998A (zh) * | 2019-11-26 | 2020-03-24 | 福建汉特云智能科技有限公司 | 一种基于远程设备端的车辆问题排查系统及方法 |
CN111447128A (zh) * | 2020-03-24 | 2020-07-24 | 重庆长安汽车股份有限公司 | 可远程动态配置的整车数据采集上传方法及存储介质 |
-
2020
- 2020-08-10 CN CN202010797153.9A patent/CN112084142A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5553249A (en) * | 1995-03-08 | 1996-09-03 | Unisys Corporation | Dual bus adaptable data path interface system |
WO2020001281A1 (zh) * | 2018-06-27 | 2020-01-02 | 中兴通讯股份有限公司 | 一种TBox控制方法及装置、计算机可读存储介质 |
CN109636946A (zh) * | 2018-12-04 | 2019-04-16 | 浙江众泰汽车制造有限公司 | 一种行车日志的计算方法 |
CN110457215A (zh) * | 2019-07-31 | 2019-11-15 | 上海赫千电子科技有限公司 | 一种跨平台的mcu调试方法 |
CN110457217A (zh) * | 2019-07-31 | 2019-11-15 | 上海赫千电子科技有限公司 | 一种跨平台的mcu调试装置 |
CN110824982A (zh) * | 2019-10-23 | 2020-02-21 | 武汉光庭信息技术股份有限公司 | 一种ecu远程调试方法、服务器及存储介质 |
CN110912998A (zh) * | 2019-11-26 | 2020-03-24 | 福建汉特云智能科技有限公司 | 一种基于远程设备端的车辆问题排查系统及方法 |
CN111447128A (zh) * | 2020-03-24 | 2020-07-24 | 重庆长安汽车股份有限公司 | 可远程动态配置的整车数据采集上传方法及存储介质 |
Non-Patent Citations (9)
Title |
---|
JIRA SOFTWARE: "Bootloader And Stages of Booting Process Explained", pages 1, Retrieved from the Internet <URL:https://embeddedinventor.com/embedded-bootloader-and-booting-process-explained/> * |
KI-WOONG PARK: "T-Box: Tamper-resistant vehicle data collection system for a networked digital tachograph", INTERNATIONAL CONFERENCE ON ICT FOR SMART SOCIETY, 2 September 2013 (2013-09-02), pages 1 - 4 * |
夏宝华;: "C-V2X 5G T-Box技术方案", 电子技术与软件工程, no. 12, 15 June 2020 (2020-06-15), pages 1 - 8 * |
宁玉桥 等: "智能网联汽车T-Box安全性研究", 汽车零部件, no. 05, 28 May 2020 (2020-05-28), pages 98 - 101 * |
张泽瑞: "汽车电子系统安全监控技术研究与实现", 中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑, no. 9, 15 September 2018 (2018-09-15), pages 035 - 35 * |
朱科屹 等: "车载终端信息安全测评指标体系研究", 工业技术创新, no. 06, 25 December 2018 (2018-12-25), pages 7 - 13 * |
李志涛: "FOTA功能测试的研究与分析", 汽车电器, no. 07, 20 July 2020 (2020-07-20), pages 21 - 24 * |
汽车信息安全: "青骥原创 | 关于车载T-BOX的安全防护", pages 1, Retrieved from the Internet <URL:https://www.freebuf.com/articles/ics-articles/236376.html> * |
石丰略 等: "基于TPM芯片的车载安全空中下载系统研究", 信息通信, 15 July 2018 (2018-07-15), pages 24 - 26 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685066A (zh) * | 2020-12-25 | 2021-04-20 | 英博超算(南京)科技有限公司 | 一种异构平台的mcu软件代理模式开发方法 |
CN112685066B (zh) * | 2020-12-25 | 2023-07-07 | 英博超算(南京)科技有限公司 | 一种异构平台的mcu软件代理模式开发方法 |
CN112732522A (zh) * | 2020-12-31 | 2021-04-30 | 东风汽车集团有限公司 | 一种车载mcu可配置日志存储解析方法和系统 |
CN114301486A (zh) * | 2021-03-22 | 2022-04-08 | 海信集团控股股份有限公司 | 一种用于WiFi模块的调试装置和方法 |
CN114301486B (zh) * | 2021-03-22 | 2024-06-04 | 海信集团控股股份有限公司 | 一种用于WiFi模块的调试装置和方法 |
CN112948311A (zh) * | 2021-03-30 | 2021-06-11 | 几维通信技术(深圳)有限公司 | Linux系统下串口信息截获方法 |
CN115223269A (zh) * | 2021-09-06 | 2022-10-21 | 广州汽车集团股份有限公司 | 汽车日志上传方法、装置、计算机设备及汽车 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112084142A (zh) | 一种日志存储方法、装置及t-box | |
CN110320891B (zh) | 轨道车辆制动系统can总线报文维护监控系统及监控方法 | |
CN108334331B (zh) | 一种安全的电动汽车电池管理系统软件升级方法 | |
EP0340613A1 (en) | Integrated Modem which operates without a dedicated controller | |
CN108337120A (zh) | 一种物联网终端设备的远程升级方法 | |
CN111221759B (zh) | 一种基于dma的数据处理系统及方法 | |
CN109032632A (zh) | 一种fota升级方法、无线通信终端及存储介质 | |
CN110803064A (zh) | 一种电动汽车充电桩bms数据监控装置 | |
CN114116378A (zh) | 获取PCIe设备温度的方法、系统、终端及存储介质 | |
CN113568878A (zh) | 一种系统日志的收集、导出方法、装置及车辆 | |
CN111045703B (zh) | 一种电池管理单元软件升级方法及系统 | |
CN212572587U (zh) | Can总线数据采集器及can总线分析系统 | |
JP4675541B2 (ja) | データ転送および受信方法、マルチ・ノードコンピュータシステム、およびコンピュータ読取り可能な記録媒体 | |
KR20120010441A (ko) | 휴대용 디지털 포렌식 데이터 획득 장치, 데이터 획득 방법, 및 그 방법을 실행하기 위한 프로그램 기록매체 | |
CN115098138A (zh) | 电池管理系统的功能升级方法、装置、电子设备及介质 | |
CN209299280U (zh) | 一种基于以太网的用采运维的远程通信系统 | |
CN114356760A (zh) | 一种基于l3整车架构的canfd控制器软件远程升级测试方法及系统 | |
CN214252558U (zh) | 一种融合车身通信、北斗定位及路侧视频的雷达数据采集装置 | |
CN112732618B (zh) | 一种串口通信方法、装置和系统 | |
CN113986784B (zh) | 基于嵌入式设备的虚拟端口数据传输方法及其系统 | |
CN116432574B (zh) | 一种fpga配置控制器自动回读flash数据方法及装置 | |
CN115102826B (zh) | 电动工程机械和上位机以及整车控制器的通信系统和方法 | |
CN112291357B (zh) | 虚拟多通道智能化数据通信处理系统及其计算平台 | |
CN117407249B (zh) | 驱动日志管理方法、装置、系统、电子设备及存储介质 | |
CN108664434B (zh) | 基于发电机组控制器usb接口hid设备的通讯方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |