tag 标签: 嵌入式系统

相关帖子
相关博文
  • 2025-5-29 17:32
    1 次阅读|
    0 个评论
    德思特新闻 | 德思特与es:saar正式建立合作伙伴关系
    德思特新闻 2025年5月9日,德思特科技有限公司(以下简称“德思特”)与德国嵌入式系统专家es:saar GmbH正式达成合作伙伴关系。此次合作旨在将 es:saar 的先进嵌入式开发与测试工具引入中国及亚太市场,助力本地客户提升产品开发效率与质量。 关于es:saar GmbH es:saar GmbH 总部位于德国萨尔州,专注于嵌入式系统的开发与测试,致力于通过提供高效的工程服务和自主研发的工具,简化嵌入式电子产品的开发流程,降低开发成本,提升产品质量。es:saar GmbH 的使命是使嵌入式系统的开发过程更简便、更高效。公司提供从概念设计到产品上市的全方位支持,涵盖电子硬件设计、嵌入式软件开发、原型制造、系统测试以及市场推广策略等服务。 产品与服务类型 1. es:serve ™ – 开发即服务(Development as a Service) es:serve 是 es:saar 提供的综合性工程服务,旨在帮助客户将电子产品从概念阶段推向市场。通过 es:serve™,客户可以获得一站式的产品开发解决方案,缩短开发周期,降低项目风险。 2.es:scope® – 嵌入式软件示波器服务 es:scope® 是一款专为嵌入式系统设计的软件示波器工具,旨在简化嵌入式软件的测试与调试过程。该工具已被多家领先企业和研究机构采用,用于提高嵌入式系统的开发效率和可靠性。其主要功能包括: 实时监测嵌入式系统的内部状态 数据采集与可视化 支持多种通信协议 与 es:prot 中间件无缝集成 3. es:prot – 通信中间件 es:prot 是 es:saar 开发的通信中间件,旨在为嵌入式系统提供高效、可靠的数据传输解决方案。它与 es:scope® 紧密集成,支持多种通信协议,简化了嵌入式系统的通信架构设计。 - END- 此次合作标志着德思特在嵌入式系统领域的进一步拓展,也为国内客户带来了更多高质量的选择。未来,双方将继续深化合作,推动嵌入式系统技术在中国及亚太地区的广泛应用。 如果您对该产品与服务感兴趣,欢迎联系德思特! ​
  • 热度 5
    2023-9-25 21:43
    978 次阅读|
    0 个评论
    ​ 芯驰 D 9 测评( 1 ) - - 硬件开箱 工业级的板卡和其他一般的“玩具”开发板还是要有所差别的,所以第一篇评测我们来仔细看看用料: 1. 全景图 ​ 编辑 用料足,做工扎实,接口都做了外围引出,底板配个铝合金外壳,就是妥 妥 的工业嵌入式主机。 2. 电源部分 ​ 编辑 电源12V输入 米尔配了 多国标准适配的电源适配器, 太贴心了,嵌入式工程师也要有进军全世界“遥遥领先”的愿景。 电源输入加了保险丝,压敏电阻,TVS(双向哦)三件套, 防护妥 妥 的,且具备防反接保护, 即便用外接电源也可以抵御现场大部分意外情况了。 3. 外围接口 工业应用肯定关注外部接口资源,系统提供资源包括: ​ 编辑 清晰明了,提供了快插端子。 ​ 编辑 原装宏发继电器 ,中 规 中矩,具体接口定义: ​ 编辑 ​ 编辑 金升阳隔离电源模块, 为CAN 和485提供隔离电源。 ​ 编辑 NSI1050--正品的485隔离收发器。另一路用的是NSI83085。 4. TYPE-C USB接口 ​ 编辑 用的ST的USB接口芯片1600A, 官方资料: ​ 编辑 USB host支持USB3.0 ,用的microchip的 USB5744-1 , 开发板硬件资料表明支持2路USB3.0. ​ 编辑 ​ 编辑 5. HDMI输出转接 国产龙讯 (合肥)LT8921B ​ 编辑 6. 其他 背面有一颗电平转换芯片,润石的RS0108 ​ 编辑 官方资料: ​ 编辑 小结: 用料足 小缺憾:调试串口用的比较多,能把CH340转换放在板上,用跳线选择就好了,毕竟杜邦线不牢靠,用一段时间就松垮垮的,容易带来各种调试问题。 ​
  • 热度 7
    2023-7-29 17:34
    2536 次阅读|
    0 个评论
    【嵌入式Linux系统开发】——嵌入式系统介绍 ▐ 我的圈子: 高级工程师聚集地 一、什么是嵌入式系统 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。 嵌入式系统与通用计算机系统的本质区别在于系统应用不同,嵌入式系统是将一个计算机系统嵌入到对象系统中。这个对象可能是庞大的机器,也可能是小巧的手持设备,用户并不关心这个计算机系统的存在。 嵌入式系统一般包含嵌入式微处理器、外围硬件设备、嵌入式操作系统和应用程序4个部分。嵌入式领域已经有丰富的软硬件资源可以选择,涵盖了通信、网络、工业控制、消费电子、汽车电子等各种行业。 二、嵌入式操作系统 嵌入式操作系统的一个重要特性是实时性。所谓实时性,就是在确定的时间范围内响应某个事件的特性。 著名的嵌入式操作系统有:VxWorks、Linux和Windows CE等。 三、嵌入式Linux的特点 Linux系统是层次结构且内核完全开放 。Linux是由很多体积小且性能高的微内核系统组成。在内核代码完全开放的前提下,不同领域和不同层次的用户可以根据自己的应用需要方便地对内核进行改造,低成本地设计和开发出满足自己需要的嵌入式系统。 强大的网络支持功能 。Linux诞生于因特网时代并具有Unix的特性,保证了它支持所有标准因特网协议,并且可以利用Linux的网络协议栈将其开发成为嵌入式的TCP/IP网络协议栈。 Linux具备一整套工具链, 容易自行建立嵌入式系统的开发环境和交叉运行环境 ,可以跨越嵌入式系统开发中仿真工具的障碍。Linux也符合IEEE POSIX1标准,使应用程序具有较好的可移植性。 传统的嵌入式开发的程序调试和调试工具是用在线仿真器(ICE)实现的。它通过取代目标板的微处理器,给目标程序提供一个完整的仿真环境,完成监视和调试程序;但一般价格比较昂贵,只适合做非常底层的调试。 Linux具有广泛的硬件支持特性 。无论是RISC还是CISC、32位还是64位等各种处理器Linux都能运行。这意味着嵌入式Linux将具有更广泛的应用前景。 四、嵌入式系统的组成 4.1、硬件和软件 ①硬件 :嵌入式处理器、存储系统、(由IO连接)外设、时钟、复位、电源。 三大件全部集成: 嵌入式微控制器(单片机) ; 三大件部分集成: 嵌入式微处理器、IO集成在一个芯片内部,存储外置 ②软件 : 嵌入式操作系统 (可裁剪移植的、定制开发)、 应用软件 (专用性、固化) 嵌入式系统通常由嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几大部分组成。 img img 4.2 硬件层 硬件层由嵌入式处理器、存储器系统、通用设备接口和I/O接口(如A/D、D/A、I/O等)组成。在一片嵌入式微处理器基础上增加电源电路、时钟电路和存储器电路(ROM和SDRAM等),就构成了七个嵌入式核心控制模块。其中,操作系统和应用程序都可以固化在ROM中。 4.3 中间层 中间层也称为硬件抽象层或板极支持包,它把系统软件与底层硬件部分隔离。板极支持包对上具有操作系统相关性,对下具有硬件相关性。设计一个完整的中间层需要完成两部分工作: ① 嵌入式系统的初始化,它包括片级初始化、板级初始化和系统级初始化。 ② 设计硬件相关的设备驱动 4.4 软件层 软件层由多任务操作系统(OS)、文件系统、图形用户接口(GUI)、网络系统及通用组件模块组成。OS是嵌入式应用软件的基础和开发平台;是一段嵌入式目标代码中的程序,系统复位后首先执行,相当于用户的主程序,用户的其他应用程序都建立在OS之上;是一个标准的内核,它将CPU时钟、中断、I/O、定时器等资源都封装起来,留给用户的是一个标准的API函数接口。 4.5 功能层与执行装置 功能层由基于OS开发的应用程序组成,用来完成对被控对象的控制功能。功能层是面向被控制对象和用户的,为方便用户操作,往往需要提供一个友好的人机界面。执行装置是指那些可以接受嵌入式计算机系统发出控制命令,执行所规定的操作或任务的设备和装置。在不同应用领域中,嵌入式系统的执行装置一般是不同的,应该根据具体的应用场合和系统所要求实现的功能选择不同的设备和执行装置。 五、Linux内核目录结构 arch :包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386、arm、arm64、powerpc、mips 等。Linux 内核目前已经支持30 种左右的体系结构。在arch目录下,存放的是各个平台以及各个平台的芯片对Linux 内核进程调度、内存管理、中断等的支持,以及每个具体的SoC 和电路板的板级支持代码。 block:块设备驱动程序I/O 调度。 crypto:常用加密和散列算法(如AES、SHA 等),还有一些压缩和CRC 校验算法。 documentation:内核各部分的通用解释和注释。 drivers :设备驱动程序,每个不同的驱动占用一个子目录,如char、block、net、mtd、i2c 等。 fs:所支持的各种文件系统,如EXT、FAT、NTFS、JFFS2 等。 include:头文件,与系统相关的头文件放置在include/linux 子目录下。 init:内核初始化代码。著名的start_kernel() 就位于init/main.c 文件中。 ipc:进程间通信的代码。 kernel :内核最核心的部分,包括进程调度、定时器等,而和平台相关的一部分代码放在arch/*/kernel 目录下。 lib:库文件代码。 mm:内存管理代码,和平台相关的一部分代码放在arch/*/mm 目录下。 net:网络相关代码,实现各种常见的网络协议。 scripts:用于配置内核的脚本文件。 security:主要是一个SELinux 的模块。 sound:ALSA、OSS 音频设备的驱动核心代码和常用设备驱动。 usr:实现用于打包和压缩的cpio 等。 include:内核API 级别头文件。
  • 热度 8
    2023-6-2 10:33
    923 次阅读|
    0 个评论
    干货 | 为什么RTOS系统要使用MPU?
    先说明一下,其实MPU有很多含义,我们常见的有两种: MPU: Memory Protection Unit,内存保护单元 ( 本文描述的内容 ) ; MPU: Microprocessor Unit,微处理器; 此外,可能还有人会与MPU-6050这类模块联系在一起。所以,大家不要把MPU搞混了。 为什么要使用MPU? 如果你开发的嵌入式项目,因内存溢出,或者内存故障等一些原因,造成了重大经济损失,或者造成了重大事故,你就能体会为什么要使用内存保护单元(MPU)了。 在嵌入式系统中使用内存保护单元(MPU ) 可以在开发早期及时发现因内存而导致的Bug,节省更多开发时间。 同时,在项目后期修改Bug,或者增加功能,可以减少修改文档和测试所需的时间。 也就是说,使用MPU会避免因为修改一个bug,而引起多个bug的情况(0生1,1生万物 )。 MPU如何实现内存保护? 简单来说,就是保护与当前执行的代码不相关的所有数据。 拿RTOS任务A和B来说: 任务A和B不应相互交互数据 ,但是存在一个错误,任务A可能会意外地写入任务B偶尔使用的某些数据,不会影响任务A的正确操作。但是,当任务B尝试使用损坏的数据时,任务B可能会意外故障。 如果没有配置MPU来阻止任务A写入任务B的数据,则该错误可能需要很长的时间供开发人员跟踪。如果错误很小,或者如果任务B很少使用该数据,则将很难解决该bug。但是,如果使用了MPU,则该bug就会及早被发现。 在某些体系结构上,MPU甚至可以帮助你检测NULL指针引用,因为你可以设置MPU区域以防止非特权代码访问内存0x0。 应用程序中一组设计良好的MPU区域可以很好的保护重要的内存区域,以防止出现特定的问题。 一个很好的例子是通过在MPU区域的末尾放置缓冲区来防止缓冲区溢出,你还可以将任务堆栈放置在任何非特权代码都无法访问的区域。如果这样做,则每个任务必须使用自己的MPU区域之一来设置自己对自己的堆栈的访问权限。 使用MPU的好处 无论是操作系统,还是裸机系统,如果没有防止恶意访问错误内存的能力,系统将有重大安全问题,以及安全漏洞的雷区。 使用的内存保护单元(MPU)有很多优势,MPU通常允许你以特权或非特权模式运行,并使用一组“区域”来确定当前正在执行的代码是否具有访问代码和数据的权限。 每个区域都是一个连续的内存块,具有该内存的一组权限,特权和非特权访问。与非特权代码的子集相比,特权代码往往可以访问大部分(但不是全部)内存。 在整个系统运行时中,这些区域不必相同。MPU区域可以根据每个任务进行修改,每个任务可以具有自己独特的区域集,这些区域在任务移至运行状态时进行配置。 这使你可以仅对需要代码和数据的任务设置访问权限,利用MPU的嵌入式操作系统将在每次上下文切换期间管理每个任务的区域和特权级别。 比如设置RTOS两个任务不同的内存保护区域: 上面这张图,大家都能看懂吧?Flash和内存区域被分别设置保护。 两个全局保护区域:Flash开头、RAM开头; 在Flash中,一部分仅限任务1访问,这部分不能被任务访问;同时,在Flash另外区域,仅限任务2访问,不能被任务1访问。如果这两部分区域被对方访问,则会生成生成MPU故障。 在RAM区域,同一部分区域,一个只能被读,一个只能被写入,如果不按约定操作,同样也会生产MPU故障。 什么时候不使用MPU? 通常有两种情况可以不使用处理器上的MPU功能: 一个简单的项目 一个对性能至关重要的项目 第1个很简单:一个非常简单的应用程序基本上没必要使用MPU,反而增加了系统的复杂性。不设置内存保护,RAM和外围设备的MPU区域,你自己一眼就能找到bug。 第2个对性能要求高的项目:在上下文切换时,设置内存保护,堆栈那些操作,有可能影响系统的实时性,从而导致系统异常。这个需要结合项目实际情况考虑用,还是不用MPU功能。 关注公众号“优特美尔商城”,获取更多电子元器件知识、电路讲解、型号资料、电子资讯,欢迎留言讨论。
相关资源