Cortex

STM32固件升级详解(BootLoader)

∥☆過路亽.° 提交于 2020-08-09 01:58:35
基础知识 这里以 KEIL 开发环境和 STM32F103RET6 为例。 上电时单片机首先进入复位中断 Reset_Handler,即汇编文件的复位中断处理函数。 并且有一个中断向量表默认存在于 flash 地址开始处。 为什么说是默认呢?这是因为如果没有特殊要求的话很少会去改中断向量表。实际上这个中断向量表是可以更改的。但是在更改向量表之前必须在地址开始处建立一个向量表,因为在复位后,程序默认(硬件决定的)从flash开始的第一个字读取栈指针,第二字就是复位中断的入口,并根据该指针最终进入复位处理函数中执行相应的函数。如果没有这个中断向量表程序是无法启动的。 那么既然前面说可以重新设定中断向量表的位置,那必然有一个寄存器记录着这张表的位置,这就是 VTOR 寄存器。从《Cortex-M3权威指南》可以看该寄存器的介绍: 并且向量表的偏移量有如下要求: 64*4 是因为一个表项为4字节。 更具体的关于更改向量表的信息查看《Cortex-M3权威指南》。 在复位处理函数中有进入 SystemInit 函数执行,在函数里有一个设置中断向量表的位置的语句。 VECT_TAB_OFFSET 默认情况下就是 0。 因为这是官方库函数,并且上电之后必定进入复位中断函数处理,因此必定会执行重新定位向量表的操作。因此只要修改宏定义就可以重新定位向量表。 先准备两个程序,一个为

创龙TMS320DM8168浮点DSP C674x + ARM Cortex-A8高清模拟视频接口

烂漫一生 提交于 2020-08-08 14:19:36
CPU TI TMS320DM8168是一款高性能嵌入式32位工业级ARM Cortex-A8 + DSP C674x处理器。拥有多种工业接口资源,以下是DM8168 CPU资源框图: 高清模拟视频 接口 本开发板引出一组高清模拟视频接口,分别是输出RGB/YPbPr模拟分量信号。接口定义如下图: 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/4321634

学习嵌入式4412开发板,用户手册更新到2300页+

旧时模样 提交于 2020-08-08 12:28:10
核心板参数 尺寸 50mm*60mm 高度 连同连接器在内0.26cm CPU Exynos4412,四核Cortex-A9,主频为1.4GHz-1.6GHz 内存 1GB 双通道 DDR3 (2 GB 可选) 存储 4GB EMMC( 16GB 可选) 电源管理 低功耗动态三星S5M8767电源管理,最优架构! 工作电压 2.65V--5.5V (推荐4.0V) 系统支持 Linux-QT5.7/Android 4.0.3 /Android 4.4/Ubuntu12.04操作系统 USB HOST 板载USB3503,引出高性能HSIC,实现2路USB HOST输出 引角扩展 引出脚多达320个,满足用户各类扩展需求 运行温度 -25度至+80度区间,设备工作正常,运行良好! 底板参数 尺寸 110mm*190mm DIP SWITCH 1个 SWITCH 电源接口 GPIO 20PIN(电源和地) RESET 1个复位按键 CAMERA接口 1个(可支持500万摄像头) POWER 电直流电源输入接口,5V/2A电源输入 WIFI 接口 1个 TF Card 1个标准 TF 卡接口 HDMI接口 标准HDMI v1.4,1080p高清分辨率输出 USB Host 2路USB Host,支持USB2.0协议 LCD接口 共3个,2个LVDS接口,1个RGB接口 USB OTG

创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA的底板B2B连接器

喜欢而已 提交于 2020-08-08 06:57:33
处理器 TI AM437x ARM Cortex-A9和Xilinx Spartan-6 FPGA处理器,拥有多种工业接口资源,资源框图如下图所示: 底板 B2B连接器 开发板使用底板+核心板设计模式,通过5个80pin、0.5mm间距、合高5.0mm的B2B连接器对接,其中底板CON0A、CON0C和CON0E为母座,CON0B和CON0D为公座,以下为底板各个B2B的引脚定义: 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/4305375

迅为iTOP4418开发板运行Android7.1/Qt5.7/Ubuntu12.04系统源码开源

