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

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

叱咤风云的ThreadX全家桶正式加入开源免费的大浪潮中

说明: 1、去年微软宣布收购ThreadX,但是没有公布后续策略,uCOS全家桶进入开源免费后,ThreadX也宣布正式加入。 2、微软未来四年将投资50亿美元到物联网上,收购Express Logic是该战略的一部分。 3、ThreadX的产品涵盖了各种领域,包括NASA的多个太空探测项目,飞机自动驾驶仪系统,火星侦察轨道器等。 4、ThreadX及其所有中间件的安全认证等级,至今没有一款小型RTOS可以与其匹敌。 (1)医疗 - FDA510(k),IEC-62304 Class C,IEC-60601,ISO-14971 (2)工业 - UL-1998,IEC-61508 SIL 4 (3)运输/铁路 - EN50128 SIL 4,BS50128,  49CFR236,IEC-61508 (4)航空航天设备 - DO-178B,ED-12B,DO-278 (5)汽车    - IEC-61508 ASIL D (6)核应用 - IEC-61508 (7)家电    - UL/IEC 60730/60335 各种安全等级基本都达到了最高。 像工业级安全认证IEC61508,ThreadX满足最高等级SIL4,而SafeRTOS,embOS,uCOS-II都只是SIL3。 5、github地址:https://github.com/azure-rtos 6、官网地址:https://azure.microsoft.com/zh-cn/services/rtos/#overview 随着uCOS和ThreadX全家桶都开源,其它RTOS影响是巨大的,还没有开源的,可能也要加入开源大浪了。

02

skyeye安装+arm-elf-gdb安装+模拟s3c44b0x+执行ucos4skyeye

skyeye安装:ubuntu12.0432 llvm2.8 skyeye1.3.3 http://blog.chinaunix.net/uid-26963688-id-3267351.html 当中有几处是错误的,改动后的不带图的步骤例如以下: Ubuntu 12.04 LTS 32bit 1G DRAM 2 cores + skyeye-1.3.3_rel.tar.gz 开发编译环境准备: 首先安装skyeye的依赖包 sudo apt-get install libgtk2.0-dev pkg-config libatk1.0-dev libpango1.0-dev libfreetype6-dev libglib2.0-dev libx11-dev binutils-dev libncurses5-dev libxpm-dev autoconf automake libtool python-dev llvm 安装步骤: 1. 解压源文件:tar xvf skyeye-1.3.3_rel.tar.gz 安装的这个版本号的skyeye并不能正确执行,主要是执行ucos4skyeye的时候会出现skyeye.conf的配置信息不对的现象。换成了 2. 配置skyeye:./configure (在解压后的目录中) 3. 编译第三方文库:make lib -j2(用两个核) 4. 编译skyeye:make -j2 5. 安装skyeye库文件:make install_lib 6. 安装skyeye:make install 7. 执行skyeye:在opt/skyeye/bin文件夹下:./skyeye_main.py 8. 測试hello world应用程序: 首先切换到/opt/skyeye/testsuite/arm_hello文件夹下 然后执行:/opt/skyeye/bin/skyeye_main.py -e arm_hello,进入skyeye命令行模式 然后执行start命令,执行arm_hello应用程序 终端将打印架构信息。同一时候探出串口窗体 终端中执行run命令。串口会不停的打印出helloworld

02

uCOSII操作系统移植笔记

笔记一: 今天粗略的看了一下周立功关于uc/osII在lpc2104上的移植方面的说明,这之中印象最深的应该是irq中断和软中断方面的处理,由于arm芯片的特殊性(拥有7种处理器模式),即每种处理器模式都有自己的堆栈,这样在处理堆栈的时候就会相应的麻烦一些。 在 响应异常时,该移植计划在初始代码里面比在没有操作系统的初始代码多了irq的处理,移植里面的irq处理多了由汇编语言编写的对任务环境的保存,没操作 系统的中的任务环境的保存都是由在产生irq中断是用c语言声明的__irq关键字来完成了,移植中irq中断不能采用__irq关键字,因为c语言不能 保证堆栈结构,而uc/osII必须要保证堆栈结构。除此之外,相对于没操作系统的初始代码,基本上是没有什么改变。 在uc/osII的任务切换 中,采用了arm里面的软中断指令swi来执行,对于非中断性的任务切换(如挂起和等待信号量的时候)uc/osII是采用了宏os_task_sw() 来执行的,然后联系到osctxsw()函数来完成任务切换,而遇到中断情况时在返回是需要任务切换是则采用了osintctxsw()来执行的,在周立 功的移植当中,他把osctxsw()与osintctxsw()合二为一了,统一采用osintctxsw()来实现。之所以这样搞的原因是任务进行切 换的时候,都必须进入软中断的状态,而对于软中断的异常响应代码已经将任务的环境变量进行了保存,从而也不需要像osctxsw()里面规定的那样对将环 境变量进行保存。 这是我看今天看了移植说明后所理解的东西,当然还得细致的对代码进行分析,特别是osintctxsw()代码的分析,虽然移植的代码大体是遵从了uc/osII的编码规范,但对于arm的多种处理器模式移植代码有特别的改变,以实现cpu时间和ram的利用。

