MamoYU

个性签名:

提供专业嵌入式系统培训,为嵌入式研发提供丰富的工具,软件和解决方案。

  • 2019-10-18
  • 发表了主题帖: 开课啦!!基于RISC-V的FreeRTOS入门课程

             FreeRTOS是一个开源、免费的RTOS内核,已经被广泛应用到各种物联网和嵌入式产品开发中。新兴的开源指令集的RISC-V架构,在嵌入式及物联网应用领域中有广阔的应用前景。为此, BMR(麦克泰)、GD(兆易创新)、同济大学与深圳大学等高校合作,基于GD的RISC-V架构MCU芯片-GD32VF103,推出了面向RISC-V的FreeRTOS入门课程。   课程简介 本课程将涉及嵌入式实时操作系统(RTOS)的概念和原理,课程分析FreeRTOS在RISC-V上的启动过程,讲解FreeRTOS的基本使用,包括任务创建,中断与任务间的交互及任务间的通信等。并通过可视化的RTOS分析工具-Tracealyzer,直观的查看多任务环境中RTOS的行为。课程基于GD32VF103C-START开发板,学习GD32VF103C MCU的原理和应用,以及如何使用FreeRTOS API在GD32VF103C-START开发板上创建任务,及使用FreeRTOS的系统服务实现任务间及中断与任务间的交互。   活动费用 原价:469元/人 早鸟价:399元/人(截至10月31日前报名) 学生价:349元/人(培训现场提供学生证,不可开发票) 费用包括:GD32VF103C-START开发板+ 一日工作午餐   时间与地址 11月19号(星期二)北京、11月21日(星期四)上海、11月26日(星期二)深圳 具体地址请以确认函通知为准   教学安排 报名二维码 报名联系人: 杨小姐:010-57625727(北京) 徐小姐:021-62127690(上海) 林小姐:0755-82977971(深圳)    

  • 2019-10-14
  • 回复了主题帖: uCOS-II所有驱动应用举例

    谢谢分享~

  • 2019-10-10
  • 发表了主题帖: 如何使用静态分析,减轻团队压力?

    Parasoft作为软件测试工具,小编接触过很多在这方面寻求帮助的人,所以有这方面疑惑的不止你一个人哦! -------------华丽的分割线---------------   我们假定你已经安装了静态分析工具并配置了所有初始设置。除此以外,如果刚开始没有确定项目需要采取的策略,入门会比较困难。小编所说的“入门”是指深入理解将静态分析集成到现有项目中的一般方法,以及如何提高静态分析随着时间的推移带来的投资回报。   什么是静态分析? 简单来说,静态分析是在不执行代码的情况下检查源代码和二进制代码的过程,通常用于查找bug的前期准备或评估代码质量。与需要运行程序的动态分析(例如Parasoft Insure ++)不同,静态分析可以直接分析源代码而不需要执行源代码。 这意味着静态分析可用于部分完整的代码,库和第三方源代码。开发人员可以将静态分析应用在编写或修改代码的过程中,甚至可以应用到任何代码库。     支持功能安全和编码标准 在应用程序安全域中,静态代码分析采用了静态应用程序安全性测试(SAST)技术。静态分析可以支持安全漏洞检测,同时支持bug检测,质量指标和编码标准一致性检测。 另外,静态分析工具强制要求(在某些情况下“强烈推荐”)能够支持安全标准(如ISO 26262或EN 50128)的检测,因为这些标准能够检测难以发现的缺陷并提高软件的安全性。当然,这又回归到安全性的问题上,因为静态分析工具还可以帮助软件团队遵守主要用于验证安全编码的编码标准,例如CERT甚至MISRA。     静态分析工具优点及难点 静态分析工具的一个优点是它们可以在项目的任何阶段引入和使用,即使项目是不完整的或者只有部分编码是有效的。引入静态分析的最大难点在于代码量大会产生大量的警告。因此,将静态分析应用到项目中时的重点应该是使团队能够尽快高效工作,并最大限度地减少团队被静态分析的警告困扰的情况。这并不是说这些警告不重要,但大多数开发人员都不会修复现有或遗留代码缺陷,至少不是立即处理。 最重要的应该是将静态分析运用到日常流程中,以便最大化静态分析的使用效果和可用性,然后处理最危险的bug和安全漏洞。一旦团队变得更加熟练,你就可以专注于优化工具和流程,提高投资回报率。   如何管理早期静态分析报告 一旦将静态分析工具安装到项目中,该工具通常会报告相当长的违规和警告报告。这可能是多到无法处理的,特别是在大型代码库中,因此如何管理这些报告将会直接影响到工具集成到项目中能否成功。 并非所有警告都是至关重要的,因此不需要立即处理所有警告。学习哪些需要立即解决而哪些需要推迟处理是成功的关键。如上所述,产品的成熟度和规模对方法有直接影响,下面将更详细地概述。   底线方法 顾名思义,在这种方法中,开发人员决定在初步分析之后,他们不会让任何更严重的警告和违规进入代码库。换句话说,他们需要分析每个警告来确定其准确性,并及时修复,如果它确实是一个bug。 团队还可以决定在现有代码中添加已发现的关键警告,并将其添加到报告工具中的bug列表中。这些类型的警告可能是严重的安全漏洞,如SQL注入,或严重的内存错误,如缓冲区溢出。在大多数情况下,可以推迟不太严重的警告以供以后分析。你可能会想,“这不仅仅会增加我们的技术债务吗?”如果你这样想,那你就是对的!但在这个阶段,我们对此表示满意。这些警告中的任何潜在错误都已经在技术债务堆中。至少现在,它们被识别出来并且以后更容易修复。   确认并推迟处理方法 如果产品已经在市场上并且正在维护中,那么识别代码中的任何bug和安全漏洞仍然是有益的,但让开发人员分析(更不用说修复)所有这些警告是不可行的。 在这种情况下,查看最重要的报告并确定行动方案是有意义的。其余的警告只需要确认,因为软件团队认识到它们存在,但它们大多数都被推迟了。(这再次增加了该组织的技术债务,但如上所述,这些漏洞在技术上已经存在作为技术债务。)这种方法不同于底线方法的地方在于确定关键警告后,你会推迟其余的警告,而不需要所有的都分析。   绿地方法 现有代码很少的项目是静态分析的理想起点。在这种情况下,软件团队可以调查出现的所有警告并修复发现的错误。与其他方法不同,你只需要管理很少的警告,因此开发人员可以解决额外的工作。这也是通过这些工具实现和实施编码标准的理想时间,因为可以在IDE中以及在将任何代码提交到版本控制之前识别和修复违规(你可以在此处描述的其他方案中执行此操作)。 在三个主要阶段采用何种静态分析,可以通过如何处理积压的警告来区分,如下所示:   在三个主要阶段采用静态分析:在绿地项目中,大多数报告的警告都经过调查和修复,几乎没有进入技术债务堆。正在开发的项目往往会积压大量的警告,这些警告大部分都是推迟处理,只处理严重警告,维护中的产品往往会推迟大多数警告。   配置与过滤 开源或轻量级静态分析工具与商业高级静态分析工具之间的主要区别之一在于能否配置为分析启用哪组检查器,并根据警告类别,文件名,严重性等过滤掉报告的结果属性。这有助于突出目标——开发人员可以专注于他们感兴趣的警告类型,并减少在任何时间产生的垃圾信息量。 配置检查器和过滤结果之间也存在差异。尽管一开始限制全局配置中的规则数量似乎更好,但通常应使用过滤来限制报告范围,而不是完全消除检查程序。如果在配置中关闭后来证明是重要的规则,则警告存储库中将没有历史记录,因此你将无法确定错误是由最近的更改引入还是在静态分析之前已经在代码中。 我建议使用配置将规则集限制为可预见对软件团队有用的规则。同样,以最终目标为出发点:如果提高安全性是关键目标,那么启用所有与安全相关的规则,禁用不太重要的规则,启用CERT C等内置安全编码标准。如果你正在使用Parasoft C/C++test等高级静态分析解决方案,你可以利用其内置的管理工具来处理静态分析报告中生成的数据,并推进未来的重点开发工作。   总结 静态分析工具使团队无需执行代码,就能够检测和跟踪错误安全漏洞。这些工具可应用于现有、传统和第三方代码并提供质量审查结果。 采用何种静态分析方法在一定程度上取决于项目的成熟度。大量代码确实会产生大量警告。但这完全是可管理的,能否成功取决于团队如何决定处理结果。好好考虑为项目的每个成熟度阶段引入不同的技术,以及如何将这些工具集成到开发人员,团队负责人和经理的日常工作流程中。 此内容由EEWORLD论坛网友MamoYU原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 发表了日志: 如何使用静态分析,减轻团队压力?

  • 发表了主题帖: 重磅消息!麦克泰技术正式成为SEGGER代理商

    近日,麦克泰技术签约SEGGER成为正式代理商,全面代理SEGGER旗下所有产品。双方在嵌入式行业已有多年渊源,为各个领域的行业开发者提供可靠且安全的解决方案。         SEGGER   嵌入式专家   成立于1992年,拥有超过25年的行业经验。总部位于德国,是嵌入式系统业界内产品线完整且知名度高的公司。所有SEGGER产品都经过高度优化,生产先进的RTOS及嵌入式中间件,并提供全套硬件软件开发工具。具有出色性能的J-LINK也是市场首屈一指的调试器之一。     SEGGER 四大产品线   麦克泰技术   BMR   北京麦克泰软件技术有限公司(简称麦克泰)成立于1995年,是国内专业的嵌入式系统软件企业,与世界领先的嵌入式软件供应商合作有二十多年的时间,为嵌入式研发提供丰富的工具、软件、解决方案和培训服务。   此次麦克泰正式成为SEGGER代理商,是对麦克泰的行业表现及技术服务给予有力的肯定。双方的合作将有利于为彼此提供机遇、市场知名度,促进双方良好发展。麦克泰也会借助所获得机会和资源,为客户提供更好的产品及技术服务。   北京麦克泰软件技术有限公司 为嵌入式与物联网行业提供产品、教育和服务   网址:www.bmrtech.com 邮箱:info@bmrtech.com 电话:010-57625727(北京)、021-62122416(上海)、0755-82977971(深圳)  

  • 回复了主题帖: 使用Tracealyzer分析RTOS需掌握的基本概念

    SensorYoung 发表于 2019-9-27 11:10 这工具是哪家公司的?看名字很熟悉
    percepio 操作系统跟踪工具tracealyzer

  • 2019-09-27
  • 回复了主题帖: 使用Tracealyzer分析RTOS需掌握的基本概念

        图1      图2   图3   图4   图5      

  • 发表了日志: 使用Tracealyzer分析RTOS需掌握的基本概念

  • 发表了主题帖: 使用Tracealyzer分析RTOS需掌握的基本概念

    Tracealyzer是一款RTOS行为分析工具,支持包括VxWorks、μC/OS-III、FreeRTOS在内的众多RTOS,以及Linux系统。   Tracealyzer能够分析RTOS和中间件协议栈中的软件事件,并且提供了许多专门的可视化视图展示,如任务调度,中断、任务之间的交互。视图之间直观的链接在一起,相关事件突出显示,使得理解问题和验证方案变得更加容易。   将Tracealyzer集成到自己的工程的操作方法请参考:快速入门| Tracealyzer跟踪记录库移植   使用Tracealyzer对RTOS进行分析,需要掌握基础的概念 01  Actor 被定义为任务/线程或者ISR。一个任务,一个中断服务程序都是一个Actor。 02  Instance 实例。Actor的一次执行,在时间轴视图上以带颜色的矩形表示,矩形的长度代表着执行的时间长度。矩形中阴影部分表示任务处于就绪态,但是期间CPU正被就绪的更高优先级任务占用。 图 1   任务实例   03  与实例相关的时间 时间是Tracealyzer的核心,几乎所有的视图都依赖于时间戳。通过时间才能知晓任务调度的时机,系统服务调用的时间点。 图 2    实例信息中的时间   a、Start and End Times:起始和结束时间。 b、Execution Time:执行时间。一个实例使用的CPU时间量,不包括任务抢占的时间。 c、Response Time:响应时间。从实例开始到结束的时间。更准确地说应该是:任务的响应时间是从任务准备执行时开始计算的(即内核将任务的调度状态设置为就绪的时刻)。 d、Wait Time:等待时间。这是响应时间减去执行时间(Response Time - Execution Time)。即当Actor未执行时,实例(instance)所消耗的时间。 e、Startup Time:启动时间。从任务就绪到执行开始的时间。 图 3    响应时间与执行时间、启动时间的关系 04  Fragmentation Actor实例执行的片段数量(由于任务/中断抢占,执行过程被打断)。如果一个Actor实例完全执行而没有抢占,这个实例的片段将是1。 05  View Ports and Sync 视区与同步。视区是Tracealyzer当前视图窗口所显示的内容时长(与时间的分辨率相关)。默认的“Details”视区,显示100ms时长的内容;默认的“Overview”视区,显示10s时长的内容。时间轴同步到Details或者Overview视区,各视图窗口放大、缩小和滚动都是联动的,除非选择Unsynchronized,将当前视图独立。 图 4   默认Details视区(窗口显示100ms时长)   图 5    默认的Overview视区(窗口显示10s时长)   以上是使用Tracealyzer分析RTOS系统时所需要掌握的几个基础概念。在此之上,我们可以查看任务或者ISR的详细时间,便于分析错误和对系统进行调优。 此内容由EEWORLD论坛网友MamoYU原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2019-09-19
  • 发表了日志: 嵌入式文件系统μC/FS的日志使用

  • 发表了主题帖: 嵌入式文件系统μC/FS的日志使用

    尽管在PC领域NTFS已经取代了FAT,但FAT文件系统仍然是嵌入式开发的首选。除了为嵌入式应用程序提供与PC(因为Windows继续支持FAT)的无缝交互,对于电源不稳定的设备开发者来说,基于FAT的文件系统解决方案可能是增加系统可靠性的一个的来源,为了提供掉电保护,FAT实现需配备日志模块。 日志模块通过将更改的意图记录在 “日记”数据结构中,来跟踪尚未提交文件系统的更改,通过历史记录,日志模块可以在电源故障的情况下维护文件系统目录层次结构,并确保底层结构不会损坏。值得注意的是,尽管日志模块确实保护文件系统不受损坏,但它不提供对数据(文件内容)的保护。因此,在电源故障之后,在发生故障时被修改的一个文件可能处于一个“未知”的状态,在此状态中,部分或期望的内容会丢失。 当然,不同的文件系统实现中,使用日志功能的步骤会有所不同。采用Micrium的µC/FS,该过程非常简单,只需四个步骤: 1、添加fs_fat_journal.c文件到工程中,该文件位于$:\Micrium\Software\uC-FS\FAT($:\表示Micrium软件目录)。 2、在fs_cfg.h文件中,使能FS_FAT_JOURNAL_EN,该配置使能文件系统中执行记录的函数。 3、在应用代码中,调用相应的API,在指定的卷设备中打开并启动日志。   FS_FAT_JournalOpen() 该函数打开在文件系统中找到的日志文件。如果日志不存在,文件系统将创建日志文件。   FS_FAT_JournalStart()   此操作之后,对目标卷的任何更改都将记录在日志中。 4 、最后,对于要使用日志的每一个卷设备,您都需要重复步骤3。因为日志模块一次只能在一个特定的卷启用。 完成了所有上述步骤,您的应用程序就可以使用µC/FS的日志模块。您可能已经注意到,上面没有提到停止和关闭日志模块的指令。尽管这些选项可用(FS_FAT_JournalStop()停止日志,FS_FAT_JournalClose()关闭日志),但是我们建议您不要停止或关闭日志模块,因为一旦停止对日志的更新,之后的系统操作将不会被记录或保护。  

  • 2019-09-12
  • 发表了主题帖: 网络研讨会| 希望了解用于汽车的可重用嵌入式软件组件开发的基本概念

    ISO 26262规范定义了一种用于创建车辆中可重用的硬件和软件元素的方法,该方法被称为SEooC-独立安全单元。 在本次网络研讨会中,HCC首席执行官Dave Hughes将概述ISO 26262提供的四种开发方法,重点解析常用的方法。内容将涵盖整个开发过程:验证SEooC是否合适,与目标的集成,组件的裁剪和目标验证,了解组件的完整生命周期维护和与安全开发系统的集成。 尽管该方法基于ISO 26262标准,创建安全的可重用软件组件的方法也适用于工业、医疗和航天等领域的应用。 通过本次网络研讨会,您将学习到开发SEooC软件的基本方法,并通过实例了解关键概念以及它们与标准开发方法的区别。 演讲人:Dave Hughes,HCC Embedded  CEO 2019年9月19日, 2:00 PM - 2:45 PM  报名链接:https://register.gotowebinar.com/register/7217205720681140747  

  • 发表了主题帖: 故障安全的exFAT解决方案

    9月4日,HCC 针对故障安全的exFAT解决方案-SafeexFAT正式发布。SafeexFAT为设备制造商提供了一个独立于RTOS的故障安全文件系统解决方案,满足深度嵌入式应用的存储可靠性需求。HCC是Microsoft exFAT的官方合作伙伴,可以为设备制造商提供可靠的exFAT集成、验证和微软专利许可服务。 增强的SafeexFAT基于故障安全设计和测试,确保客户不会丢失任何数据。HCC设计SafeexFAT时考虑到集成和目标验证,提供了相应的测试套件,客户可以基于该套件验证产品行为的正确性。为了验证目标系统上的故障安全,驱动测试程序可以通过在介质驱动层注入错误来验证实现的正确性。 在基于MCU的解决方案中,针对RTOS,no-RTOS和Linux系统应用,HCC积累了丰富的项目经验。基于这些知识,HCC为大多数介质驱动控制器提供了经过验证的驱动程序。HCC的SafeexFAT遵循MISRA 2012规范,能够与客户目标平台可靠地集成,在所有设计上使用相同的应用代码,并确保相同的质量。  “我们在故障安全方面的专业性和在复杂嵌入式环境中使用多个RTOS的经验,在过去17年中已经在2000多个项目中得到了证明。” HCC Embedded首席执行官Dave Hughes说,“SafeexFAT为exFAT解决方案提供了可靠性,有了SafeexFAT,我们可以为需要数据安全的客户提供可靠的数据存储,并帮助解决与复杂系统及资源受限的嵌入式系统集成中面临的挑战。” 此内容由EEWORLD论坛网友MamoYU原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 发表了日志: 故障安全的exFAT解决方案

  • 2019-09-04
  • 发表了日志: Phyton用于ATE集成商的可定制ISP解决方案

  • 发表了主题帖: Phyton用于ATE集成商的可定制ISP解决方案

    为了满足自动化测试仪器厂商或其他有兴趣为其设备添加编程功能的ATE集成商的需求,Phyton为ATE集成商提供可定制的硬件和软件套件,用于在他们的设备内构建定制的器件编程器。该方案可以帮助集成商制定经济高效的硬件配置,适应现有设备的机械设计,并将Phyton软件集成到ATE软件中。该解决方案基于Phyton CPI2-Gx群组器件编程器中使用的CPI2-GM1编程模块。 CPI2-GM1编程模块 微型CPI2-GM1模块(67.5 x 42.5 mm)包含器件编程所需的关键硬件组件。每个模块都有一个存储在模块固件中的唯一序列号。所有必需的软件许可证与模块的序列号相关联,控制编程操作的所有命令也由模块的序列号启用。 集成商可以创建自定义主板,根据需要插入尽可能多的CPI2-GM1模块。模块通过内部USB、以太网或UART接口与用户设备进行通信。UART仅用于系统设置,USB和以太网接口用于设置和连接计算机。 用户可以选择以下方式来设计和生产这样的主板: a)由Phyton免费提供原理图,用户自己设计和生产电路板。 b)用户与Phyton签订服务合同,由Phyton进行电路板设计、原型设计和最终系统调试。 最后,集成商根据所需的数量从Phyton 购买CPI2-GM1编程模块和需要的软件许可证。 此内容由EEWORLD论坛网友MamoYU原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2019-08-30
  • 发表了日志: IAR 开发环境下的.map文件解析

  • 发表了主题帖: IAR 开发环境下的.map文件解析

    map文件(内存映射文件)在日常项目开发中有些工程师可能不太关注它,但是等你了解了map文件,会让你在开发和调试的过程中事半功倍。为了具体化问题,这里以IAR EWARM和STM32F107为例来深入地分析一个map文件。 首先,要在工程设置选项中勾选生成map文件,默认设置是不生成map文件的,我们需要手动设置一下。如下图: 之后每次编译会在在“工程目录\Debug\Lis”文件夹下找到以工程名命名的.map文件。在IAR编辑器中打开它(也可以用记事本或者Notepad++等文件编辑器直接打开)。 另外,也可以在workspace的Output虚拟目录下双击显示的map文件,会自动在IAR编辑器中打开map文件。 map文件主要由以下几部分构成:         文件头中显示链接器版本,输出文件名,MAP 文件名以及链接器命令行等。         RUNTIME MODEL ATTRIBUTES  显示 Endian等属性;         PLACEMENT SUMMARY  显示各sections 在存储器中的分布;         INIT TABLE  显示与初始化有关的section tables;         MODULE SUMMARY  显示所有被链接的文件信息,包括目标文件和库文件等;         ENTRY LIST  给出了所有函数的入口地址及其所在的目标文件。         文件尾中显示了总的代码和数据字节数(想看下最后目标代码占用多少Flash和多少RAM的可以从这里查到)。 下面介绍调试的时候常常会用到的几个部分。         PLACEMENT SUMMARY,该部分主要显示代码和数据在芯片内部的存储器映射地址。可能会有人疑问为什么会分配到这些地址的呢,其实这些地址分配都是在Linker文件(*.icf文件)里定义好的,IAR根据所选目标芯片就按照该定义的地址进行链接,然后烧写进Flash,具体的地址空间的定义可以查看icf文件说明了解详细内容。         ENTRY LIST,开发工程内所有函数的入口地址。这部分很有用,通过该地址映射再结合调试的时候观察内存空间,可以了解整个程序的执行状况。 3,MODULE SUMMARY,主要概述被链接文件所占ro代码大小、rw数据大小。         这是map文件末尾部分,最后给出了整个工程文件占用的资源情况,即芯片内部Flash和RAM的使用情况,便于你对工程开发规模上的掌握,最后给出工程编译链接输出信息。 此内容由EEWORLD论坛网友MamoYU原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2019-07-25
  • 加入了学习《新版RTOS教程:15天入门RT-Thread内核》,观看 初识RT-Thread

  • 2019-07-24
  • 回复了主题帖: 在北京,想学习嵌入式 刚毕业 不知道哪家培训班好?

    嵌入式实时操作系统μC/OS-Ⅲ组件以其高可靠性、优越的性能、清晰的源代码和优秀的文档而被认可,μC/OS软件符合严格地安全关键行业要求的标准,是用于功能安全、关键系统设计的理想选择!专业操作系统培训有什么技术培训问题可关注麦克泰技术更多干货支持~

最近访客

< 1/1 >

统计信息

已有7人来访过

  • 芯币:103
  • 好友:--
  • 主题:17
  • 回复:15
  • 课时:--
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言