keil5上电拷不进程序

keil5上电拷不进程序,第1张

基于Keil MDK5选不到芯片,下不进程序,打不开工程解决办法

技术标签: Keil  芯片  keil mdk  嵌入式

前言 最近本人在学习蓝桥杯嵌入式知识时总结了很多新手容易出现的问题,现把我遇到的问题总结几点。 Keil 4 工程和Keil 5的区别 Keil 4工程 Keil 5工程 在这里可以看后缀和后面的类型,我之前用keil4打不开keil5工程,这好像是限制问题,我也目前解决不了。 然后我就放弃了keil4,觉得keil 5的自动补齐公能好用些。 这里主要说Keil5需要注意哪些问题 Keil 5打开

查看原文

Keil4与keil5共存问题

Keil4与keil5共存问题 因为一些原因,电脑要同时安装keil4和keil5,但因为优先级原因,51的工程也是用keil5打开,造成了很多麻烦,所以就找了个时间完成了keil4与keil5的共存问题,以下是步骤,希望可以帮助到你。 首先,keil4和keil5的安装和破解,这里相信大家都会 *** 作,笔者就不在赘述,要注意的就是,在破解时候要以管理员身份运行程序,否则破解无法成功。并且确保

让Keil5也可以开发C51(和Keil4兼容问题)

背景 Keil5针对ARM,我是用来开发STM32;但是又需要Keil4 来开发C51。 同时安装Keil4和Keil5的话,Keil5是能打开STM32的工程,但是用Keil5不能开发Keil4的工程,而且用Keil4打开工程会很卡。 解决 安装并注册好Keil4和Keil5 在Keil4安装目录下,把C51文件夹整个复制到Keil5安装目录下。 在Keil4安装目录下,把UV4文件夹下的

1、stm32F103 开发环境搭建

:// 需要自己安装。官网下载: >