04

计算机操作系统之操作系统的介绍

其实在写这篇文章之前,我是打算继续写Linux网络编程的问题的,但是还是先这个操作系统的文章,我觉得这个操作系统的基础(一些基本概念非常重要)要学好,为啥这样讲呢?在我这几天没有听计算机操作系统的课程之前,我一直对微内核这个概念懵懵懂懂(这里说明一下,我自身是非科班出身的,大学里面就没有接触过这个计算机操作系统的课程,也就学了考计算机二级的基础知识,读者不要笑话我,对于我来说,这确实是真的);我记得上次去参加物联网大会,有介绍增,但我还是没听明白这个微内核是啥,直到这几天,听了这个计算机操作系统的课,我才明白了(下面文章里面我会写出宏内核与微内核的区别);好了,暂时不说那么多,先简单来了解一下操作系统。

02

STM32终于可以免费使用ThreadX全家桶了

从ThreadX开源那会起,就一直想深入研究这个系统,因为实在是太强了,所以还是非常想通过教程的形式推荐给大家。 但这个里面有个很大的问题,开源不等于免费,但我依然决定还是做教程,即使是他们后期没有免费让厂家使用,我清晰的记得当时的想法很简单,不能老是守在自己的一亩三分地,得走出舒适区,没有什么能比学习超高质量代码能更加提高自己了。这一坚持就是6个月,几乎每次周报都会给大家介绍本周的进展,其中GUIX的研究到了近期才有所突破,成功打通字库,图库和主题存储到QSPI Flash和标准SPI Flash的各种花式玩法,真是太不容易了。。。其实早期emWin的研究也这样的,而且还没有源码,各种玩法真是一点一点抠出来的,不断的测试观察现象来推理工作机制。现在大家很多看起来简单的操作,当时花了很多时间去研究。 按照预定计划,这个月底出FileX首版教程,下个月出NetX教程。 最后想说的是,对于我自己来说,非常喜欢倒腾各种RTOS,从uCOS-II,uCOS-III,RTX4,FreeRTOS,embOS到RTX5,而且板子配套的例子中也是各种RTOS的花式玩法案例。但是这次ThreadX来了,小型RTOS的巅峰之作,再次激起了深入涉猎的欲望。不把它研究透彻了,誓不罢休。学习下这种新的设计理念,真的是太有必要。

01

【分享】【原创开源应用第4期】给ili9488,RA8875类显示屏的emWin底层增加DMA加速方案

说明: 1、emWin底层中最重要的一个优化就是16bpp绘制,特此为其增加DMA加速,已经支持RA8875和ili9488。 2、使用中务必将emWin任务设置为除了空闲任务,统计任务以外的最低优先级,这样就可以有效的发挥DMA的优势,CPU可以解放出来处理其他任务。 操作说明: 1. 所有界面支持按键操作 (1)K2按键用于控件焦点的切换,切换时,所选择的控件会出现浅色边框 (2)K3按键用于进入下一个界面 (3)摇杆的OK键用于选择相应控件后,触发控件所对应的的操作。 2. 如果使用电阻触摸操作的话,请运行V5开发板emWin教程第三章中的触摸校准程序,此程序会将触摸参数保    存到EEPROM中,然后再运行此工程即可。电容屏无需校准。 3. 采用触摸方式操作界面时,如果进入到没有按钮控件的界面时,可以点击屏幕中间部分进入下一页。 4. 界面大小自适应主流分辨率,比如480*272,800*480,480*320。 注意事项: RTX版的例子使用MDK4.74,其它uCOS-III和FreeRTOS不限制,只要支持F407即可。 例程下载:

02

微软物联网安全研究小组公布市面上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
领券