很多朋友都在想,怎么让keil C51与ARM能够并存使用。有安装经验的朋友都知道,安好C51后再安ARm,C51不能正常工作;安好ARM后再安C51,ARM不能正常工作。本文将详细介绍Keil C51与MDK-ARM并存的方法。
首先我们看下本历程系统及软件相关版本:
<center><img src="http://mm32.eetrend.com/files/2016-09/wen_zhang_/100002926-9541-1.jpg&q…; alt=""></center>
作者:linuxer
<strong>一、前言</strong>
上一节主要描述了为了打开MMU而进行的Translation table的建立,本文延续之前的话题,主要是进行CPU的初始化(注:该初始化仅仅为是为了turn on MMU)。
本文主要分析ARM64初始化过程中的__cpu_setup函数,代码位于arch/arm64/mm/proc.S中。主要的内容包括:
1、cache和TLB的处理
2、Memory attributes lookup table的构建
3、SCTLR_EL1、TCR_EL1的设定
<strong>二、cache和TLB的处理</strong>
学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。
<strong> 第一步:数字I/O的使用 </strong>
使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。
<strong> 第二步:定时器的使用</strong>
这几天看了很多关于“类似单片机的 出路”的帖子,就觉得大家有点悲观了。首先,单片机不是万能的,但没有单片机那是万万不能的。从NN年前的单片机,到现在的单片机,单片机只是单片机,其性质并没有太多的改变。只是从原来的“神秘”、“暴利”、“有趣”等等,回归了她原来的真是面目罢了--那只是在说明社会在进步,更加的合理和趋于理性。
只是现在的这样回归,有点走了极端罢了,从一个极端走了另一个极端罢了。但相反社会在这方面的需求却是越来越大,至少在我们的有生之年,这样的“自动化”过程一直会贯穿下去。所以你有什么好担心的,怕自己没有用武之地吗?! 怕自己的资薪没有或不高吗?!
作者:suipingsp
硬件和软件是一颗芯片系统互相依存的两大部分,本文总结了一颗芯片的软硬件组成,作为对芯片的入门级概括吧。
<strong>(一)硬件</strong>
主控CPU:运算和控制核心。基带芯片基本构架采用微处理器+数字信号处理器(DSP)的结构,微处理器是整颗芯片的控制中心,会运行一个实时嵌入式操作系统(如Nucleus PLUS),DSP子系统负责基带处理。应用处理器则可能包括多颗微处理器,还有GPU。微处理器是ARM的不同系列的产品(也可以是x86架构),可以是64位或者32位。处理器内部通过“内部总线”将CPU所有单元相连,其位宽可以是8-64位。
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
这一套Proteus教学视频是由up主wangxinmingqq花时间录制的,内容很全,既适合初学者,又适合对proteus有一定基础的人。
学过单片机的同学,对PWM应该不陌生,一般学习单片机的第二个例程就是用PWM技术调节占空比来控制LED亮度。然而PWM控制技术在逆变电路中应用最广,正是有赖于其在逆变电路中的应用,才确定了它在电力电子技术中的重要地位。因此,本文将详细阐述pwm的原理:PWM(PulseWidthModulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。
PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM控制技术正是有赖于在逆变电路中的应用,才确定了它在电力电子技术中的重要地位。
<strong> 1、PWM控制的基本原理</strong>
理论基础:
做电子工程师真的很难,为什么这么说呢,首先谈谈我对电子工程师发展阶段的看法把:
1、懂一种语言,会使用一种芯片,能写程序,借助工具能分析问题解决问题,算做电子工程师入门了吧。
2、不论是什么芯片,什么语言,是51单片机的顺序结构,还是带操作系统的多线程,或者是FPGA程序的并发性和模块化设计;不论是上位机,下位机;不论是使用visual C++还是使用KEIL,ADS, ISE等等,只要在较短的时间内能快速上手并用程序实现相应的功能,那么这时候可以说是一名职业电子工程师,可以把做开发写程序当做谋生的手段,我想我们大部分的电工都应该是处于这个阶段,包括我在内也是处于这个阶段。这就好比:一个学武的人拿到一本武功秘籍,苦练一段时间后就可以学成一样。
便携式系统通常用电池供电,而电池使用寿命取决于系统的功耗。在提倡“绿色环保”计划的今天,即便是市电供电的应用也要把功耗作为一项重要的产品选择标准。
便携式设备通常分为使用充电电池供电的设备和使用非充电电池供电的设备。如果应用使用的是非充电电池,那么电池使用寿命将是至关重要的规范要求。对于任何应用而言,电池使用寿命取决于:
所用电池的可用电荷量;
应用的平均电流消耗。
使用充电电池的应用还要考虑到另一个参数,那就是电池充电的频率和每次充电所花的时间。从最简单的角度说,延长电池使用寿命可通过提高电池容量或降低应用的平均电流消耗来实现。由于电池重量过大会影响系统的机械约束和成本,因此系统设计人员只能将电池电量提高到一个限值。在电池化学技术的全新发展不断提高电池电荷密度的同时,我们还亟需想办法继续降低平均功耗。
微控制器(MCU)深入人们应用生活,几乎大小设备都看得到MCU踪影,在MCU导入DSP数字信号处理器、FPU浮点运算单元功能后,MCU更大幅扩展元件可适用范围,这几年来,在众多MCU大厂纷纷针对旗下商品推出多样整合方案,不管是产品策略还是市场区隔,也让MCU市场更加丰富多元...
MCU(Microcontroller Unit)深入生活应用是不容易质疑的趋势,尤其是MCU在功能优化或市场区隔目的下,进行DSP(Digital Signal Processor)数字信号处理器或FPU(Floating Point Unit)浮点运算单元功能整合,使得MCU的可应用场域大幅扩展。
MCU整合FPU可以在进阶数值运算的精密度大幅提升、处理效能也能获得改善。
影响单片机系统可靠安全运行的主要因素主要来自系统内部和外部的各种电气干扰,并受系统结构设计、元器件选择、安装、制造工艺影响。这些都构成单片机系统的干扰因素,常会导致单片机系统运行失常,轻则影响产品质量和产量,重则会导致事故,造成重大经济损失。
<strong>形成干扰的基本要素有三个:</strong>
<strong>(1)干扰源。</strong>指产生干扰的元件、设备或信号, 用数学语言描述如下:du/dt, di/dt大的地方就是干扰源。如:雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。
<strong>(2)传播路径。</strong>指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。
<strong>1、 MDK5.18 安装</strong>
打开从Keil官方网站下载的MDK5,双击mdk518.exe,进行安装。这里我们将 其安装到D 盘,MDK5.18
文件夹下,需要设置安装路径,如图1.1 所示:
<center><img src="http://mm32.eetrend.com/files/2016-09/wen_zhang_/100002899-9471-1.png&q…; alt=""></center>
嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程。但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处。它包含嵌入式软件和嵌入式硬件两大部分,针对嵌入式硬件和软件的开发,在普通的电子产品开发过程中,是不需要涉及的。嵌入式产品的研发流程具体如下图:
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
这一套Proteus教学视频是由up主wangxinmingqq花时间录制的,内容很全,既适合初学者,又适合对proteus有一定基础的人。
微控制器(MCU)深入人们应用生活,几乎大小设备都看得到MCU踪影,在MCU导入DSP数位讯号处理器、FPU浮点运算单元功能后,MCU更大幅扩展元件可适用范围,这几年来,在众多MCU大厂纷纷针对旗下商品推出多样整合方案,不管是产品策略还是市场区隔,也让MCU市场更加丰富多元。
在单片机开发中,由于资源受限而没有平台的支持,每次开发都要重写很多代码,应用的千奇百怪的需求更是加剧了这种困难。解决问题的办法是,总结常见的需求,分析它,得出即高效有通用的解决方案。
今天我就来为大家提供一种按键的解决方案,它易用,高效,节省资源!
先给出这个按键模块解决方案的全部代码,稍后再来分析。
<strong> keyif.h内容:</strong>
1. 实验设备:
MM32f103 测试板,stm32 测试板, Jlink、ulink2 以及 keil 5.15、keil5.18 版本
2. 实验现象:
复制一个 MM32f103 的软件工程文件到任意别的目录下,然后修改工程文件名,打开后,直接编译,然后下载,会发现下载报错,出现如下图所示。(stm32 同样会出错)
Cortex-M4微控制器(MCU)将可加速马达控制设计。精准的马达控制须仰赖精密且复杂的算法才能达到,而Cortex-M4微控制器运算能力达100MHz,并具备DSP及硬件浮点运算单元,可有效执行马达控制所需的高阶计算,有助减轻开发负担。
透过内建Cortex-M4核心的微控制器(MCU),再搭配智能型连接的接口设备,将可轻松执行复杂的马达控制算法。本文将以永磁同步马达(PMSM)磁场定向控制(FOC)之中的方程式为例进行探讨,并显示如何利用CMSIS数字信号处理器(DSP)链接库进行处理。本范例使用的相同原则,可应用至其他控制算法及马达类型。此外,也将探讨智能型接口设备为何不需要第二个核心,并说明使用单一业界标准核心搭配CMSIS DSP链接库的众多优点。
对于一个新设计的电路板,调试起来往往会遇到一些困难,特别是当板比较大、元件比较多时,往往无从下手。但如果掌握好一套合理的调试方法,调试起来将会事半功倍。对于刚拿回来的新PCB板,我们首先要大概观察一下,板上是否存在问题,例如是否有明显的裂痕,有无短路、开路等现象。如果有必要的话,可以检查一下电源跟地线之间的电阻是否足够大。





