首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Microsoft® .NET Micro Framework简介

    MF全称Microsoft® .NET Micro Framework,是微软推出的一个微型.Net框架,微型到什么程度呢?它自身就可以是一个操作系统OS,它编译出来的程序,就可以直接跑在硬件上,当然,也可以在别的嵌入式系统(如UCOS)上用它,MCU才不管什么操作系统呢,找到第一条指令就开始执行,到哪算哪。有了它,我们就可以直接用VisualStudio C#写嵌入式程序。不过也有几点不足:性能上据说中等,跑图形界面时需要较大内存(MCU内SRAM比较小,一般64K~512K,可以外扩4M),只能用.Net的很少的一部分类库     MF的核心原理就是通过特殊的C#编译器把你写的代码编译成为ARM指令集。它的类库里面可能看不到方法实现,因为那不重要了,反正都是为了编译成为ARM调用指令。     MF 也算是一个中间件,跨在C#和硬件之间,所以微软MF团队必须为不同的MCU写不同的MF类库实现,可以看做是Windows上的驱动程序。尽管都是 ARM架构,但是ARM也有各种子架构,然后不同公司实现的MCU产品,内部包含的东西也不尽相同,所以得分门别类的实现。这个过程叫做 Porting(我们一般说把MF给Port到STM32上去)。     从v4.0开始,微软就把MF开源了(http://netmf.codeplex.com/)。不过默认并不支持STM32,那么就得自己Port了。那可是一项非常庞大的工程。现在最新版本是MF v4.2,里面带有一个STM32的Porting模板,有兴趣的同学可以逐步尝试。     因为.Net Micro Framework功能强大,并且能从C#.Net的PC开发快速进入,它几乎适用于所有嵌入式场合。支持.Net Micro Framework的产品成本,可以低到30元,甚至更低。     经 过实际测试发现,.Net Micro Framework固件最小可以达到250k左右,那么在512k的单片机MCU上完全没有问题。比如STM32F103ZET6和VET6就有512k Flash和64k RAM,除了可以烧入.Net Micro Framework固件,还可以写入较复杂的.Net Micro Framework应用程序,而这两种芯片零售价仅20元左右。

    00

    微软物联网安全研究小组公布市面上25款物联网系统内存分配漏洞,各种大家熟悉的OS全部上榜

    https://us-cert.cisa.gov/ics/advisories/icsa-21-119-04 https://msrc-blog.microsoft.com/ https://os.mbed.com/blog/entry/M ... cess-vulnerability/ 今早看到Mbed OS的博文,报道了这个事情,从这次公布的报告来看,受到影响的系统基本都是大家熟知的OS。 1、Azure Defender for IoT安全研究小组,最近发现了IoT和OT设备中的一系列关键内存分配漏洞,攻击者可以利用这些漏洞绕过安全控制,以执行恶意代码或导致系统崩溃。这些远程代码执行(RCE)漏洞涵盖了超过25个CVE,并可能影响从消费者和医疗IoT到工业IoT,运营技术(OT)和工业控制系统的广泛领域。这些漏洞存在于标准内存分配功能中,这些功能涵盖了广泛使用的实时操作系统(RTOS),嵌入式软件开发工具包(SDK)和C标准库(libc)实现。这些发现已通过微软安全响应中心(MSRC)和国土安全部(DHS)领导的负责人披露与供应商共享,从而使这些供应商能够调查和修补漏洞。 2、考虑到IoT和OT设备的普遍性,如果成功利用这些漏洞,则对各种组织构成巨大的潜在风险。迄今为止,微软尚未发现任何迹象表明存在利用这些漏洞的迹象。但是,强烈建议尽快修补其系统。同时,考虑到修补IoT / OT设备可能很复杂。对于无法立即打补丁的设备,建议减轻控制措施,例如:通过最小化或消除易受攻击的设备在网络上的暴露程度来减少攻击面;实施网络安全监控,以发现危害的行为指标。 3、注意,微软的Azure RTOS ThreadX在其默认配置中不易受到攻击。

    02

    arm的一些概念(ARM9、Cortex的区别)

    ARM7:ARMv4架构,ARM9:ARMv5架构,ARM11:ARMv6架构,ARM-Cortex 系列:ARMv7架构。 ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间。ucOS、ucLinux这些精简实时的RTOS不需要MMU,当然可以在ARM7上运行。 ARM9、ARM11,是嵌入式CPU(处理器),带有MMU,可以运行诸如Linux等多用户多进程的操作系统,应用场合也不同于ARM7。 到了ARMv7架构的时候开始以Cortex来命名,并分成Cortex-A、Cortex-R、Cortex-M三个系列。三大系列分工明确:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。简单的说Cortex-A系列是用于移动领域的CPU,Cortex-R和Cortex-M系列是用于实时控制领域的MCU。 所以看上去ARM7跟Cortex-M很像,因为他们都是MCU,但确是不同代不同架构的MCU(Cortex-M比ARM7高了三代!),所以性能也有很大的差距。此外,Cortex-M系列还细分为M0、M3、M4和超低功耗的M0+,用户依据成本、性能、功耗等因素来选择芯片。 想必楼主现在肯定知道了ARM7、Cortex-M的区别,不过还是花了点时间整理在此,可以帮助后来的初学者搞明白这些基本的概念性问题。

    01

    数据手套的设计与实现

    摘要 : 数据手套在人机交互中提供了一种有效的人机交互手段,从数据手套的理论出发,本论文利用一些硬件设备以及软件开发环境,设计了一款可以与机械臂、虚拟手等终端交互的数据手套。硬件设备包括弯曲度传感器、MPU6050六轴传感器、HC-05蓝牙串口通信模块、TFT显示屏、STM32F103最小系统开发板,数据手套软件开发平台为Keil uVision5,所用的开发语言为C语言,在系统调试的时候用到了匿名四轴上位机和串口调试助手,用来对MPU6050六轴传感器和弯曲度传感器进行调试,此外在整个系统中移植了UCOS-II嵌入式实时操作系统,保证了数据在传输时的实时性和高效性。实现了数据手套对五轴机械臂的控制以及人手到虚拟手的动作映射。

    04
    领券