补充:STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核(ST's product portfolio contains a comprehensive range of microcontrollers, from robust, low-cost 8-bit MCUs up to 32-bit ARM-based Cortex®-M0 and M0+, Cortex®-M3, Cortex®-M4 Flash microcontrollers with a great choice of peripherals ST has also extended this range to include an ultra-low-power MCU platform)[1] 。按内核架构分为不同产品

中国移动MCU与STM32F103系列兼容性对比

Vivi

分享国产MCU,数字隔离器芯片知识,可免费提供样品和技术支持

ST是MCU领域当之无愧的大佬,而ST最经典的MCU无疑就是STM32F103了。由于收到市场热捧,疫情影响,加上这两年被大量囤货,目前STM32F103CB/RB系列的价格被炒到了天价,真可谓是一芯难求。

针对这个契机,国内许多MCU厂家趁机推出了与ST兼容的MCU。比如GD、灵动微、极海、中国移动等等。今天,我们以STM32F103CBT6为例,看看中国移动自主研发的MCU与CM32M101A与STM32F103系列的兼容性情况。

一、资源对比

首先我们来看看中移子公司芯升科技的资源情况:

32 bit ARM Cortex-M4F内核

工作主频108MHz

Flash为128KB

SRAM为 32KB

1个12bit 5Msps ADC,合计16路通道

工作电压、温度分别为:18V~36V、-40°C ~ 105°C

通信串口 :2IIC,2SPI,3USART,1CAN等

支持浮点运算和DSP指令内置1个12bit 5Msps ADC,2路独立轨到轨运算放大器,2个高速比较器

支持多达24通道电容式触摸按键

内置一个无磁模块

内置多达320段的Segment LCD驱动

芯升科技MCU选型表

STM32F103CBT6资源情况:

Cortex-M3内核

工作主频72 MHz

Flash为 64K

SRAM为20K

2个12bit ADC合计16路通道

工作电压、温度分别为:2V~36V、-40°C ~ 85°C

通信串口 :2IIC,2SPI,3USART,1CAN

ST选型表

二、硬件对比:

从两者引脚分布来看,两者只有一个脚位不同。

芯升科技MCU的1号位为VLCD,ST的1号位为VDD。如果需要VBAT功能的话,那么使用芯升科技的MCU需要通过增设外部电路来解决。

三、总结:

综合来看,芯升科技CM32M101A在资源上比STM32F103CBT6要丰富的多,而硬件上基本也能完全兼容。

在目前缺芯的背景下,采用芯升科技CM32M101A去替代STM32F103CBT6也是一个不错的选择。

一、应用领域不同

1、Ecu:

Ecu主要应用于汽车领域,Ecu又称“行车电脑”、“车载电脑”。

2、Mcu:

Mcu应用相对ECU更广泛,诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影。

二、功能结构不同:

1、Ecu:

和普通的电脑一样,由微控制器(MCU)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。

2、Mcu:

Mcu是把中央处理器的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机。

三、Ecu与Mcu的联系:

ECU一般由MCU,扩展内存,扩展IO口,CAN/LIN总线收发控制器等设备组成。

技术原理

在ECU中CPU是核心部分,它具有运算与控制的功能,发动机在运行时,它采集各传感器的信号,进行运算,并将运算的结果转变为控制信号,控制被控对象的工作。它还实行对存储器(ROM/FLASH/EEPROM、RAM)、输入/输出接口(I/O)和其它外部电路的控制。

存储器ROM中存放的程序是经过精确计算和大量实验取得的数据为基础编写出来的,这个固有程序在发动机工作时,不断地与采集来的各传感器的信号进行比较和计算。把比较和计算的结果用来对发动机的点火、空燃比、怠速、废气再循环等多项参数的控制。

百度百科-ECU

百度百科-MCU

①可以直接在官网上面搜STM32CubeMX,下面是网址:>

意法半导体发布全新微控制器STM32H7。该新产品是业界性能最高的Arm ® Cortex ® -M通用MCU,集强劲的双核处理器和节能型功能以及强化的网络安保功能于一身。

新产品采用Arm Cortex-M系列中性能最高的480MHz Cortex-M7内核,并增加一颗240MHzCortex-M4内核。借助意法半导体的智能架构、高效的L1缓存和ART Accelerator™自适应实时加速技术,当执行嵌入式闪存中的代码时,新MCU创下了1327 DMIPS和3224 CoreMark™性能新记录。意法半导体的Chrom-ART™加速™进一步提升了图形处理性能。为了最大限度地提高能效,每个内核都有独立的电源域,在不需要时可以单独关闭。

通过灵活使用两个内核,开发人员可以轻松升级现有应用,增加更先进复杂的图形用户界面,以电机控制为例,将以前在单核Cortex-M4 MCU上的旧代码迁移到STM32H7 Cortex-M4上,同时在Cortex-M7上运行新GUI。另一个例子是通过降低主处理器的密集型工作负荷,例如,神经网络、校验和、DSP过滤或音频编解码,提高应用性能。

双核架构还有助于简化代码开发,并缩短项目开发周期,将用户界面代码与实时控制或通信功能的开发分开进行。

STM32H7 MCU配备预安装密钥和原生安全服务,包括安全固件安装(SFI)。SFI允许客户在世界任何地方订购标准产品,并将加密固件交付给外部编程公司,避免未加密的代码泄密。此外,内置安全启动和安全固件更新(SB-SFU)支持功能,保护空中下载(OTA)升级和补丁的安全。

与无闪存处理器相比,STM32H7 MCU不仅性能出色,还在片上额外提供高达2MB闪存和1MB SRAM,更好地解决了存储空间限制问题,并简化了具有实时性能或AI处理要求的工业、消费和医疗智能产品设计。此外,Cortex-M7的1级高速缓存以及并行和串行存储器接口可以无限制地快速访问外部存储器。

其它高级功能包括支持所有闪存和RAM存储器的错误代码校正(ECC)技术,提高系统可靠性和安全性;多个先进的16位模数转换器(ADC);外部工作环境温度高达125°C,适用于恶劣的工作环境;具有通信网关功能的以太网控制器和多个FD-CAN控制器;以及ST最新的波形精确的高分辨率定时器。

意法半导体已经在STM32Cube生态系统内增加了STM32CubeH7固件模块和应用程序源代码,包括基于TouchGFX和STemWin图形堆栈库的图形解决方案。新增硬件工具包括评估板、发现套件和Nucleo开发板。开发人员可以使用STM32Cube开发环境的所有标准组件,包括ST-MC-SUITE电机控制工具包、STM32CubeAI机器学习工具包、STM32CubeMX、STM32CubeProgrammer,以及取得相关认证的合作伙伴的STM32解决方案。

STM32H7双核微控制器即将投产,样片现已上市,有多种封装可选,包括WLCSP。STM32H7单核微控制器(包括超值系列)同时上市。

一、位带 *** 作

在学习51单片机的时候就使用过位 *** 作,通过关键字sbit对单片机IO口进行位定义。但是stm32没有这样的关键字,而是通过访问位带别名区来实现,即将每个比特位膨胀成一个32位字,通过位带别名区指针指向位带区内容。

支持位带 *** 作的两个内存区的范围是:

0x2000_0000‐0x200F_FFFF(SRAM 区中的最低 1MB)

0x4000_0000‐0x400F_FFFF(片上外设区中的最低 1MB)

位带别名区地址=(A&0xF0000000)+0x2000000+(A&0xFFFFF)

其中A为位带区地址,n为该字节的第几位。

这里再不嫌啰嗦地举一个例子:

1 在地址 0x20000000 处写入 0x3355AACC

2 读取地址0x22000008。本次读访问将读取 0x20000000,并提取比特 2,值为 1。

3 往地址 0x22000008 处写 0。本次 *** 作将被映射成对地址 0x20000000 的“读-改-写” *** 作(原子的),把比特2 清 0。

4 现在再读取 0x20000000,将返回 0x3355AAC8(bit[2]已清零)。

注:如果用到位带 *** 作,可以把各个引脚进行位带宏定义,封装在一个头文件里,方便使用引脚。

二、中断

中断其实就是当CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(中段子程序)。下面是中断的示意图。

部分中断可屏蔽,部分中断不可屏蔽,每个中断通道都具备自己的中断优先级控制字,分别控制抢占优先级和响应优先级。只有当抢占优先级相同时,响应优先级高低决定哪个中断被处理(响应式优先级的高低没法中断正在执行的中断程序)。

stm32中的NVIC(嵌套向量中断控制器)属于内核的一个外设,控制着芯片的中断相关功能。

注:中断和事件的区别:

可以这样简单的认为,事件机制提供了一个完全有硬件自动完成的触发到产生结果的通道,不要软件的参与,降低了CPU的负荷,节省了中断资源,提高了响应速度(硬件总快于软件),是利用硬件来提升CPU芯片处理事件能力的一个有效方法。

三、printf重定向

我们知道C语言中printf函数默认输出设备是显示器,如果要实现在串口或者LCD上显示,必须重定义标准库函数里调用与输出设备相关的函数。一般是在fputc函数里把输出对象改为指向串口或者LCD,这一过程叫做重定向。

四、随机数发生器RNG

STM32F4芯片内部含有一个硬件随机数发生器(RNG),RNG处理器是一个以连续模拟噪声为基础的随机数发生器,提供了一个32位的随机数。使能后,需要检查标志位,判断其是否稳定,稳定后才能使用。RNG结构图如下图所示:

五、AD/DA

STM32的ADC模块,请允许我用如此通俗的语言:普通话 来介绍STM32ADC模块的特色

1、1MHz转换速率、12位转换结果(12位、记住这个12位哈、因为2^12=4096 ,也请记住4096哈)

STM32F103系列:

在56MHz时转换时间为:1μs

在72MHz时转换时间为:117μs

2、转换范围:0~33V (33v---->当你需要将采集的数据用电压来显示的话:设你采集的数据为:x[0~4095],此时的计算公式就为:(x / 4096) 33))