有些话、适合烂在心里 提交于 2020-08-07 13:05:12
支持官方推荐的AXP228电池管理,动态调频,更稳定可靠 支持充放电 电路 与电量计(库仑计),拓展更多应用 支持全网通4G模块、 GPS 模块、千兆以太网、AD、CAMERA接口、MIPI接口、CAN/RS485接口等 支持 Android 4.4/5.1.1/7.1系统、 Linux 3.4.39、QT2.2/4.7/5.7、 Ubuntu 12.04系统 核心板参数 核心板类型 板对板 连接器 邮票孔 特点 拆装方便,扩展性好 适合高震动场合 尺寸 50mm*60mm PCB 层数 6层PCB沉金设计 8层PCB沉金设计 连接器高度 核心板连接器组合高度1.5mm 0 4418 CPU ARM Cortex -A9 四核 S5P4418处理器 1.4GHz 6818 CPU ARM Cortex-A53 八核 S5P6818处理器 1.4GHz 内存 1GB DDR3(2GB可选) 1GB DDR3 存储 16GB EMMC 16GB EMMC 电源管理 AXP228(官方推荐最佳匹配),支持动态调频,超低功耗 工作 电压 直流5V供电 系统支持 Android4.4/5.1.1/7.1系统、Linux3.4.39、QT2.2/4.7/5.7、Ubuntu12.04 运行温度 0℃-70℃ 0℃-70℃ 引角扩展 四组连接器共320个PIN脚 208个PIN脚 扩展参数

FreeRTOS学习(一)

生来就可爱ヽ(ⅴ<●) 提交于 2020-08-07 04:08:26
1 FreeRTOS任务基础 1.1 多任务系统 在51单片机、AVR、STM32裸机编程时,我们通常都是用一个main函数里面加一个while(1)做一个大循环来完成所有的事务处理,同时在加上中断处理一些较为紧急的事务。相对于多任务系统而言,这个就是单任务系统,也称作前后台系统,中断服务函数 作为前台程序,大循环while(1)作为后台程序,如图 1.1.1 所示: 图1.1.1 前后台系统 前后台系统的实时性较大(尤其是调度任务较多),每个任务都是轮流执行,没有轮到该任务运行的时候,不管该任务有多么的紧急,就只能等着,大家拥有一样的优先级。但是该类系统简单,所消耗的资源较少。 多任务系统可以将一个大问题分成很多个具有共性的小问题,逐一的将这些小问题解决,进而大问题将得到全面的解决,我们可将每一个小问题都视为一个任务。这些小任务是并发处理的,由于他们的执行时间很短,我们所能感觉到的是所有的任务都是同时进行的。那么多任务运行的问题就来了,这就涉及到任务执行的先后顺序及什么任务该执行不该执行了。该模块的功能将由任务调度器来完成,具体如何实现,各类系统是有很大差别的,通常来说我们可分为抢占式(UCos、FreeRTOS)和非抢占式(Linux)。FreeRTOS是一个支持抢占式的实时操作系统,其任务运行如图1.1.2所示: 图1.1.2 抢占式多任务系统 1.2 FreeRTOS任务

巨微通用BLE射频前端芯片解决方案—MG126

寵の児 提交于 2020-08-06 09:52:16
巨微MG126 内部集成了发射机、接收机、GFSK 调制解调器和BLE 基带处理的一款低功耗、低成本的BLE 收发器。搭配Cortex-M0 MCU 和少数外围被动器件,可以实现BLE 遥控、蓝牙键盘等数据传输应用。可以与市面上绝大多数MCU芯片配合,完成BLE数据传输功能。是广泛的MCU公司的无线好帮手。 功耗指标 下表是在3.3V 供电情况下, MG126 典型的功耗情况. MCU需求 实现BLE 遥控、蓝牙键盘等数据传输应用,需要搭配Cortex-M0 或者M3 的MCU,具体资源需求如下: 系统时钟:48MHz 及以上 通信接口:SPI,主设备,clk 6Mbps 及以上 ROM size:16 KBytes (如果需要实现OTA 则size 加倍) RAM size:4 KBytes 通用BLE射频前端的应用形态 面对碎片化市场:RF芯片+MCU解决方案 精简到极致的芯片结构划分 巨微RF+MCU方案的特点—最好的灵活性 来源: oschina 链接: https://my.oschina.net/u/4406491/blog/4305309

