第三章 编译MMS-EASE 精简版

Ubuntu下的AT89S52,S51+SDCC+USBASP的开发环境搭建-大工优快云高校俱乐部EE01工作室 Linux下的MCU开发之51 -51系列的开发环境搭建 Galaxy2416 联系方式:sunxiao.gin@gmail.com 附件包内容: 程序源码,超级简易Makefile模板,usbasp可烧录51的固件程序,相关文档。 http://download.youkuaiyun.com/detail/galaxy_blue/4327653 系列说明:LI 阅读详情

      许多嵌入式环境都需要使用一个运行在主机上的交叉编译器然后转移到目标系统执行程序。在本文章中,主机指的是应用程序编译和连接的环境,目标机指的是程序被执行的环境。

     下面的步骤都需要在主机上完成,会生成一组能够直接在目标机上执行的库文件。

      1. 编辑 glbtypes.h,把SISCO数据文件与目标机本地C数据类型对应。这个文件包含了很多例子环境的类型定义。

     2. 编辑 sysincs.h 文件,选择合适的开发环境的头文件

     3. 预览系统特殊代码,例如数据对齐,浮点格式,高分辨率定时器。

     4. 预览和跟踪堆栈组件,看后续以获得更详细的信息

    5. 修改MMS-EASE精简版生成文件以确定是能够允许在主机上执行的文件。

    6. 编译MMS-EASE 精简版,使其能够在目标机上创建程序

   7. 编辑align.cfg 以能够确认满足目标环境的要求。QNX和win32位级的例子在\mmslite\mvl\util\foundry下。如果目标系统需求不确定,编译和执行可执行文件findalgn.exe在目标环境下。

全球变量初始化

        MMS-EASE 精简版有许多全球版本,有些是在编译时初始化并可能在执行期间改变。在某些初始化的全局变量放置在代码段的环境下,可能会导致拒绝校验和验证的问题。于是,我们定义,NO_GLB_VAR_INIT,可以用在代码段里避免全局变量被初始化的问题。囚这个功能被应用,用户应用必须使用mvl_init_glb_vars在任何MVL和MMS-EASE精简版的活动之前。

       Mvl_init_glb_vars

      用法:此功能用于初始化所有不能被编译器初始化的全局变量

  

     函数属性: ST_VOID Mvl_init_glb_vars(ST_VOID)

     参数: NONE

 

     返回值:ST_VOID

开发系统准备

     在MMS-EASE精简版创建之前,需要考虑以下条目

条件编译定义

     MMS-EASE 精简版是一个灵活的代码库能够创建丰富的通信模块。都是通过很多指定的特殊指令来完成。能够完成此功能的定义都在下面。特别指出,这个列表不包括用来建立特殊功能的功能。

初级一般定义

功能描述

MMS_LITE

这个定义是为了编译MMS-EASE精简版代码

这个定义通常用在标准产品生成文件

DEBUG_SISCO 

这个定义用在大部分SISCO软件编译组件的两个目的是:

1. 编译的日志报表。这显著的增加了静态字符串空间的大小,并且仅会微弱的减慢速度。SISCO建议使用此定义。

2. 实现在一定程度上的编译错误级别检查。是用DEBUG_SISCO定义的第二影响

3. 内存分配调试调用编译。用于跟踪所有分配的文件/行数

这个命令用在标准输出文件中以创作调试文件夹

NO_GLB_VAR_INIT 

这个命令使用在当目标环境不支持便是时间数据初始化的情况,在MMS-EASE出现了很多情况。这并不是定义在标准生成文件中。

S_MT_SUPPORT

这个定义是为了在多种MMS-EASE 库中支持多线程。并不定义在除windows之外的标准输出文件中。

SD_BYTE_ORDER 

这必须定义在glbtypes.h中,为每个平台来表示存储数据的字节顺序(大端或小端)。大端必须使用SD_BIG_ENDIAN。小端必须使用SD_LITTLE_ENDIAN

UNICODE_LOCAL_FORMAT

此定义选择本地格式存储UNICODE字符串。在MMS标准规范中,UNICODE字符串必须被编码成UTF8格式。这也是大多数UNIX操作系统中存储的格式。当然,一些系统中比如(windows)使用UTF16存储UNICODE字符串。ASN.1编码把unicode字符串从本地字符转化成UTF8。ASN.1解码把UTF8转化成本地格式。这个转化是被这个定义所控制。一定要被定义成UNICODE_UTF8和UNICODE_UTF16。目前被定义成UNICODE_UTF8除了windwos系统环境下。

