主题中讨论的其他器件:MSP430FR50431、 MSP430FR6047
您好!
我正在尝试烧写在包含 msp430fr50431的定制电路板上。
根据您的建议,我们在建筑物设置目标50431,但当我尝试燃烧我得到了这个:
关于内存的一些东西。
这就是它不会生成输出文件、我无法将其刻录到
非常感谢您的帮助
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我正在尝试烧写在包含 msp430fr50431的定制电路板上。
根据您的建议,我们在建筑物设置目标50431,但当我尝试燃烧我得到了这个:
关于内存的一些东西。
这就是它不会生成输出文件、我无法将其刻录到
非常感谢您的帮助
这是我的记忆:
这是 他给我发送的代码: (对不起长消息)
/*--版权----,TI
*MSP 源代码和目标代码软件许可协议
*
*
***重要-请仔细阅读以下具有法律约束力的许可协议。 阅读后、您将被询问是否接受并同意其条款。 请勿点击"我接受"、除非:(1)您将出于自身利益使用许可材料、并亲自接受、同意并打算接受这些条款的约束;或(2)您已代表您的公司授权并打算接受这些条款的约束。
*
*
***重要-请仔细阅读:本源代码和目标代码软件许可协议(以下简称"协议")是您与德州仪器(TI)公司(以下简称"TI")之间的法律协议。 在本协议中、"您"是指您个人(如果您将为您自己的利益而行使所授予的权利)、但如果您将为您的公司的利益而行使所授予的权利、则意味着您的公司(或您代表您的公司)。 本协议下的"许可材料"包括本协议随附的软件程序和任何相关电子文档(在每种情况下、全部或部分)、列于适用的软件清单中、且您可"在线"访问。 以及 TI 自行决定向您提供的此类软件程序或文档的任何更新或升级(如果有)。 许可材料经过专门设计和许可、可单独用于由 TI 制造或为 TI 制造的 MSP 微控制器器件(以下简称"TI 器件")。 安装、复制或以其他方式使用许可材料、即表示您同意遵守此处所列条款。 本协议的目的是让您在使用许可材料前阅读。 如果您选择不接受或不同意这些条款、请勿下载或安装许可材料。
*
***有关可能访问其它许可材料的注意事项: 许可材料可与软件及相关电子文档捆绑在一起、如果有、则这些文档依据的条款不同于本协议的条款(全部或部分为"其他许可材料")进行许可、例如、开放源码软件和/或根据此类其他条款许可的 TI 拥有或第三方专有软件。 "开源软件"是指根据以下条件许可的任何软件:(a)与此类软件合并、分发或使用此类软件开发的其他软件("专有软件"):(i)以源代码形式披露或分发; 或(ii)以不符合本协议条款的其他方式获得许可、包括但不限于允许在 TI 器件以外的器件上或与之配合使用专有软件、 或(B)要求专有软件的所有者将其任何专利许可给使用开放源软件和/或专有软件注册、与此类开源软件组合或分发或使用此类开源软件开发的专有软件的用户。
*
***如果接受本协议,即表明您获得了对其它许可材料的访问权,这些材料将在适用的软件清单中列出。 使用其他许可材料须遵守适用软件清单中规定的适用其他许可条款的确认和免责声明和/或软件包中其他许可材料标识或随附的声明和免责声明。 为明确起见、本协议不限制您在其他适用的许可材料许可协议条款下的权利、也不授予您取代这些条款的权利。 如果任何其他许可材料是开放源码软件、而这些材料仅根据要求 TI 向您提供的条款以目标代码形式提供给您、或者向您展示您可在此类开放源码软件的源码版本何处访问、 如果您通过电子邮件地址 Texas Instruments Incorporated、12500 TI Boulevard、Mail Station 8638、Dallas、Texas 75243与 TI 联系、TI 将为您提供或向您展示您可以访问的位置等源代码。 收件人:合同经理,嵌入式处理。 如果您选择不接受或不同意任何适用的其他许可材料许可协议中的条款、则您必须终止本协议。
*
***1. 许可授予和使用限制。
*
*** 许可材料许可授权。 TI 依据本协议的条款、特此授予您有限、不可转让、非排他性、不可转让、不可再许可的权利。 完全付费且免专利费的许可证:
*
* i.有限源码许可证:复制、制作衍生作品、在内部展示以源代码形式提供给您的许可材料、并在内部使用、仅用于开发此类许可材料的目标版本和可执行版本或其衍生版本、 仅在 TI 器件上独家签署、用于最终用于被许可产品、并维护和支持此类许可材料或其任何衍生产品及被许可产品。 就本协议而言、"被许可产品"是指同时包含硬件(包括一个或多个 TI 器件)和软件组件的产品、仅包括仅在这些 TI 器件上执行且专门执行的许可材料的可执行版本。
*
*二.目标代码评估、测试和使用许可:复制、内部展示、内部分发和内部使用目标代码形式的许可材料、仅用于评估和测试许可材料、设计和开发被许可产品、以及维护和支持被许可产品;
*
* III.演示许可:向第三方展示在被许可方产品中使用时、仅在 TI 器件上且完全执行的许可材料、前提是此类许可材料仅以目标或可执行版本展示、
*
* iv 生产和分销许可:将许可材料作为被许可方产品的一部分进行制作、使用、进口、出口和以其他方式分发、前提是此类被许可方产品仅包含仅在 TI 器件上执行的此类许可材料的嵌入式可执行副本。
*
* b.承包商。 本协议授予您的许可包括您的现场和外部承包商(个人或实体)、而此类承包商为您执行工作或为您提供服务、 前提是此类承包商已与您签署了雇佣合同、其中包含与本协议中规定的条款和条件相一致的适用条款和条件、而且您应对 TI 因您的承包商违反本协议而承担的责任、范围与 如果您自己违反了本协议、您将会受到伤害。
*
* c.无其他许可。 除 TI 提供给您的许可材料中包含的权利外、本协议中的任何内容均不得解释为对 TI 知识产权的许可。 除非本协议另有规定、否则本协议未授予任何其它明示或暗示的、表见或表见的、对其它 TI 知识产权的许可。
*
* d.契约不给苏. 在本协议期限内、您同意不对 TI 或其被许可方声称许可材料侵犯了您的知识产权进行索赔。
*
* e.限制。 您应将许可材料的源代码版本置于密码控制保护之下、不得将许可材料的源代码版本披露给您的员工和承包商以外的任何需要执行工作的人员。 不得将许可材料与 TI 器件以外的处理器件配合使用。此外、您同意、此类未经授权使用许可材料将严重违反本协议。 不得将许可材料用于分析或证明 TI 或 TI 客户侵犯您的专利。 除非本协议另有明确规定,您不得复制、发布、披露、展示、提供、披露、披露、披露、披露、披露、披露、披露、信息。 将许可材料转让或提供给第三方、不得将许可材料或您在本协议下的权利再许可、转让或转让给任何第三方。 不得以任何方式对许可材料进行抵押、质押或抵押。 可将许可材料与开放源码软件或使用开放源码软件工具开发的软件一起使用、前提是未能: 以使许可材料遵守任何许可义务或管理此类开源软件的任何许可的任何其他与知识产权相关的条款的方式组合或分发许可材料。
*
* f.终止。 本协议与本协议一起交付给您的许可材料之日起生效、在终止之前一直有效。 您可以随时以书面形式通知 TI 终止本协议。 在不损害任何其他权利的前提下、如果您未能遵守本协议的条款或已获得许可、TI 可在向您发出书面通知后、终止您使用许可材料的权利。 本协议终止后、您须销毁您保管、保管或控制中的许可材料的全部副本、并向 TI 提供一份由您的授权代表签署的书面声明、保证销毁工作已经完成。 除第1 (a)、1 (b)和1 (d)节外、本协议的所有条款在本协议终止后仍然有效。
*
***2. 许可材料所有权。 许可材料是经授权而非出售给您的、因此其使用只能依据本协议的条款。 根据本协议授予您的许可、TI 及其许可人拥有并将继续拥有许可材料包括其所有副本的所有权利、所有权和利益。 您同意、根据您的反馈、意见或建议对许可材料进行的全部或部分修复、修改和改进均为 TI 专有财产、此类修复程序的各项权利、所有权和利益、 对许可材料的修改或改进仅属于 TI 的财产。 此外、您承认并同意、当您独立开发的软件或硬件组件全部或部分与许可材料结合使用时、您使用包括许可材料在内的组合作品的权利仍然受本协议的条款和条件的约束。
*
***3. 知识产权。
*
* a.许可材料包含 TI 及其许可人的版权材料、商业秘密和其他专有信息、受版权法、国际版权条约和商业秘密法、以及其它知识产权法的保护。 为保护 TI 及其许可人对许可材料的权利、您同意"解锁"、反编译、逆向工程、 只以目标代码格式向您提供的许可材料的任何部分、也不允许任何个人或实体这样做、将其拆解或以其他方式转换为可由人察觉的形式。 您不得移除、更改、覆盖或掩盖任何机密性、商业秘密、商标、专利、 版权或其它专利声明或来自许可材料任何组件的其它标识标志或设计、您应复制许可材料中出现的 TI 及其许可人的版权声明和专利说明、并将其收录于许可材料的所有副本中。 TI 保留本协议未明确授予的所有权利。
*
* b.某些许可材料可能基于行业认可的标准或由行业认可的标准机构发布的软件程序、并且某些第三方可能会主张拥有专利、版权和其他涵盖这些标准实施的知识产权。 您了解并同意、本协议并未将任何此类第三方专利、版权和其他知识产权的许可转让给第三方、并且您应对任何专利、版权、商标、商业秘密或其他知识产权全权负责。 或其他与您使用或分销许可材料、或使用或分销包含许可材料的产品相关的知识产权权利主张。 此外、您承认、对于根据第三方对许可材料的权益或涉及实施任何行业公认标准的任何知识产权而向第三方支付的任何费用或版税、您需自行承担相应责任。 由任何行业认可的标准机构发布的任何软件程序或任何其他专有技术。
*
***4. 机密信息。 您承认并同意许可材料中含有 TI 及其许可人的商业秘密和其它机密信息。 您同意仅将许可材料用于本协议规定的许可范围内、以使许可材料保密、 使用至少与您相同的程序和谨慎程度来防止披露您自己的机密信息、这些信息具有同等的重要性、但在任何情况下均不得低于合理的谨慎程度、 为防止将许可材料披露给任何第三方、除非与您在此规定的权利和义务相关的必要和必要; 但前提是、除非得到 TI 的书面同意、否则不得将许可材料提供给贵公司内的任何业务组织或团体、或提供给设计或制造半导体的客户或承包商。 您同意与您的员工和有权接触许可材料的合同工签署保密协议、并努力采取措施保证所签保密协议得到切实遵守。 TI 可以将您的联系信息提供给 TI 的许可人。
*
***5. 保证和限制。 许可材料"按原样"提供。 此外、您了解并同意、许可材料未经任何政府机构、行业监管组织或任何其他第三方组织的测试或认证。 您同意、在将许可材料用于或与任何商业产品一起使用、合并或分发之前、您将彻底测试该产品中或与该产品一起使用的许可材料的功能、并对任何问题或故障承担全部责任。
*
*** TI 及其许可证颁发者对许可材料不作任何明示、默示或法定的保证或陈述,包括但不限于对适销性或在某特定用途方面的适用性或不侵犯任何第三方专利、版权、商业秘密或其它知识产权的任何默示保证。 您同意在开发您的产品时使用您独立的判断。 本协议中的任何内容均不应解释为 TI 就维持生产任何 TI 半导体器件或其他可与许可材料配合使用的硬件或软件所做的保证或陈述。
*
***在任何情况下,TI 或其许可证颁发者均不对任何特殊、间接、偶发、惩罚性或从属损害负责, 但是、无论 TI 是否被告知存在造成此类损害的可能性、对于由本协议或使用许可材料引起的或由本协议或使用许可材料引起的任何责任理论都不会造成此类损害。 排除在外的损害赔偿包括但不限于拆卸或重新安装费、外部计算机时间、劳动力成本、数据丢失、商誉损失、 利润损失、储蓄损失、丧失使用价值或业务中断。 在任何情况下、TI 或其许可证颁发者在本协议下或由于您使用许可材料而产生的债务总额都不得超过五百美元(US500美元)。
*
*由于某些司法管辖区不允许排除或限制偶然或必然损害或默示保证的持续时间,上述限制或排除可能不适用于您。
*
***6. 免责声明。 您确认并同意、对于任何与您的制造、使用、制造、制造、制造或使用相关或基于此类用途的第三方索赔、TI 不承担任何责任、也不应为您提供辩护或赔偿 或分发许可材料、或者制造、使用、要约出售、销售、进口或分销包含或包含许可材料的产品。
*
***7. 无技术支持。 TI 及其许可人没有义务安装、维护或支持许可材料。
*
***8. 声明。 下文中向 TI 发出的所有通知应送达 Texas Instruments Incorporated、12500 TI Boulevard、Mail Station 8638、Dallas、Texas 75243、 注意:合同经理-嵌入式处理、副本至德州仪器公司、13588 N. Central Expressway、Mail Station 3999、Dallas、Texas 75243;注意:法律部门-嵌入式处理。 所有通知在 TI 收到时均应视为已送达。
*
***9. 《出口管制》。 许可材料受美国商务部出口管理条例("EAR")的出口管制。 除非事先获得美国商务部的授权、否则您或您的子公司不得直接或间接出口、再出口或发布(包括但不限于允许下载许可材料)从 TI 接收的任何技术、软件或软件源代码、 或直接或间接地将此类技术、软件或软件源代码的任何直接产品出口到 EAR 禁止对其出口、再出口或发布技术、软件或软件源代码或直接产品的任何个人、目的地或国家/地区。 您声明并保证您(i)不位于古巴、伊朗、朝鲜、苏丹和叙利亚或任何其他受美国商品禁运国家/地区的国民或居民或不在其控制之下; (ii)不在美国财政部特别指定国民名单或美国商务部的被拒人员名单或实体名单上; 并且(iii)不将许可材料用于军事、核武器、化学或生物武器或导弹技术的最终用途、或转让许可材料。 TI 制定的任何软件出口分类都不应将其理解为关于此类软件的正确出口分类或出口此类软件是否需要出口许可或其他证件的表述或保证。
*
***10. 适用法律和可分割性;弃权。 本协议受德克萨斯州法律的管辖、并按照相关法律进行解释、但不参照德州法律中的冲突规范。 倘若本协议任何规定被裁定为无效或不可强制执行,该项规定应被撤销,而其余规定应予执行。条款标题仅为方便参阅而设,并不以任何方式界定、限制、解释或描述该条款的范围或限度。 本协议不受《联合国国际货物销售合同公约》或《统一计算机信息交易法》(UCITA)的管辖。 双方同意、由本协议引起或与本协议相关的任何争议的非专属管辖权归德克萨斯州法院所有。 尽管有上述规定、可在美国或外国法院强制执行任何判决、并且任何一方均可在任何美国或外国法院寻求禁令救济。 TI 未能执行本协议的任何条款不应被视为放弃未来执行该条款或本协议或双方之间可能存在的任何其他协议中的任何其他条款。
*
***11. PRC 规定。 如果您位于中华人民共和国(PRC)、或将许可材料发送至 PRC、则应适用以下条款:
*
* a.注册要求。 您应全权负责执行所有行为并获得 PRC 政府可能要求的与本协议有关的所有批准、包括但不限于根据以下条款进行注册: 并遵守《PRC 软件产品管理办法》、《技术进出口管理条例》、《技术进出口合同注册管理规则》等规定。 收到政府当局的此类批准后、您应将所有此类批准的证据转发给 TI 供其记录。 如果您未能获得此类批准或注册、您应自行承担由此导致的所有损失、损害或成本、并应赔偿 TI 的所有此类损失、损害或成本。
*
***b。 管理语言。 本协议以英文书写和执行,并具有权威性和控制权,无论是否为了遵守法律或参考目的而翻译成英文以外的语言。 如果出于任何目的需要翻译本协议、包括但不限于根据任何政府法律、法规或规则注册本协议、您应自行负责创建此类翻译。
*
***12. 不可抗力。 如果由于不可抗力事件或 TI 合理控制范围之外的其他情况而导致任何不履行或延迟履行、TI 不应违反本协议、也不应对此类不履行或延迟承担责任。
*
***13. 完整协议。 本协议为您和 TI 之间的完整协议、本协议取代双方之前就本协议相关事宜达成的任何协议。 尽管有上述规定、已签署且有效的与本协议主题相关的软件许可协议、明确声明该协议将控制任何后续的点选包装、收缩包装或网络包装、将取代本协议的条款。 本协议的修订或修改必须经过 TI 的正式授权代表书面签署方可生效。 您正式保证和表示、您已经拥有了签署本协议所需的全部授权和其它批准。
*
*
*
*-/版权-*/
//##########################################################################出################################出
//
//! \file USS_userconfig.c
//!
//! 此文件包含 USS 软件库配置
//!
//
//组:MSP
//目标器件:MSP430FR6047
//
//(C)版权所有2019、德州仪器(TI)公司。
//##########################################################################出################################出
// TI 版本:USSLib_02_40_00_00
//发布日期:2020年2月22日
//##########################################################################出################################出
#include "USS_userconfig.h"
#IF (USS_ENABSTOF_LOW_OFFSET_CORRECTION = TRUE)
#包含
#endif
#if (USS_ALG_VFR_CALIB_MODE==USS_ALG_VFR_CALIB_OPTION_FLOW)
#包含
#endif
#if (USS_ALG_VFR_CALIB_MODE==USS_ALG_VFR_CALIB_OPTION_FLOW_TEMPERATURE)
#包含
#endif
#if (USS_ALG_ENABLE_ESTIMENT_TEMPERATURE == true)
#包含
#endif
#if defined (__TI_Compiler_version__)
#if (USS_ALG_FILT_IS_FILTER_ENABLED == true)
#pragma persistent(gUSSFilterCoeffs)
#endif
#if defined (USS_ALG_FILT_IS_FILTER_ENABLED)
#pragma persistent(gUSSHilbertCoeffs)
#endif
#pragma persistent(gNVMemBlock)
#if (USS_PULSE_MODE!= USS_PULSE_MODE_SINGLE_TONE)
#pragma PERSISTENT (脉冲)
#pragma persistent(hper)
#pragma persistent(lper)
#pragma persistent(ussEndOfSeq)
#pragma PERSISTENT (multiToneConfig)
#pragma persistent(xpulse)
#pragma persistent(xhper)
#pragma persistent(xlper)
#if (USS_NUM_OF_ADDTL_TRILL_PULSES > 0)
#pragma PERSISTENT (超脉冲)
#pragma PERSISTENT (xtraxpulse)
#pragma PERSISTENT (xtraxhper)
#pragma PERSISTENT (xtraxlper)
#pragma PERSISTENT (xtrahper)
#pragma persistent(xtralper)
#endif
#endif
#pragma persistent(ussSystemConfig)
#pragma persistent(ussMeterConfig)
#pragma persistent(singDualToneConfig)
#pragma persistent(ussPulseConfig)
#pragma PERSISTENT (ussMeasurementConfig)
#pragma persistent (ussPLLConfig)
#pragma PERSISTENT (ussInterruptConfig)
#pragma persistent(ussCaptureConfig)
#pragma persistent(ussTriggerConfig)
#pragma persistent(ussAlgConfig)
#pragma persistent(gUssSWConfig)
#if (USS_ALG_VFR_CALIB_MODE==USS_ALG_VFR_CALIB_OPTION_FLOW)
#pragma persistent (ussAlgorithmMeterConstCalib)
#pragma persistent(ussAlgorithmVolumeFlowObj)
#Elif (USS_ALG_VFR_CALIB_MODE==USS_ALG_VFR_CALIB_OPTION_FLOW_TEMPERATURE)
#pragma persistent(ussAlgorithmQuadPoints )
#pragma persistent(ussAlgorithmQuadMeterConstant)
#pragma persistent (ussAlgorithmVolumeFlowTemperatureObj)
#endif
#if (USS_ALG_ENABLE_ESTIMENT_TEMPERATURE == true)
#pragma persistent (ussAlgorithmTemperatureCalcObj)
#endif
#define _persistent
#define _no_init
#Elif 已定义(__IAR_SYSTEMS_ICC__)
#else
#错误编译器不受支持!
#endif
#if (USS_ALG_VFR_CALIB_MODE==USS_ALG_VFR_CALIB_OPTION_FLOW)
__ persistent USS_USS Algorithms_Flow_Meter_Constant
ussAlgorithmMeterConstCalib[USS_METER_VFR_CALIB_FLOW_RANGES]=
USS_METER_VFR_CALIB_FLOW_DATA;
__ persistent USS_Alg_体积_ Flow_Calib_Object
ussAlgorithmVolumeFlowObj =
{
.numOfRanges = USS_METER_VFR_CALIB_FLOAD_RANGE、
.pMeterConfiguration =&ussAlgorithmMeterConstCalib[0]、
};
#Elif (USS_ALG_VFR_CALIB_MODE==USS_ALG_VFR_CALIB_OPTION_FLOW_TEMPERATURE)
__ persistent USS_USS Algorithms_Quad_Point
ussAlgorithmQuadPoints [USS_METER_VFR_CALIB_FLOW_TEMPERATURE_POINT_LENGTH]=
USS_METER_VFR_CALIB_FLOW_TEMPERATURE_QUAD_POINTS;
__ persistent USS_USS Algorithms_Quad_Meter_Constant
ussAlgorithmQuadMeterConstant[USS_METER_VFR_CALIB_FLOW_TEMP_LENGTH_MC_LENGTH]=
USS_METER_VFR_CALIB_FLOW_TEMPERATURE_METER_CONSTANT;
__ persistent USS_Alg_体积_ Flow_Temperature_Calib_Object
ussAlgorithmVolumeFlowTemperatureObj =
{
.numOfFlows = USS_METER_VFR_CALIB_FLOW_TEMPERATURE_NUM_FLOW、
.numOfTemps = USS_METER_VFR_CALIB_FLOW_TEMPERATURE_NUM_TEMP、
.pQuadPoints =&ussAlgorithmQuadPoints [0],
.pQuadMeterConstants =&ussAlgorithmQuadMeterConstant[0],
};
#endif
#if (USS_ALG_ENABLE_ESTIMENT_TEMPERATURE == true)
const int32_t ussTempCalc [USS_TEMPERATURE_LUT_LENGTH][3]=
USS_TEMPERATURE_LUT_VALUES;
__ persistent USS_Alg_temperature_ Calculation_Object
ussAlgorithmTemperatureCalcObj =
{
.tempLUTLength = USS_TEMPERATURE_LUT_LENGTH、
.pTempLUT =&ussTempCalc [0],
.iq24transporterConstant =_iq24 (USS_TEMPERATURE_LUT_SENSOR_CONST)、
};
#endif
#IF (USS_ENABSTOF_LOW_OFFSET_CORRECTION = TRUE)
const int16_t gUSSAbsToFLUT[USS_INTRPL_CORR_LUT_RES][2]=
USS_INTRPL_CORR_LUT_VALUES;
#endif
// LEA 和 FRAM 存储器缓冲器
USS_HAL_LEA_DATA (gUSSLEATempMemBlock、4)
__no_init int16_t gUSSLEATempMemBlock [ 2 *(USS_SW_LIB_APP_MAX_CAPTURE_SIZE +
USS_SW_LIB_APP_MAX_FILTER_LENGTH)];
#if (USS_ALG_DTOF_WINDOW_MODE!= USS_ALG_DTOF_EST_WINDOW_OPTION_DISABLED)
USS_HAL_LEA_DATA (gUSSLEARAMReservedBlock1、4)
__no_init int16_t gUSSLEARAMReservedBlock1[USS_SW_LIB_APP_MAX_WINDOW_RAMP_SIZE];
#endif
USS_HAL_LEA_DATA (gUSSLEARAMReservedBlock2、4)
__NO_INIT int16_t gUSSLEARAMReservedBlock2[USS_SW_LIB_APP_MAX_CAPTURE_SIZE +
USS_SW_LIB_APP_MAX_Hilbert_FILTER_LENGTH];
_persistent int32_t gNVMemBlock[(USS_SW_LIB_APP_MAX_CAPTURE_SIZE * 2)]={0};
USS_HAL_LEA_DATA (gUSSBinaryPattern、4)
__no_init int16_t gUSSBinaryPattern[USS_binary_array_MAX_SIZE];
#if USS_SW_LIB_APP_MAX_ACC_BLOCK
USS_HAL_LEA_DATA (gUSSLEARAMReservedAccMemBlock、4)
int16_t gUSSLEARAMReservedAccMemBlock [USS_SW_LIB_APP_MAX_ACC_BLOCK];
#endif
#if defined (USS_ALG_FILT_IS_FILTER_ENABLED)
//滤波 Hilbert 和带通系数
__persistent int16_t gUSSHilbertCoeffs[
USS_SW_LIB_APP_MAX_Hilbert_FILTER_OPTIONS ][
USS_SW_LIB_APP_MAX_Hilbert_FILTER_LENGTH]=
USS_SW_LIB_APP_HILB_FILTER_COEFFICIENTS;
#endif
#if (USS_ALG_FILT_IS_FILTER_ENABLED == true)
_persistent int16_t gUSSFilterCoeffs [USS_SW_LIB_APP_MAX_FILTER_OPTIONS]
USS_SW_LIB_APP_MAX_FILTER_LENGTH]=
USS_SW_LIB_APP_FILTER_COEFFICIENTS;
#endif
#if defined (__MSP430_HASE_SAPH_A__)&&(USS_PULSE_MODE == USS_PULSE_MODE_MULTI_TONE)
USS_TONE_CONFIG_DATA (RAM_XE)
__no_init uint16_t RAM_xe[(USS_NUM_OF_MAX_TRILL_PULSES +
USS_NUM_OF_MAX_ADDTL_TRILL_PULSES)* 6];
USS_TONE_CONFIG_DATA (RAM_DMA_CONFIG)
__no_init uint16_t RAM_DMA_CONFIG[(USS_NUM_OF_MAX_TRILL_PULSES +
USS_NUM_OF_MAX_ADDTL_TRILL_PULSES)* 18];
_persistent uint16_t epulse [USS_NUM_OF_MAX_TRILL_PULSES ={0};
_persistent uint16_t hper [USS_NUM_OF_MAX_TRILL_PULSES ={0};
_persistent uint16_t lper [USS_NUM_OF_MAX_TRILL_PULSES ={0};
__persistent uint16_t xpuls[USS_NUM_OF_MAX_TRILL_PULSES ={0};
_persistent uint16_t xhper [USS_NUM_OF_MAX_TRILL_PULSES ={0};
_persistent uint16_t xlper [USS_NUM_OF_MAX_TRILL_PULSES ={0};
#if (USS_NUM_OF_ADDTL_TRILL_PULSES > 0)
_persistent uint16_t xtraepulse [USS_NUM_OF_AddTL_TRILL_PULS]={0};
__persistent uint16_t xtraxpuls[USS_NUM_OF_AddTL_TRILL_PULS]={0};
_persistent uint16_t xtraxhper [USS_NUM_OF_AddTL_TRILL_PULS]={0};
_persistent uint16_t xtraxlper [USS_NUM_OF_AddTL_TRILL_PULS]={0};
_persistent uint16_t xtrahper [USS_NUM_OF_AddTL_TRILL_PULS]={0};
_persistent uint16_t xtralper [USS_NUM_OF_AddTL_TRILL_PULSES ={0};
_persistent int16_t additionalBinarySequence [USS_AddtL_bin_pattern_size]={0};
#endif
#endif
__ persistent USS_SystemConfig System_Configuration ={
。 LFXTFrequency = USS_LFXT_FREQ_IN_Hz、
.mCLKFrequency = USS_MCLK_FREQ_IN_Hz、
.timerBaseAddress = USSSWLIB_TIMER_BASE_ADDRESS、
.measurementPeriod = USS_SYS_measurement_period、
.diagMode = USS_DIAGNOSTIC _MODE、
};
__ persistent USS_USSmeterConfig Meter_Configuration ={
.声 学长度= USS_EXECHOUS_LENGTH、
#if (USS_PULSE_MODE = USS_PULSE_MODE_SINGLE_TONE)
.convererFreq = USS_F1_FREQ、
#else
.convererFreq =((USS_F1_FREQ + USS_F2_FREQ)/ 2)、
#endif
.volumeScaleFactor = USS_VOLUME_SCALE_factor、
.volumeAddlScaleFactor = USS_VFR_LARGE_PIPE_Addl_sf
};
#if defined (__MSP430_HASE_SAPH_A__)&&(USS_PULSE_MODE == USS_PULSE_MODE_MULTI_TONE)
__persistent USS_SEQ_Colli Sequence_Configuration Pulse_Additional_End_=
{
.numOfTrillcycles = USS_NUM_OF_AddTL_TRILL_PULSES、
#if (USS_NUM_OF_ADDTL_TRILL_PULSES > 0)
.pNumOfEPulsArray =&xtraepulse[0],
.pNumOfXPulsArray =&xtraxpuls[0]、
.pEPulsHPerArray =&xtrahper[0]、
.pEPulsLPerArray =&xtralper[0],
.pXPulsHPerArray =&xtraxhper[0]、
.pXPulsLPerArray =&xtraxlper[0]、
#endif
};
__ persistent USS_ToneConfig Pulse_Multitone_Configuration =
{
#if (USS_PULSE_MODE = USS_PULSE_MODE_MULTI_TONE)
.origNumOfThrillCycles = USS_NUM_OF_TRILL_PULSES、
#endif
.pNumOfEPulsArray =&epulse[0],
.pNumOfXPulsArray =&xpuls[0]、
.pEPulsHPerArray =&hper[0]、
.pEPulsLPerArray =&lper[0]、
.pXPulsHPerArray =&xhper[0]、
.pXPulsLPerArray =&xlper[0]、
.pRAMPulseConfigArray =&RAM_Xe[0]、
.pRAMDMAConfigArray =&RAM_DMA_CONFIG[0]、
.pEOFSeqConfig =&ussEndOfSeq、
};
#endif
__persistent USS_ToneConfig Pulse_Single_Dual_Tone_Configuration ={
#if ((USS_PULSE_MODE = USS_PULSE_MODE_SINGLE_TONE)|\
(USS_PULSE_MODE = USS_PULSE_MODE_dual_tone)
.numOfF1Cycles = USS_NUM_OF_EXCITATION_PULES_F1、
。 F1DutyCycle =(float) USS_PULSE_DUTYPERCENT_F1、
#if (USS_PULSE_MODE!= USS_PULSE_MODE_SINGLE_TONE)
.numOfF2Cycles = USS_NUM_OF_EXCITATION_PULES_F2、
。 F2DutyCycle =(float) USS_PULSE_DUTYPERCENT_F2、
#else
.numOfF2Cycles = 0、
。 F2DutyCycle = 0、
#endif
#else
.numOfF1Cycles = 0、
。 F1DutyCycle = 0、
.numOfF2Cycles = 0、
。 F2DutyCycle = 0、
#endif
};
__ persistent USS_PulseConfig Pulse_Configuration ={
.pauseState = USS_PAUS_STATE、
.pulsePolarity = USS_PULSE_POLARITY、
。 F1频率= USS_F1_FREQ
#ifdef USS_NUM_OF_STOP_PULSES
.numOfStopPulses = USS_NUM_OF_STOP_PULSES、
#else
.numOfStopPulses = 0、
#endif
#if (USS_PULSE_MODE!= USS_PULSE_MODE_SINGLE_TONE)
。 F2Frequency = USS_F2_FREQ、
#endif
#if (USS_PULSE_MODE = USS_PULSE_MODE_SINGLE_TONE)
.pulseGenMode = USS_measurement_PULSE_generation_mode_single_tone、
.pToneConfig =&singDualToneConfig、
#Elif (USS_PULSE_MODE = USS_PULSE_MODE_DUAL_TONE)
.pulseGenMode = USS_measurement_PULSE_generation_mode_dual_tone、
.pToneConfig =&singDualToneConfig、
#Elif (USS_PULSE_MODE = USS_PULSE_MODE_MULTI_TONE)
.pulseGenMode = USS_measurement_PULSE_generation_mode_multi_tone、
.pToneConfig =&multiToneConfig、
#endif
};
__persistent USS_USSUssMeasurementConfig Measurement_Configuration ={
.ch0Strenge Driveth = USS_CH0_DRIVE_strength,
.ch1Strenge Driveth = USS_CH1_DRIVE_strength,
.sequenceSelection = USS_sequence_selection、
.eofSequenceState = USS_EOF_serial_selection、
.pulseConfig =&ussPulseConfig、
.startPPGCount = USS_START_PPG_COUNT、
.turnOnADCCount =(uint_least16_t) USS_TURN_ON_ADC_COUNT、
.startPGAandINBiasCount = USS_PGA_IN_BIAS_COUNT、
.startADCsamplingCount =(uint16_t) USS_ADC_SAMP_COUNT、
.restartCaptureCount =(uint_least16_t) USS_RESTART CAP_COUNT、
.captureTimeOutCount = USS_TIME_OUT_COUNT、
.ulpBiasDelay = USS_ULP_BIAS_DELAY、
.biasImpedance = USS_BIAS_Impedance、
.muxChargePumpMode = USS_MUX_CHARGE_PUMP_MODE、
.restartLowPowerCaptureCount =
(uINT_least16_t) USS_LOW_POWER_RESTART CAP_COUNT、
#if (USSSWLIB_ENABLE_EXTERNAL_COVERSION_CONTROL == true)
.startRxEnCount = USS_measurement_TURN_ON_EXTERNAL_AMP_COUNT、
#endif
};
__ persistent USS_HSPLL_Configuration ussPLLConfig ={
.ussXtalFreq = USS_PLL_XTAL_IN_MHz、
.pllOutputFreq = USS_HSPLL_FREQ、
.outputPLLXtal = USS_OUTPUT_PLL_XTAL、
。 HSPLLInputCLKType = USS_HSPLL_INPUT_CLK_TYPE、
.hspllTolerance =(uint16_t) USS_HSPLL_Tolerance、
.ussXTALsettlingCount = USS_HSPLL_USSXTAL_SETTLE_COUNT、
};
__ persistent USS_InterruptConfig Interrupt_Configuration ={
.enableUUPSPREQIGInterrupt = USS_ENABLE_UUPSPREQIGINTERRUPT、
.enableSAPHPingTransmitDoneInterrupt = USS_ENABLE_SAPH_PING_TRANSMIT
};
__persistent USS_CaptureConfig Capture_Configuration ={
.overSampleRate = USS_OVER_SAMPLE_RATE、
.sampleSize = USS_USER_CONFIG_NUMBER_OF_SAMPLE_PER_CAPTURE、
.gainRange = USS_GAIN_RANGE、
.enableWindowHiComp = USS_ENABLE_WINDOW_HI_COMP、
.enableWindowLoComp = USS_ENABLE_WINDOW_LO_COMP、
.windowHighThreshold = USS_WINDOW_HIGH_THRESHOLD、
.windowLowThreshold = USS_WINDOW_LOW_THRESHOLD、
.agcConstant = USS_AGC_CONSTANT、
.pCaptureBuffer =&gUSSLEATemMemBlock[0],
.maxCapture =(sizeof (gUSSLEATempMemBlock)/ sizeof (int16_t))、
.isCapAccumulationEnabled = USS_SW_LIB_ENABLE_ADAMOUNT、
#if USS_SW_LIB_APP_MAX_ACC_BLOCK
.pAccCaptureBuffer =&gUSSLEARAMReservedAccMemBlock[0]、
#endif
};
__ persistent USS_USSTriggerConfig Trigger_Configuration ={
.triggerConfig = USS_TRIGGER_CONFIG
};
__ persistent USS_AlgConfig Algorithms_User_Configuration ={
.absToFOption = USS_ALG_ABS_TOF_COMPUTATION
.dtoFCalcOption =(USS_Alg_dToF_USS_ALG_Delta_TOF_COMPUTATION_OPTION Calculation_Option、
.volumeCalOption = USS_ALG_VOLUME_RATE_COMPUTATION_OPTION、
.clockRelativeError = USS_ALG_CLOCK_RELATIVERROR、
.absTOFInterval = USS_ALG_ABS_TOF_INTERVAL、
.dtofVolInterval = USS_ALG_DTOF_INTERVAL、
.calibratedDCOffsetUPS = USS_ALG_CALIBRATED_UPS_DC_OFFSET、
.calibratedDCOffsetDNS = USS_ALG_calibred_DNS_DC_offset、
。 ADCadditionalCaptureDelay = USS_ALG_ADC_additional_CAP_DLY、
.dcOffset = USS_ALG_DCOFFSET、
.windowingMode = USS_ALG_DTOF_Windowing_mode、
#if (USS_ALG_DTOF_WINDOW_MODE!= USS_ALG_DTOF_EST_WINDOW_OPTION_DISABLED)
.winStartIndexBackOffNumCycles = USS_ALG_WIN_START_INDEX_BACK_OFF_NUM_CYCLES、
.winTrapzRampOverNumCycles = USS_ALG_WIN_TRAP_RAMP_NUM_CYCLEs、
.winNumCycles = USS_ALG_WIN_NUM_CYCLES、
.winPeakIndex2EdgeNumCycles = USS_ALG_win_peak_index_2_Edge_NUM_cyles、
#endif
.enableS 筛选条件 = USS_ALG_FILT_IS_FILTER_ENABLED、
#if (USS_ALG_FILT_IS_FILTER_ENABLED == true)
.filterCoeffs =&gUSSFilterCoeffs[USS_ALG_FILT_OPTION][0]、
.filterLength =(sizeof (gUSSFilterCoeffs[USS_ALG_FILT_OPTION])
/ sizeof (int16_t))、
#endif
#if defined (USS_ALG_SEARCH_LOW_SAMP)
.searchLobeSampleSteps = USS_ALG_search_love_samp、
#else
.searchLobeSampleSteps = 1、
#endif
#if defined (USS_ALG_NUM_PULS_PAIS_THRSH)
.numPulsesBeforeThreshold = USS_ALG_NUM_PULS_PREVE_THRSH、
#else
.numPulsesBeforeThreshold = 1、
#endif
#IF 已定义(USS_ALG_RATIO_OF_TRACK_LOOP)
.ratioOfTrackLobeToPeak = USS_ALG_RATIO_FRATE_TRACK_LOTE、
#else
.ratioOfTrackLobeToPeak = 0.11111、
#endif
#if defined (USS_ALG_MAX_RATIO_PEAK_2_PEAK_VAR)
.maxRatioPeak2PeakVariation = USS_ALG_MAX_RATIO_PEAK_2_PEAK_VAR、
#else
.maxRatioPeak2PeakVariation = 0.2、
#endif
#if 已定义(USS_ALG_CORR_VAL_THRSH_CHK_FACT)
.corrValueThresholdCheckFactor = USS_ALG_CORR_VAL_THRSH_CHK_FACT、
#else
.corrValueThresholdCheckFactor = 0.05、
#endif
#IF 已定义(USS_ALG_SIG_VAL_THRSH_CHK)
.signalValueThresholdCheck = USS_ALG_SIGN_VAL_THRSH_CHK、
#else
.signalValueThresholdCheck = 100、
#endif
#if defined (USS_ALG_HIGH_FLOW_OPTION)
.highFlowOption =(USS_highFlow_option) USS_ALG_HIGH_FLOW_OPTION、
#else
.highFlowOption =(USS_highFlow_option) USS_highFlow_option_disabled、
#endif
#if defined (USS_ALG_CYCLESLIPTHRESHOLD)
.cycleSlipThreshold = USS_ALG_CYCLESLIPTHRESHOLD、
#else
.cycleSlipThreshold = 1.1、
#endif
#if defined (USS_ALG_THRESHOLDX1X3)
.thresholdX1X3 = USS_ALG_THRESHOLDX1X3、
#else
.thresholdX1X3 = 2000000、
#endif
#if defined (USS_ALG_MAX_SAMPLE_SHIFT)
.maxSampleShift = USS_ALG_MAX_SAMPLE_SHIFT、
#else
#if ((USS_ALG_ABS_TOF_COMPUTATION_MODE = USS_ALG_ABS_TOF_COMPUTATION_MODE_LOW_WIDTH)||
(USS_ALG_ABS_TOF_COMPUTATION_MODE = USS_ALG_ABS_TOF_COMPUTATION_MODE_Hilbert 宽)
.maxSampleShift = 20、
#else
.maxSampleShift = 6、
#endif
#endif
#if defined (USS_ALG_NUM_CYCES_SET_CORR)
.numCycleSearchCorrPeak = USS_ALG_NUM_CYCES_SET_CORR、
#else
.numCycleSearchCorrPeak = 2、
#endif
.pNvMemBuffer =&gNVMemBlock[0],
#if (USS_ALG_DTOF_WINDOW_MODE!= USS_ALG_DTOF_EST_WINDOW_OPTION_DISABLED)
.pLEAMemBuffer1 =&gUSSLEARAMReservedBlock1[0]、
#endif
.pLEAMemBuffer2 =&gUSSLEARAMReservedBlock2[0]、
.hilbertTransformCoeffs =&gUSSHilbertCoeffs[USS_HILB_ALG_FILT_OPTION][0]、
.hilbertTransformCoeffsLength =
(sizeof (gUSSHilbertCoeffs [USS_HILB_ALG_FILT_OPTION])
/ sizeof (int16_t))、
.pBinaryPattern =&gUSSBinaryPattern[0],
.maxBinaryPatternLenight =(sizeof (gUSSBinaryPattern)/ sizeof (int16_t))、
#if (USS_NUM_OF_ADDTL_TRILL_PULSES >0)
.pAdditionalBinaryPattern =&additionalBinarySequence [0],
#endif
#ifndef USS_Addtl_bin_pattern_size
.additionalPatternLength = 0、
#else
.additionalPatternLength = USS_Addtl_bin_pattern_size、
#endif
#if ((USS_ALG_ABS_TOF_COMPUTATION_MODE = USS_ALG_ABS_TOF_COMPUTATION_MODE_Hilbert)||
(USS_ALG_ABS_TOF_COMPUTATION_MODE = USS_ALG_ABS_TOF_COMPUTATION_MODE_Hilbert_WIDTH)||
(USS_ALG_ABS_TOF_COMPUTATION_MODE = USS_ALG_ABS_TOF_COMPUTATION_MODE_LOW_WIDE)
.negSearchRange = USS_ALG_ABS_TOF_NEG_SEARCH_RANGE、
.posSearchRange = USS_ALG_ABS_TOF_POS_SEARCH_RANGE、
#else
.negSearchRange =-20、
.posSearchRange = 2、
.crossThreshold = 20、
#endif
#if ((USS_ALG_ABS_TOF_COMPUTATION_MODE = USS_ALG_ABS_TOF_COMPUTATION_MODE_Hilbert)||
(USS_ALG_ABS_TOF_COMPUTATION_MODE = USS_ALG_ABS_TOF_COMPUTATION_MODE_Hilbert 宽)
.crossThreshold = USS_ALG_ABS_TOF_HILB_cross_threshold、
#else
.crossThreshold = 20、
#endif
#IF (已定义(USS_ENABSTOF_LOW_OFFSET_CORRECTION)&&(USS_ENABSTOF_LOW_OFFSET_CORRECTION = TRUE))
.pInterpCorrectTablePtr = gUSSAbsToFLUT、
.interpCorrectionTableLength= sizeof (gUSSAbsToFLUT)/(2* sizeof (int16_t))、
#else
.pInterpCorrectTablePtr = NULL、
.interpCorrectionTableLengight = 0、
#endif
#if (USS_ALG_ENABLE_ESTIMENT_TEMPERATURE == true)
.tempCalcObject =&ussAlgorithmTemperatureCalcObj、
.temperatureCalcOption = Calculation_Option_、
#else
.tempCalcObject = NULL、
.temperatureCalcOption = Calculation_Option_、
#endif
#if (USS_ALG_VFR_CALIB_MODE==USS_ALG_VFR_CALIB_OPTION_FLOW)
.volumeCalibrationOption = Calibration_Option_、
.calibObject.flowCalibObject =&usAlgorithmVolumeFlowObj、
#Elif (USS_ALG_VFR_CALIB_MODE==USS_ALG_VFR_CALIB_OPTION_FLOW_TEMPERATURE)
.volumeCalibrationOption = Calibration_Option_温度、
.calibObject.flowTempCalibObject =&ussAlgorithmVolumeFlowTemperatureObj、
#else
.volumeCalibrationOption = Calibration_Option_、
.calibObject = NULL、
#endif
.isInitAlgoritms = USS_ALG_IS_INIT_Algorithms、
};
__persistent USS_SW_Library_configuration gUssSWConfig ={
.systemconfig =&ussSystemConfig、
.meterConfig =&ussMeterConfig、
.measurementConfig =&ussMeasurementConfig、
.pllConfiguration =&ussPLLConfig、
.captureConfig =&ussCaptureConfig、
.triggerConfig =&ussTriggerConfig、
.interruptConfig =&ussInterruptConfig、
.algorithmsConfig =&ussAlgorithmConfig、
};
您需要的是 FR50431的(定制) USS 链接器.cmd 文件。 此线程(在末尾)有一个包含此文件的.zip 文件。 .zip 还包含一些可能相关的源代码更改。
有一份报告(具体取决于 USS 配置设置)说、.cmd 可能导致链接器警告、这一警告显然是无害的。