Cortex

聊聊身边的嵌入式,价格不菲的运动手表

妖精的绣舞 提交于 2021-02-20 15:15:44
当跑步爱好者遇上运动手表 不知从什么时候开始,跑步变得流行起来,我也是跑步大军中的一员,并且跑完后还会在朋友圈晒个图。这是我第一次跑5KM的记录, 中途因为体力不支数次想要放弃,硬是被一个小伙伴鼓励着、连拉带走跑完全程的。 当体验了跑步的乐趣之后,后面就一发不可收拾了,下面是我最远的一次跑步记录, 下面是最快的一次5KM跑,不过记录还停留在2年前,至今未被自己打破,😓 之前我一直用手机APP记录跑步,用过的APP有咕咚、悦跑圈和Keep,用多了以后因为各种原因都不是很满意。 并且单从UI方面,我觉得都不如下面这个朋友发的好看, 后来得知他用的是佳明运动手表跑的,配上手机端的APP使用的。不过在了解其价格需要数千元之后,我就没再关注了,那时心里想为了一个跑步让我花这么多钱,我才不干呢。 直到前不久一个朋友送了我一块他戴过的运动手表(颂拓的Spartan Sport Wrist HR,他自己换成了佳明fēnix 6X Battery Life),我就彻底改为戴运动手表跑步了。 体验了几次之后,觉得运动手表确实很香。相比我之前用手机记录运动,有以下几点好处: 1)用起来更方便,只要戴在手腕上即可,解放了双手,外出跑步时甚至不用带手机出门了。跑完后的数据会记录在手表里,也可以轻松的通过蓝牙同步到手机APP中。 2)可以记录心率值,不过手表自带的心率检测不是很准,它用的是光电检测原理

华为天才少年——稚晖君!

不打扰是莪最后的温柔 提交于 2021-02-10 18:26:18
摘要 :不管是做嵌入式的还是计算机的,稚晖君大家肯定都知道,如果你还不知道,那就去百度一下吧!稚晖君应该是每一个电子爱好者所向往但是又渴望而不可及的大佬。稚晖君2018年毕业于电子科技大学,之后进入OPPO算法岗工作,目前已经是华为AI架构师的稚晖君,本硕就读于电子科技大学。一位对作品追求极致的UP主。他热爱硬件开发,在期间一直更新着硬件DIY视频,受到众多网友追捧。今天就介绍一下"B站硬核UP主、“栈溢出”工程师稚晖君。 现在的稚晖君,已经加入了“ 华为天才少年计划 ”。 任正非在提出这项计划时说: “ 今年我们将从全世界招进20-30名天才少年,明年我们还想从世界范围招进200-300名。这些天才少年就像‘泥鳅’一样,钻活我们的组织,激活我们的队伍。 ” 华为天才计划对申请者具有很高的要求:国际顶刊论文发表数量及引用量丰富者;研究方向有出色及丰富的商业化成果;有知名赛事名次者优先。天才少年”的招聘流程非常严格,一般需要经历7轮左右流程,最终还要通过华为总裁的面试。通过该计划招入华为的“天才”们,年薪100万起步。能够加入“华为天才少年计划”,也是他自身实力的一种证明。 下面就来看看稚晖君的几个非常硬核的作品吧!以下就从B站播放量最高的几个作品开始说起。 B站最强小电视 全网最mini的Linux电脑 所涉及到的知识:电子基础,电子元器件选型,电路原理图设计,高速电路PCB设计

FreeRTOS 移植

不问归期 提交于 2021-02-10 08:01:23
首先准备好一个简单的裸机工程模板,工程模板的制作就不做讲解了,这里的重点是教大家移植FreeRTOS系统。: 准备好工程模板后,就可以开始移植了。首先要做的就是将所有需要的源码文件放到工程模板里面 。下面分六步和大家进行说明,当然,不限制必须使用下面的方法添加源码到工程,只要将需要的文件添加到工程模板即可。 第1步 :从网址 https://sourceforge.net/projects/freertos/files/FreeRTOS/V8.2.3/ 下载V8.2.3版本,这个是8.X系列里面最高版本了,9.0版本还处于测试阶段,我们暂不使用。 FreeRTOSV8.2.3.zip 和FreeRTOSV8.2.3.exe内容是一样的,只是后缀为exe的压缩率更高些。下载后解压出来。 第2步 :在工程模板创建FreeRTOS文件夹 第3步 :添加源码文件到相应文件夹 (1) 将FreeRTOSV8.2.3软件包中路径:    FreeRTOSV8.2.3\FreeRTOS\Source里面如下所有文件 复制到刚刚创建的FreeRTOS文件夹下。 (2) 文件夹User中还需要添加如下文件: 文件FreeRTOSConfig.h文件 在FreeRTOSV8.2.3软件包中的中的路径: FreeRTOSV8.2.3\FreeRTOS\Demo\CORTEX_M4F

