最近写一个程序,需要在用户模式下关中断,但ARM 7的体系结构决定了中断必须在特权模式下才可以更改,所以想到使用ARM的软中断来实现关中断和开中断。
使用软中断,首先要有硬件指令的支持,ARM有条指令是SWI。
SWI 指令的格式为:
SWI {条件} 24 位的立即数
SWI 指令用于产生软件中断,以便用户程序能调用操作系统的系统例程。操作系统在 SWI 的异常处理程序中提供相应的系统服务,指令中 24 位的立即数指定用户程序调用系统例程的类型,相关参数通过通用寄存器传递,当指令中 24 位的立即数被忽略时,用户程序调用系统例程的类型由通用寄存器 R0 的内容决定,同时,参数通过其他通用寄存器传递。
指令示例:
SWI 0x02 ;该指令调用操作系统编号位02的系统例程。
各种事物都有套路,开关电源的套路就是各种拓扑。对这些拓扑了然于胸,就能看清开关电源的本质。
为了表征各种电压或电流波形的好坏,一般都是拿电压或电流的幅值、平均值、有效值、一次谐波等参量互相进行比较。在开关电源之中,电压或电流的幅值和平均值最直观,因此,我们用电压或电流的幅值与其平均值之比,称为脉动系数S;也有人用电压或电流的有效值与其平均值之比,称为波形系数K。
因此,电压和电流的脉动系数Sv、Si以及波形系数Kv、Ki分别表示为:
Sv=Up/Ua——电压脉动系数
Si =Im/Ia——电流脉动系数
Kv=Ud/Ua——电压波形系数
Ki=Id/Ia——电流波形系数
<strong>1、单片机的工作频率</strong>
<strong>1.1 单片机的设计应根据客户的需求来选择较低的工作频率</strong>
首先介绍一下这样做的优点:采用低的晶振和总线频率使得我们可以选择较小的单片机满足时序的要求,这样单片机的工作电流可以变得更低,最重要的是VDD到VSS的电流峰值会更小。
当然我们这里需要做一个妥协,因为客户的要求可能是兼容的和平台化的(目前汽车电子的发展趋势就是平台化),选择较高的工作频率可以兼容更多的平台,也方便以后升级和扩展,因此要选择一个较低的可以接受的工作频率。
<strong>2、恰当的输出驱动能力</strong>
<strong>1、MDK中的char类型的取值范围是? </strong>
在MDK中,默认情况下,char 类型的数据项是无符号的,所以它的取值范围是0~255。它们可以显式地声明为signed char 或 unsigned。因此,定义有符号char类型变量,必须用signed显式声明。我曾读过一本书,其中有一句话:“signed关键字也是很宽宏大量,你也可以完全当它不存在,在缺省状态下,编译器默认数据位signed类型”,这句话便是有异议的,我们应该对自己所用的CPU构架以及编译器熟练掌握。
<strong>2、赋初值的全局变量和静态变量,初值被放在什么地方?</strong>
8048的面世标志着控制专用CPU MCU(Microcontroller Unit)的延生,而作为互联网基石的PC,其CPU8088却是在3年以后的1979年才出现。自1979年以后,PC的CPU从16位、4.77MHz时钟、单核发展到了今天的64位、常见的3GHz时钟和多核。而比PC的CPU历史悠久的MCU,其字节停止在32位已有10多年了。相对于芯片,MCU软件技术进展更慢,在PC机软件开发已由工厂化发展到全社会协同的今天,MCU软件技术仍停留在单打独斗的个人英雄时代。
<strong>第一章 DK103R-EVB开发平台介绍</strong>
<strong>1.1 内容提要</strong>
本章介绍DK103R-EVB的功能、硬件电路、跳线器和连接器、板上的外围器件等,帮助用户快速地对DK103R-EVB形成整体的认识。
<strong>1.2 DK103R-EVB开发平台简介</strong>
<strong>1.2.1.接口设备</strong>
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
这一套Proteus教学视频是由up主wangxinmingqq花时间录制的,内容很全,既适合初学者,又适合对proteus有一定基础的人。
<strong>1、前言</strong>
在软件开发的过程中,debug(调试)是一个很重要的事情,因为没有百分之百正确的代码,一旦结果不符合预期,我们需要知道问题出在哪里了。
在PC环境下开发应用程序,我们不需要太操心,因为有各式各样的模拟器、调试器可供使用,我们可以追踪到每一行代码的执行过程和执行结果,找出问题只是时间问题而已。但在嵌入式环境下,就有些麻烦了,能用的手段,无外乎两种:
1)使用硬件仿真器定位问题。
2)使用日志输出定位问题。
对嵌入式工程师(特别是linux工程师)而言,鉴于使用硬件仿真器的诸多不便(成本高,无法保证人手一个;硬件连接复杂,需要预留特定接口;使用不方便;等等),日志输出几乎成为必备且唯一的debug手段。但是,总会有例外:
你有没有遇到过那个经典的面试问题,“你预见过自己5年后的职位吗?”。每当有人这样问时,我就会想到Twisted Sister乐队从1984年开始发行的某张专辑。
当然是玩摇滚,最不济也得是个摇滚明星级别的工程师吧。这种问题通常得不到正面回答——就像那种在面试中无病呻吟式的陈词滥调,”你最大的缺点是什么?”。有的时候是不是太大起大落?以至于那些无辜的旁观者会受到伤害。
但是,我认为这是一种不一样并更严肃的话题,它应该引起足够的重视。而这并不是为了面试官好,而是为你好。
文章开始的那个问题听起来有点老生常谈,而且大部分人都是有备而来。但是这个问题却会引起更深层的思考:一名软件开发人员的职业生涯会是怎样的呢?当然,我们干着一行是因为我们热爱编程,并且在这一点 上,我们非常幸运。
作者:子山
中国计划投资逾1000亿美元,到2020年成为全球芯片行业的领导者。全球最成功、最创新的半导体企业领导人都开始积极思考,应如何应对此举所带来的挑战,并抓住随之而来的机遇。然而疑问依然存在:中国是否在追逐一个不切实际的目标?中国是否能够成功成为全球半导体老大?
根据贝恩公司的最新研究发现,到2020年,近55%的全球内存、逻辑和模拟芯片将流向或流经中国。但目前中国只生产全球15%的半导体。虽然这个数字已然比几年前的近10%有所上升,但半导体依然是中国最大的贸易赤字项目,甚至超过了石油,说明中国在解决供需不平衡方面仍是长路漫漫。
<strong>1、static关键字</strong>
这个关键字前面也有提到,它的作用是强大的。
要对static关键字深入了解,首先需要掌握标准C程序的组成。
标准C程序一直由下列部分组成:
1)正文段——CPU执行的机器指令部分,也就是你的程序。一个程序只有一个副本;只读,这是为了防止程序由于意外事故而修改自身指令;
2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。
3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。
注意:只有全局变量被分配到数据段中。
对Flash-based的MCU来说,ISP和ICP几乎是不可或缺的功能。但我们经常被这两个功能搞混,究竟他们的差别在哪里?对客户的意义又是什么?在这里,和大家分享并澄清一些观念,希望对大家有所帮助,进而解答来自客户关于ISP与ICP的疑问。
<strong>1)在开发阶段</strong>
改code时,不再需要将MCU从板子上拔起来,拿到烧录器上烧,然后再装回去。可以直接利用ISP/ICP Programmer做板上烧录,为开发者提供了极大的便利性。
<strong>2)在量产阶段</strong>
客户可以采用“先焊到板子上再烧code”的方式,将烧code的动作安排在生产线的某一站。
那么传统的方式(先将code烧好再焊到板子上)有什么缺点?
串口烧录PC端软件使用说明
1. 当您加压文件包后将得到以下文件
<center><img src="http://mm32.eetrend.com/files/2016-09/wen_zhang_/100002802-9164-1.png&q…; alt=""></center>
2. 点击PC_ISP.exe 打开烧录软件,界面如下:
9月1日,“2016中芯国际技术研讨会”在上海浦东嘉里大酒店举行,灵动微电子做为本土MCU产品与MCU应用方案的领先供应商,赞助了此次会议,并在会议上展出了灵动MM32MCU及数十个应用解决方案。
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
这一套Proteus教学视频是由up主wangxinmingqq花时间录制的,内容很全,既适合初学者,又适合对proteus有一定基础的人。
作者:Founder_U
<strong>1. Cortex-M0 的两种总线协议:</strong>
1)AHB_Lite 系统总线协议:32位地址线,高速高性能访问(Flash, SRAM,总线桥,外部存储器接口)
2)APB 外设总线协议: 32位, 外设等较慢设备通讯(I/O,Timer, UART, Watch Dog。)
系统总线和外设总线是相互分离的,两种总线通过总线桥连接通讯,时钟频率控制不同,可能有多个外设总线段,并且每个段运行在不同的时钟频率下。有些高速外设是直接连接在AHB_Lite系统总线上的。
<strong>2. 存储器映射(4GB地址空间) </strong>
<font color="#FF8000">作者:张国斌 杨开妍</font>
随着产品智能化程度的提升,32位MCU需求水涨船高,权威预测2016年全球MCU市场出货量将突破300亿颗大关!年均增长20%!到2018年中国MCU市场规模更是高达390亿元!在这一大背景下,很多本土公司杀入MCU领域,但面对在MCU领域有多年积累的外国厂商,本土MCU厂商该如何突出重围?在最近本土MCU黑马灵动微电子秋季新品发布会上,国内著名MCU专家、周立功单片机创始人周立功教授给出了五个忠告。
<strong>忠告一、产品要接地气,超出客户预期</strong>
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
这一套Proteus教学视频是由up主wangxinmingqq花时间录制的,内容很全,既适合初学者,又适合对proteus有一定基础的人。
<strong>一、这多东西啥时候能学完?</strong>
现在IT新技术日新月异。就常用编程语言而言,有c/c++、汇编、java,c#、Python等;操作系统平台有unix /linux,windows系列;开发工具有VC、visualStudio2008、 Eclipse、NetBeans等;每个大平台下,还有很多的 的方向:如网络、数据库、脚本、HTML、动态网站、游戏开发等;有人还在学Dreamweaver做网页、Flash做动画、Photoshop做美 工、3DMax做三维动画…………是的,我们什么都想学。恨不得把所有的知识统统都塞到肚子里去。看到什么,想学什么!
晶振,在板子上看上去一个不起眼的小器件,但是在数字电路里,就像是整个电路的心脏。数字电路的所有工作都离不开时钟,晶振的好坏,晶振电路设计的好坏,会影响到整个系统的稳定性。所以说晶振是智能硬件的“心脏”。
每个单片机系统里都有晶振(晶体震荡器),在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。
复杂的电子产品,晶振是必须的,而RC或LC振荡无法企及,原因就是信号的稳定性不够,而晶振的三种切型:AT切,SC切和X切,把石英按照一定的角度切成薄片,而根据其厚度就可以给出一定的频率信号,根据需要可以任意设计频率值。