高级框架初级定义

MVL_UCA 

这部分定义允许在高级框架中使用UCA.用于编译MVLU库文件使用。

MVL_AA_SUPP 

此定义允许MVL支持作为一个变量服务器的备用访问。通常被定义在mvl_defs.h中,如果用户程序不需要备用访问支持和内存规定了最小可能数据空间。

MVL_DYN_MEM 

这个定义是用来让MVL根据需要使用动态分配内存。另一种方法是,MVL将分配一组缓冲在初始化时,在程序生命周期中一直存在。一般定义在mvl_defs.h中,而且必须在使用MVL 异步响应机制的服务器端程序运行。

MVL_DYN_ASN1_TYPES

这个定义是用来让MVL从运行时类型,生成ASN.1类型。(通常作为获取值的服务器端属性)另一种方法是让ASN.1编码类型适应MVL类型控制,这可能需要更大的内存消耗,尤其对于大量数据。这通常被定义在mvl_defs.h中。

ICCP_LITE_SUPP 

这个定义通常在mvl_defs.h中通常被作为MMS-EASE 精简版的TASE.2的MVL

Mac原生51单片机开发:VSCode+sdcc+stcgal实战指南 51单片机作为嵌入式入门核心平台,其开发长期被Windows生态绑定。随着macOS在开发者中的普及,构建原生、可复现、高效率的Mac开发链路成为刚需。sdcc作为专为8051哈佛架构深度优化的开源编译器,支持精确内存模型控制与指令级优化;stcgal则基于对STC ISP协议的完整逆向,实现多层校验、波特率自适应与原子化烧录操作。二者结合VSCode强大的终端集成、任务自动化与IntelliSense智能感知能力,共同构成轻量、稳定、可迁移的嵌入式开发范式。该方案显著规避虚拟机兼容性问题、USB权限抖动及 阅读详情

相关推荐

mms61850源码,电力客户端服务端通讯mmslite-6.0000

mms61850源码,电力客户端服务端通讯mmslite-6.0000

MMS-Lite中文参考手册.pdf

根据英文版MMS-Lite Reference Manual版本15(2012)翻译而成。

mmslite_5.1005.zip

61850验证开发工具,适用与目前电网、变电站内部通信协议软件

SISCO MMS lite Lib 6.0 tissues 文档

SISCO MMS lite Lib 6.0 tissues 文档,包括3个pdf格式文档 7-2 tissues 8-1 tissues misc tissues

IEC61850客户端代码

该IEC61850客户端软件,包括服务器端建模、报告控制块、日志、定制等模块数据的读取、显示等模块。使用qt的信号槽及三态树机制实现不同对象的通信与数据的显示。通过将读取的数据存储到共享内存实现与后台程序的通信。

61850-server客户端软件

61850可视化客户端,自动连接本地61850服务。可查看icd模型。 解压即可使用。方便快捷

ScdParse.zip_MMS lite _scd 解析_scd解析_scl_parse_智能变电站

非常不多的,智能变电站SCD解析代码。 从中你还能学到很多编程知识

RefMan_mmslite_61850MMS_MMSlite_61850_

61850的开发库,英文版,mms协议,工业制造报文规范

STM32F407 FreeRTOS+LVGL移植实战:从驱动适配到性能优化

本文详细介绍了在STM32F407开发板上移植FreeRTOS和LVGL的实战经验,涵盖硬件准备、驱动适配、性能优化等关键步骤。通过TFTLCD屏幕驱动优化、DMA加速和任务优先级调整,显著提升界面流畅度,为嵌入式GUI开发提供实用解决方案。

weixin_29190651的博客 632

模拟量传输4-20ma电流

大家可能会非常熟悉RS232,RS485,CAN等工业上常用的总线,他们都是传输数字信号的方式。那么,我们用什么方式来传输模拟信号呢?工业上普遍需要测量各类非电物理量,例如温度、压力、速度、角度等,这些都需要转换成模拟量电信号才能传输到几百米外的控制室或显示设备上。工业上最广泛采用的是用4~20mA电流来传输模拟量。 采用电流信号的原因是不容易受干扰,因为工业现场的噪声电压的幅度可能达到数V,但是噪声的功率很弱,所以噪声电流通常小于nA级别,因此给4-20mA传输带来的误差非常小;电流源内阻趋于无穷.