3、ADC供电要求:24V~36 V(可千万别接到 5V 的石榴裙子底下呀)

4、ADC输入范围:VREF-≤ VIN ≤VREF+ (VREF+和VREF-只有LQFP100封装才有)

5、双重模式(带2个ADC的设备): 8种转换模式

6、最多有18个通道:16个外部通道,2个内部通道:连接到温度传感器和内部参考电压(VREFINT = 12V)。通道可以分为规则通道和注入通道,其中规则通道组最多有16路,是一种规规矩矩的通道,具有DMA功能,而注入通道组最多有4路,转换过程中可以中断,还可以在规则通道转换过程中插队。

其转换步骤如下:

• 使能端口时钟和ADC时钟

• 设置ADC通道控制器CCR(ADC模式(独立、双重、三重)、输入时钟分频等)

• 初始化ADC(分辨率、转换模式(单次、连续)、数据对齐方式等)

• 开启ADC

• 读取ADC转换值

测交流电信号要把交流电分压到5V 以内,再把负半周提升到零点以上,用运放做一个加法器(有专用交流电检测用的高精度运放,好像是MCP的),把零点抬高到25V,这样最低点也大于零,最高点不超过5V ,再用单片机在交流电一周期内采40个点,存入内存,计算出各离散值的均方根就是交流电的有效值。

或者把交流信号经(电压跟随器 + 全波整流 ),将负半周期信号反转到正半轴,得到半波交流信号,再用ADC进行测量。

我们来看看STM32之DAC的Resume(简历简介):

● 2个DAC转换器:每个转换器对应1个输出通道

