当前位置:首页 > 模拟 > 模拟
[导读]飞控计算机CPU模块的处理器通常选用PowerPC或X86系列,CPU模块设计有专门的FLASH芯片,为保证飞控程序存放的正确无误,FLASH测试必不可少。而智能接口模块的处理器通常选用TMSF240、TMSF2812等,采用片内FLASH存放自

飞控计算机CPU模块的处理器通常选用PowerPC或X86系列,CPU模块设计有专门的FLASH芯片,为保证飞控程序存放的正确无误,FLASH测试必不可少。而智能接口模块的处理器通常选用TMSF240、TMSF2812等,采用片内FLASH存放自己的程序。这部分FLASH的自测试常常被忽视,而这是飞控系统不能容忍的。本文介绍了一种基于TMSF240芯片内部FLASH的自测试方法

1 问题描述

在CPU处理器无自带FLASH空间的情况下,我们选用市场上专用的FLASH芯片,通过硬件设计该FLASH芯片的每一个地址空间都是可以访问的,我们可以指定不同的区域存放不同的内容。FLASH芯片的自测试也有很多种方法,目前较普遍采用的是校验和的方法,即由专门的烧写工具(可以使用软件完成该工具)在烧写的过程中将校验和计算好直接放到指定的单元中,这个单元可以指定到烧程序时写不到的空闲空间,自测试时只需重新计算一遍校验和与该值进行比较即可。此种方法我们称之为方法一。

TMSF240内部自带FLASH存储空间,烧录过程对于用户来说较透明。我们不直接指定向某一具体的Flash空间写入数据,而是通过执行TI公司提供的批处理文件,经由闻亭仿真器连接目标机来完成烧录程序的过程,因此直接使用方法一我们无处存放校验和为使用方法一来测试芯片内部的FLASH我们必须解决校验和的存放问题。

2 芯片内部FLASH自测试方法概述

下面介绍的方法实现的是解决程序本身自测试程序本身烧到FLASH后保存的是否正确的问题。该方法不是将校验和直接写到FLASH中,而是在待烧录的程序中定义一个变量,该变量最终用于存放事先计算好的校验和,通过两次烧录实现芯片内部FLASH自测试功能的。必须巧妙地避开因改变程序本身而引起的程序校验和改变而导致自测试算法失效的问题。

本方法需要事先将程序完全调试好烧录到FLASH中,然后才能读取FLASH内容计算校验和。此时将校验和值赋给事先定义好的变量,重新编译后得到最终的目标码,烧录到FLASH中。程序上电后自动运行,FLASH自测试程序在每次执行自测试功能时都将要测试的程序空间读出并计算校验和与该变量进行比较,比较结果一致则待测试FLASH空间正确,反之则表明FLASH空间有故障。

由于变量赋值的改变会导致整个代码校验和的改变,因此该问题必须得到恰当的解决。第一次烧写的程序的算法如图1所示。

以上步骤中第二步到第四步是此算法的实现重点,它属于代码的一部分,两次烧写要对其进行更改,详见第3节。第三步是本方法的关键所在,由于sum=0,所以经过“sum=sum+sum;”的运算后sum值还是0,并没有改变sum的值。而sum的初值0并没有对程序的真实校验和值做出贡献,这为第二次烧写的程序代码和计算做出铺垫。

3 芯片内部FLASH自测试方法详述

3.1 第一次烧写步骤

第一次烧写过程如下:

步骤1:将包含图1的代码编译后形成待烧录文件*.out;

步骤2:将代码编译生成待烧录文件*.out,然后通过TI公司提供的批处理文件和仿真器将其烧入片内自带的FLASH中。

3.2 第二次烧写步骤

第二次烧写过程如下:

步骤1:利用闻亭仿真器设置成烧录模式下代码调试模式,将硬件断点设置在FLASH自测试的函数入口处;

步骤2:将程序连续运行至断点处后,单步调试计算出真正的代码和sum=XXX;

步骤3:此时更改程序,将计算好的校验和写入程序中定义好的变量中,即将图1中第二步中sum=0更改为sum=XXX;