ARM NVIC控制器(基于cortex-M4)

。_饼干妹妹 提交于 2021-02-06 16:55:18
中断控制寄存器映射 中断寄存器的基地址为0xE000E000,所有中断控制/状态寄存器都只能在特权级下访问(除软件触发中断寄存器外),寄存器映射列表见表3-2。也可以参考cortex-m4使用手册,并推荐使用CMSIS函数来访问相关功能。 表3-2 中断寄存器映射 偏移量 名称 位宽 类型 复位值 描述 0x100-0x11C ISER0-ISER7 32 R/W 0x00000000 中断使能寄存器,寄存器0为(IRQ0~IRQ31),以此类推 0x180-0x19C ICER0-ICER7 32 R/W 0x00000000 中断清除使能寄存器,寄存器0为(IRQ0~IRQ31),以此类推 0x200-0x21C ISPR0-ISPR7 32 R/W 0x00000000 中断挂起寄存器,寄存器0为(IRQ0~IRQ31),以此类推 0x280-0x29C ICPR0-ICPR7 32 R/W 0x00000000 中断挂起清除寄存器寄存器0为(IRQ0~IRQ31),以此类推 0x300-0x31C IABR0-IABR7 32 RO 0x00000000 中断活动状态寄存器寄存器0为(IRQ0~IRQ31),以此类推 0x400-0x4EF IPR0-IPR59 32 R/W 0x00000000 中断优先级寄存器0寄存器0为(IRQ0~IRQ3),以此类推 0xD08

D语言中的Cortex-M4系列中断向量表处理

本秂侑毒 提交于 2021-02-06 12:36:48
D语言中的Cortex-M4系列中断向量表处理 向量表: 在mculib4d中的定义方式 向量表: // form file:stm32f401xc.h struct IRQn_Type { /****** Cortex-M4 Processor Exceptions Numbers ****************************************************************/ Reset_IRQn = - 15 , NonMaskableInt_IRQn = - 14 , /*!< 2 Non Maskable Interrupt */ MemoryManagement_IRQn = - 12 , /*!< 4 Cortex-M4 Memory Management Interrupt */ BusFault_IRQn = - 11 , /*!< 5 Cortex-M4 Bus Fault Interrupt */ UsageFault_IRQn = - 10 , /*!< 6 Cortex-M4 Usage Fault Interrupt */ SVCall_IRQn = - 5 , /*!< 11 Cortex-M4 SV Call Interrupt */ DebugMonitor_IRQn = - 4 , /*!< 12 Cortex

理解 ARM64 内核中对 52 位虚拟地址的支持