tangdongming的博客 1万+

【高清照片】深圳光博会看PCIe Over Fibre 实现方案

本文分析了PCIe over Fibre技术及其在数据中心的应用前景。该技术通过光纤延伸PCIe总线,解决了传统铜缆距离限制问题,支持跨机架资源池化。目前主要有两种实现方式:CDFP混合光缆方案和Retimer转接卡方案,各有优缺点。文章还探讨了CDFP接口的现状、低速信号传输解决方案,以及PCIe速率与光通信发展的对应关系。最后对比了PCIe光缆与以太网光缆的关键差异,指出PCIe光互连在协议透明度和边带信号处理上的特殊要求。随着标准推进,PCIe over Fibre将成为数据中心扩展高带宽、低时延互连

Saniffer的博客 1386

分享一个N-MOS管和P-MOS管驱动应用实例

大家好,我是『芯知识学堂』的SingleYork,今天给大家分享一下MOS管驱动相关的知识。 MOS管在电路设计中是比较常见的,按照驱动方式来分的话,有两种,即:N-MOS管和P-MOS管。MOS管跟三极管的驱动方式有点类似,但又不完全相同,那么今天笔者将会给大家简单介绍一下N-MOS管和P-MOS管的工作原理,并结合自己实际的应用来给大家分享一下如何来驱动N-MOS管和P-MOS管。 首先,我们先来看一下N-MOS管和P-MOS管分别在电路中的电气符号: 咋一看上面两个电气符号,似乎非常的相似,可能让很

『芯知识学堂』SingleYork 的博客 3万+

AutoSAR开发实战:如何用Matlab/Simulink从零搭建SWC组件(附完整代码示例)

本文详细介绍了使用Matlab/Simulink从零开发AutoSAR SWC组件的全流程,包括环境配置、ARXML文件导入、算法模型开发、代码生成与集成验证等关键步骤。通过实战案例和完整代码示例,帮助开发者掌握AutoSAR标准下的软件开发技术,提升汽车电子系统的开发效率。

weixin_29093017的博客 256

用 SemanticObject 把字段变成可点击链接:Fiori Elements Navigation Using a Link 的工程化实践

SAP Fiori elements 通过 Common.SemanticObject 注解可将字段转为可点击链接,实现应用间跳转。当源字段名与目标属性名不一致时,需使用 Common.SemanticObjectMapping 进行映射。该功能依赖 Fiori Launchpad 的目标映射配置,确保正确解析 semantic object + action 并传递参数。常见误区包括未配置目标映射或字段映射错误,需逐一检查语义标注、intent 解析和参数传递链路。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 272

uniapp - 详解使用高德地图在地图上实现绘制边界/点聚合/行政区域高亮等功能,Uniapp高德地图点聚合标记及绘制点线面示例代码(全端兼容H5网页、小程序、安卓app、苹果app、nvue)

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,高德地图,uniAPP高德地图实现点聚合,地图区域描边、点标记、点信息详情弹窗,实现绘制边界区域,uniapp H5使用高德地图实现点聚合、行政区域高亮,实现高德地图的marker聚合功能,高德地图进行marker标点,点信息展示,点击标记点弹出对话框,点击聚合点后显示信息模态框,打标点,【Uniapp】高德地图的接入自定义标点与信息窗体使用,绘制行政区域边界,绘制多边形,电子围栏,高德行政区划边界,

✅ 精选推荐文章 1万+

从重复劳动到智能闭环:OpenClaw实战搭建小红书&公众号全自动化运营体系

如果你有一定的代码开发能力,还可以为OpenClaw开发自定义插件,拓展更多的功能,比如对接更多的平台,实现图文+短视频的全平台自动化运营;对接视频剪辑工具,实现短视频脚本生成、剪辑、配音、发布的全流程自动化;对接私域运营工具,实现公域引流、私域承接、用户转化的全链路自动化;对接电商平台,实现内容种草、商品上架、订单管理的全流程自动化,打造完整的内容电商闭环。新媒体运营的本质,是内容价值的传递,而不是机械的重复劳动。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 310

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: 第二章 开始旅行
下一篇: 文件复制粘贴
techliangc
博客等级 码龄15年 9粉丝 10原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值