步骤4:将代码重新编译生成待烧录文件*.out,然后通过TI公司提供的批处理文件和仿真器将其烧入片内自带的FLASH中。

3.3 方法详细说明

在第二次烧写过程中,图1所示的算法变成图2所示内容。

由于原来的校验和为0,现在将其改为XXX,所以第二次固化的程序的校验和比第一次固化的程序的校验和增加了XXX。而第一次固化的校验和本应该为XXX,因此第二次固化程序的最终的校验和计算出来后应check sum为2XXX,图2中的第三步sum=sum+sum正好满足了上述要求,即sum=2XXX。因此第四步check sum=sum能正确反映自测试结果。

需要补充说明一点,该算法是基于第一次烧录成功后重新加载第一次烧录的程序由DSP处理器自动计算校验和是正确的基础上的,这是由CPU的加减乘除和逻辑运算等自测试正确保证的,在上电时PUBIT里有该项自测试。

4 结束语

DSP已经广泛应用于飞控计算机智能接口模块中。虽然其具有很高的可靠性,但在飞控系统的使用中也必须进行测试。本文就DSP芯片内部自带FLASH提出了一种自测试方法,通过两次烧写FLASH将待测空间的校验和计算出来并计入RAM中事先定义好的变量中,重新编译后生成新的目标码校验和变成第一次校验和的2倍。这样利用sum=sum+sum巧妙地避过了两次校验和增加而引起程序的改动。此方法简单有效地解决了DSP芯片内部FLASH自测试问题,并已在机载设备,包括飞控计算机接口模块中得到应用,对提高机载设备的可测试性和可靠性有一定的作用,值得推广使用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2025年9月5日 /美通社/ -- 由上海市经济和信息化委员会、上海市发展和改革委员会、上海市商务委员会、上海市教育委员会、上海市科学技术委员会指导,东浩兰生(集团)有限公司主办,东浩兰生会展集团上海工业商务展览有...

关键字: 电子 BSP 芯片 自动驾驶

9月1日消息,继小鹏、零跑后,现在小米汽车也宣布了8月的交付量。

关键字: 小米汽车 芯片

当地时间 8 月 22 日,美国芯片制造商英特尔公司宣布与美国联邦政府达成协议,后者将向英特尔普通股投资 89 亿美元,以每股 20.47 美元的价格收购 4.333 亿股英特尔普通股,相当于该公司 9.9% 的股份。

关键字: 英特尔 半导体 芯片

在嵌入式系统中,Flash存储器因其非易失性、高密度和低成本特性,成为代码存储和关键数据保存的核心组件。然而,MCU驱动Flash读写时,开发者常因对硬件特性理解不足或操作流程疏忽,陷入性能下降、数据损坏甚至硬件损坏的陷...

关键字: MCU驱动 Flash

在当今数字化时代,人工智能(AI)和高性能计算(HPC)的迅猛发展对 GPU 芯片的性能提出了极高要求。随着 GPU 计算密度和功耗的不断攀升,散热问题成为了制约其性能发挥的关键因素。传统的风冷方案已难以满足日益增长的散...

关键字: 人工智能 高性能计算 芯片

8月20日消息,博主数码闲聊站暗示,9月底大概率只有小米16系列会亮相,其它骁龙8 Elite 2旗舰、天玑9500旗舰新品都将排到10月份,新机大乱斗会在国庆假期之后开始。

关键字: 小米雷军 芯片

8月21日消息,据媒体报道,英伟达宣布将自研基于3nm工艺的HBM内存Base Die,预计于2027年下半年进入小规模试产阶段,此举旨在弥补其在HBM领域的技术与生态短板。

关键字: 英伟达 黄仁勋 芯片 显卡

继寻求收购英特尔10%的股份之后,近日又有消息称,特朗普政府正在考虑通过《芯片法案》资金置换股权的方式,强行收购美光、三星、台积电三大芯片巨头的股份。若此举落地,美国政府将从“政策扶持者”蜕变为“直接股东”,彻底重塑全球...

关键字: 芯片 半导体
关闭