北城余情 提交于 2021-02-01 11:05:28
随着 64 位硬件的引入,增加了处理更大地址空间的需求。 当 64 位硬件变得可用之后,处理更大地址空间(大于 232 字节)的需求变得显而易见。现如今一些公司已经提供 64TiB 或更大内存的服务器,x86_64 架构和 arm64 架构现在允许寻址的地址空间大于 248 字节(可以使用默认的 48 位地址支持)。 x86_64 架构通过让硬件和软件启用五级页表以支持这些用例。它允许寻址的地址空间等于 257 字节(详情见 x86:在 4.12 内核中启用 5 级页表 )。它突破了过去虚拟地址空间 128PiB 和物理地址空间 4PiB 的上限。 arm64 架构通过引入两个新的体系结构 —— ARMv8.2 LVA(更大的虚拟寻址) 和 ARMv8.2 LPA(更大的物理地址寻址) —— 拓展来实现相同的功能。这允许使用 4PiB 的虚拟地址空间和 4PiB 的物理地址空间(即分别为 252 位)。 随着新的 arm64 CPU 中支持了 ARMv8.2 体系结构拓展,同时现在开源软件也支持了这两种新的硬件拓展。 从 Linux 5.4 内核开始, arm64 架构中的 52 位(大)虚拟地址(VA)和物理地址(PA)得到支持。尽管 内核文档 描述了这些特性和新的内核运行时对旧的 CPU(硬件层面不支持 52 位虚拟地址拓展)和新的 CPU(硬件层面支持 52 位虚拟地址拓展

STM32F103 如何实现 FFT?

馋奶兔 提交于 2021-02-01 10:52:40
笔者能力有限,如果文中出现错误的地方,还希望各位朋友能够给我指出来,我将不胜感激,谢谢~ 引言 数字信号在我们生活中随处可见,自然而然地就会涉及到对于数字信号的处理,最为典型的一个应用就是示波器,在使用示波器的过程当中,我们会通过示波器测量到信号的频率以及幅值,同时我们也可以通过示波器对测量到的信号进行 FFT ,从而能够观察到待测信号的频谱,方便直观的看出信号的高频分量和低频分量,从而帮助我们去除信号中携带的噪声。而在嵌入式方面的应用,我们可以直接使用 DSP 芯片对信号进行处理,同时, ARM 公司推出的 Cortex-M4F 内核是带有 FPU ,DSP 和 SIMD 单元的,针对于这些单元也增加了专用的指令,指令如下图所示: 不同架构的指令集合 ARM 官方也对此专门做了一个 DSP 方面的库,方便用户调用。关于 Cortex M4 的信号处理本文暂不进行阐述,相反本文的对象是 Cortex M3 ,基于 STM32F103 的 FFT,而在上述图中,我们看到针对于 Cortex M3 来说,是不带 FPU 以及 DSP 的,那有如何来进行 FFT 呢? FFT 的提出 在数字信号处理中常常需要使用到离散傅里叶变换(DFT),从而能够获取到信号的频域特征。尽管传统的 DFT 算法能够获取到信号的频域特征,但是算法计算量大,耗时长,不利于进行计算机实时对信号进行处理

什么是STM32

喜你入骨 提交于 2021-01-28 12:45:36
STM32,从字面上来理解,ST是意法半导体,M是Microelectronics的缩写,32表示32位,合起来理解,STM32 就是指ST公司开发的32位微控制器。在如今的32位控制器当中,STM32可以说是最璀璨的新星,它受宠若娇,大受工程师和市场的青睐,无芯能出其右。 51是嵌入式学习中一款入门级的精典MCU,因其结构简单,易于教学,且可以通过串口编程而不需要额外的仿真器,所以在教学时被大量采用,至今很多大学在嵌入式教学中用的还是51。51诞生于70年代,属于传统的8位单片机,如今,久经岁月的洗礼,既有其辉煌又有其不足。现在的市场产品竞争越来越激烈,对成本极其敏感,相应地对MCU的性能要求也更苛刻:更多功能,更低功耗,易用界面和多任务。面对这些要求,51现有的资源就显得得抓襟见肘。所以无论是高校教学还是市场需求,都急需一款新的MCU来为这个领域注入新的活力。 基于这样的市场需求,ARM公司推出了其全新的基于ARMv7架构的32位Cortex-M3微控制器内核。紧随其后,ST (意法半导体)公司就推出了基于Cortex-M3内核的MCU- STM32。 STM32凭借其产品线的多样化、极高的性价比、简单易用的库开发方式,迅速在众多Cortex-M3 MCU中脱颖而出,成为最闪亮的一颗新星。STM32 一上市就迅速占领了中低端MCU市场,受到了市场和工程师的无比青睐

树莓派出微控制器了!Raspberry Pi Pico 只需 4 美元

倖福魔咒の 提交于 2021-01-28 02:31:02
整理 | 郑丽媛 来源 | CSDN(ID:CSDNnews) 昨天,树莓派搞了个大动作:推出了首款微控制器开发板 Raspberry Pi Pico!该开发板基于树莓派开发的全新芯片——RP2040,并且作为双核 Arm Cortex-M0+ 的它只需 4 美元(人民币约 26 元),这是什么神仙板子? 典型的树莓派存在缺陷 迄今为止,树莓派已售出约 3700 万台,它能经久不衰得益于其连接软硬件方面的卓越能力,开发爱好者们可以通过运行在树莓派上的软件去读取传感器、执行计算和驱动执行器等等。 但与此同时,Raspberry Pi Trading 的首席运营官 James Adams 也指出,原本的树莓派存在一些缺陷: 最低功率模式下,Raspberry Pi Zero 也要消耗 100 毫瓦的电量; 树莓派本身不支持模拟输入; 树莓派虽然可以运行“裸机”软件,但是在 Linux 等通用操作系统下运行的软件并不适合对单个 I/O 引脚进行低延迟控制。 因此,现实中许多业余爱好者与工业应用程序都将树莓派与微控制器相结合,由树莓派负责繁重的计算、网络访问和存储,微控制器来处理模拟输入和低延迟I/O,有时还提供极低功耗的待机模式。 树莓派官方也一直想制作出属于自己的微控制器级产品,最终顿悟:想做出自己真正想要的产品,首先得学会自制芯片! RP2040 芯片 RP2040