● 8位或者12位单调输出

● 12位模式下数据左对齐或者右对齐

● 同步更新功能

● 噪声波形生成

● 三角波形生成

● 双DAC通道同时或者分别转换

● 每个通道都有DMA功能

● 外部触发转换

● 输入参考电压VREF+

注:PWM+RC滤波可以模拟DAC的输出方式。

在对DAC的输出频率要求不是太高的情况下,我们一般可以采用PWM+二阶RC滤波来模拟DAC,进行输出。PWM的占

空比来模拟幅值,二阶RC低通滤波电路用来截止谐波(一般只考虑基波即可),通过直流,具体详情如下:

在8位分辨条件下,我们一般要求1次谐波对输出电压的影响不要超过1个位的精度,也就是33/256=001289V。假设VH为33V,VL为0V,那么一次谐波的最大值是233/π=21V,这就要求我们的RC滤波电路提供至少-20lg(21/001289)=-44dB的衰减。STM32的定时器最快的计数频率是168Mhz,部分定时器只有84MHz,以84M为例,8为分辨率的时候,PWM频率为84M/256=328125Khz。如果是1阶RC滤波,则要求截止频率为207Khz,如果为2阶RC滤波,则要求截止频率为2614Khz。

1、PWM频率为328125Khz,那么一次谐波频率就是328125Khz;

2、1阶RC滤波,幅频特性为:-10lg[1+(f/fp)^2];fp为截止频率。

所以对一阶滤波来说,要达到-44dB的衰减,必须-10lg[1+(f/fp)^2]=-44; 得到f/fp=158486,即fp=328125/158486=207Khz。

3、2阶RC滤波,幅频特性为:-20lg[1+(f/fp)^2];fp为截止频率。

所以对二阶滤波来说,要达到-44dB的衰减,必须-20lg[1+(f/fp)^2]=-44; 得到f/fp=12549,即fp=328125/12549=2614Khz。

得到截止频率以后,我们可以紧接着求出R、C的值。如下图所示,R35C68=R36C69,fp=1/2πRC。

六、DMA 

DMA,全称为:Direct Memory Access,即直接存储器访问。DMA传输方式无需CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM 与I/O设备开辟一条直接传送数据的通路,能使CPU 的效率大为提高。

STM32F4中 有两个DMA,每个DMA控制器对应8个数据流,每个数据流又对应8个通道,其映射图如下图所示。DMA挂载的时钟为AHB总线,其时钟为72Mhz,所以可以实现高速数据搬运。

DMA的结构框图如下图所示,可以看出DMA各数据流需要仲裁优先级,且拥有FIFO先进先出缓存区(解决目标地址和原地址数据宽度不一致的情况)。

七、高性能计算能力

如下图所示,stm32F4自带DSP处理器,我们可以采用DSP库函数进行浮点运算等计算问题。

我们平常所使用的CPU为定点CPU,意思是进行整点数值运算的CPU。当遇到形如11+11的浮点数运算时,定点CPU就遇到大难题了。对于32位单片机,利用Q化处理能发挥他本身的性能,但是精度和速度仍然不会提高很多。

现在设计出了一个新的CPU,叫做FPU,这个芯片专门处理浮点数的运算,这样处理器就将整点数和浮点数分开来处理,整点数交由定点CPU处理而浮点数交由FPU处理。我们见到过TI的DSP,还有STM32F4系列的带有DSP功能的微控制器。前者笔者没有用过,不作评论,而后者如果需要用到FPU的浮点运算功能,必须要进行一些必要的设置。

八、加密

采用加密处理器CRYP,下面是CRYP的结构框图。

加密算法有AES加解密算法、DES/TDES加解密算法等

九、ART加速

由于生产工艺的限制,当CPU主频显著提高时,Flash的存取速度却只能处于一个较低的水平。

STM32F4有存储器加速(ART),可以使 CPU 频率高达 168 MHz 时在闪存中以 0 个等待周期执行程序。其秘密在于,STM32内部的Flash我记得是128bit的。这样每次读取时ART会把后面3条指令放到队列里。而Flash等待为5WS的话,每执行4条指令则必须停一次,再继续执行后4条指令。反正是性能跟同频的X86差不多顶个70%的样子(指Dothan处理器,纯逻辑运算)。超频我最高测过250MHz,还算比较稳定,结果没出错。再高结果就不对了。

以上就是关于keil5上电拷不进程序全部的内容,包括:keil5上电拷不进程序、stm32如何调试、stm32和国产mcuadc性能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10071761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存