创龙基于TI AM437x ARM Cortex-A9 CPU性价比高开发板RGMII千兆以太网口

做~自己de王妃 提交于 2020-08-06 09:51:30
处理器 TI AM437x是一款高性能嵌入式32位工业级Cortex-A9处理器。拥有多种工业接口资源,以下是AM437x CPU资源框图: RGMII千兆 以太网口 开发板配备了两个RGMII千兆以太网口CON19和CON20,采用了KSZ9031RNXI网络芯片,可自适应10/100/1000M网络,RJ45连接头内部已经包含了耦合线圈,因此不必另接网络变压器,使用普通的直连网线即可连接本开发板至路由器或者交换机,若是PC和开发板直接相连需要使用交叉网线。网络接口的接口定义如下图: 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/4304292

第19期 FM脑科学新闻| 抑郁和认知障碍治疗新思路;大鼠也有同理心;视蛋白跨界啦

我们两清 提交于 2020-08-06 08:50:11
导读:行万里、刘厚、lhx、皮皮佳、circle 责编:Zhu Xiao 配音:小胡 背景音乐:iMovie主题声音 排版:麋鹿 FM脑科学新闻 | 抑郁和认知障碍治疗新思路;大鼠也有同理心;视蛋白跨界啦 ​ mp.weixin.qq.com Neuron|认知障碍者的救赎—米诺环素 生命因何而存在?不仅仅是我们的肉体,更重要的是我们与外在世界的互动,而这与β、γ波振荡密不可分。β、γ波,是脑电波中的2个种类,β波是我们维持清醒状态的基础,使我们对周围事物保持敏感性;γ波则与丘脑-皮层系统有关,具有易化突触可塑性以及调节神经网络的作用。有这么一群不幸的人,在出生时前额叶皮层浅层中的锥体神经元发生异常,导致β-γ波振荡出现混乱,引起认知障碍。他们无法学习,无法与人正常交流,给家人带来了无尽的痛苦和烦恼。 米诺环素(Minocycline)是一种广谱抗菌的四环素类抗生素,能与tRNA结合达到抑菌的效果。已证明米诺环素可以减轻因压力引发的炎症,减少精神分裂症患者小胶质细胞的病变,而小胶质细胞是大脑早期发育过程中的关键参与者,对神经元功能和心理发展具有深远影响。Mattia Chini团队的研究发现,在产后的第一个星期给予接受环境打击及相关基因(DISC1)敲除的双重打击小鼠米诺环素,可以弥补神经元的缺陷并恢复一定的认知能力,为早期认知障碍的治疗提供了新的方向。(导读 行万里) 文章链接:

STM32地址映射、位带操作

匆匆过客 提交于 2020-08-06 08:06:37
目录 1:前言 2:地址(门牌号) 3:STM32地址映射 4:位带操作原理 5:位操作代码实现 1:前言 以前学51的时候,没有注重地址的这个概念,因为51寄存器少,一个reg52.h里面涵盖了你要用到的所有寄存器地址,你只需要去写几个字母调用一下就可以了。我甚至一度以为TMOD就是TMOD,单片机生产出来,程序就是这样写,就好像用手机指纹解锁,你只是把手指放上去,手机就解锁了。你以为理所应当,但是手机却做了很多工作。 直到学习32后,由于庞大的寄存器数量,让我不得不去注意到为什么我写几个字母,就可以操作到我想要操作的寄存器上去。SO,地址概念也就被我重视起来。下面只是简单的一些我理解的32地址知识。如有不足,咋~~评论区过两招!!! 2:地址(门牌号) “地址”:第一印象,就是一张地图。一个你家的门牌号。就是一条可以让你找的你想找到位置的指引。这是在广义上我的理解 在计算机狭义上: 内存中每个用于 数据 存取的基本单位,都被赋予一个唯一的 序号 ,称为地址,也叫做内存地址。 bala~~bala~~bala~~bala~~ 地址就是”唯一“的,不管是在现实生活中,还是在单片机,嵌入式里面。都是为了方便你去快速准确找到你想要的。 3:STM32地址映射 不多说,让我们康康,32里面的地址是怎么操作的 以GPIOA为例 RCC_AHB1PeriphClockCmd(RCC