跳转到主要内容
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名
【下载】堆栈溢出技术从入门到精通

首先你应该了解intel汇编语言,熟悉寄存器的组成和功能。你必须有堆栈和存储分配方面的基础知识,有关这方面的计算机书籍很多,我将知识简单阐述原理,着重在应用。其次,你应该了解linux,本讲中我们的例子将在linux上开发。

1、首先复习一下基础知识。

从物理上讲,堆栈是就是一段连续分配的内存空间。在一个程序中,会声明各种变量。静态全局变量是位于数据段并且在程序开始运行的时候被加载。而程序的动态的局部变量则分配在堆栈里面。

从操作上来讲,堆栈是一个先入后出的队列。他的生长方向与内存的生长方向正好相反。我们规定内存的生长方向为向上,则栈的生长方向为向下。压栈的操作 push=ESP-4,出栈的操作是 pop=ESP+4.换句话说,堆栈中老的值,其内存地址,反而比新的值要大。

32位MCU崛起 抢滩物联网市场本土厂商耕耘有道

作者:刘丹

随着物联网和智能硬件等新兴市场打开,MCU的应用范围进一步扩大,在此市场环境下,外资MCU厂商具有较大优势,尤其是在处理性能更强大的32位MCU上,呈现垄断状态。要打破这一僵局国产MCU还有哪些路要走?国产MCU如何才能紧跟市场步伐在新领域下跑马圈地?

<strong>32位MCU主导市场大势所趋 物联网应用需求强劲</strong>

得益于物联网的快速发展,市场研究机构预测在2016~2019年间,整体MCU市场营收成长率将逐渐增强(2019年成长率预测为9%),直到2020年仍有4%的成长率,MCU出货量则预测在该期间以CAGR为3.9%的幅度成长。在如此利好的形势下,本土MCU厂商纷纷加紧布局物联网领域,其中绝大部分MCU厂商看好32位MCU的发展。

C语言精确微秒级的延时

在使用C语言编程时延时程序是非常常见的,但是实现一个精确的延时是不太容易的,在给一个朋友的公司产品做维护时,发现一段代码,可以实现微妙级的延时。看起来代码非常简单。但是我以前没有想到过。我们一起来看看这段代码。

IAR更改代码字体及快速模板的设置

<strong>1、是用软件提供的字体</strong>

如果只想简单的设置,可进行如下设置
Tools->IDE Options->Editor->Colors and Fonts->Editor Font->Font
但是这里边似乎也没有什么舒服的字体,在网上找了找,还真找到了一个比较不错的字体,现呈现给大家

<strong>2、使用系统提供的字体</strong>

浅谈工程师的调试法宝(五):JScope的应用

摘要

J-Scope是SEGGER公司推出的,可以在目标MCU运行时,实时分析数据并图形化显示的软件。我们一起来了解一下J-Scope吧。

我们在前四篇的文档中介绍了MCU向调试终端输出信息的方法。今天就介绍一个更炫更酷、可以图形化显示数据的调试法宝—JScope。

J-Scope是SEGGER公司推出的,可以在目标MCU运行时,实时分析数据并图形化显示的软件。它不需要像SWO那样需要MCU上面额外的引脚,而是使用标准的调试接口。J-Link驱动4.90之后的版本都有这个软件哦。

J-Scope可以像示波器一样显示多个变量的值,通过读取一个ELF文件,允许选择一定数量的变量可视化,如图 1所示。你可以简单的将目标MCU连接到J-Link,并启动J-Scope软件。

半导体行业发展现状分析 究竟该何去何从?

在这股浪潮中,物联网智能产品市场增量明显,包括水表、电表等各种家用智能表计,可穿戴设备仍处于产品的起步阶段,距离姜氏曲线37%的爆发式增长拐点还有一段距离。

在半导体行业一系列并购狂潮之后,整个产业的增长率依旧在下滑。此前半导体产业协会(SIA)等产业组织预测,2016年晶片产业将“轻微正成长”。但更为不乐观的是,包括Gartner、HIS、ICInsights以及IDC等多家研究机构,都预测今年晶片市场将出现负成长。

面对摩尔定律逐步遭受挑战,半导体行业究竟发展现状如何又该何去何从?“半导体产业处于生命周期的初始阶段,并没有真正进入到高速增长阶段,更不用说到增长缓慢的成熟阶段了。”与这些研究机构预测截然相反的是,MentorGraphicsCEOWallyRhines对半导体前景非常乐观。

几幅草图教你区分数字地、模拟地、电源地,单点接地

我们在进行pcb布线时总会面临一块板上有两种、三种地的情况,傻瓜式的做法当然是不管三七二十一,只要是地,就整块敷铜了。这种对于低速板或者对干扰不敏感的板子来讲还是没问题的,否则可能导致板子就没法正常工作了。当然若碰到一块板子上有多种地时,即使板子没什么要求,但从做事严谨认真的角度来讲,咱们也还是有必要采用本文即将讲到的方法去布线,以将整个系统最优化,使其性能发挥到极致!当然关于这些地的一些基础概念、为什么要将它们分开,本文就不讲了,不懂的同学自己查哈!

MM103 miniboard 测试体会(MDK4.6)

自拿到开发板(MM32F103),即刻前往官网

查找资料(下载)。。。。哦,下载还需要注册? 没办法,注册一个吧。(不方便,这个要向 ST学习,www.stmcu.org 开放下载)

下载各种资料,到官网推荐的QQ群咨询问题!!非常重要。

鉴于以前MDK5.x的惨痛经历,还是从经典的熟悉的 MDK4.6开始

开始第一个工程:blink

因为官方没有提供 MDK4.6的芯片描述文件,根据提示,新建工程,芯片就选用 STM32F103RB;

然后添加各种依赖的文件

如下图:

浅谈工程师的调试法宝(四):RTT的应用

我们前三篇的文档中介绍的调试方法,都因为各种原因而不能在所有的MCU上做到通用,而今天这一切将发生改变。现在就一起来看一下这个神奇的调试工具-RTT。

RTT( Real Time Terminal)是SEGGER公司新出的可以在嵌入式应用中与用户进行交互的实时终端。J-Link驱动4.90之后的版本都有这个软件哦。

用RTT可以从目标MCU上输出信息的同时也可以非常高速的向应用程序发送信息,并且不影响MCU的实时性。其实现原理就是J-link与MCU共享内存,具体实现细节感兴趣的读者可以自己去查阅下资料,本文以应用为主。RTT的工作框图如图 1所示。MCU通过J-link与电脑连接并将打印信息输出到电脑上,电脑同时可以通过键盘等向MCU发送数据。

IC Insights上调半导体全年成长至2%

受惠DRAM 市况转强,市调机构IC Insights 看好今年第4季半导体IC市场销售量走扬,预估今年第4季销售额有望创下769亿美元(台币约2.44兆元)单季新高,连带调高今年半导体IC设计销售展望,从原先预估衰退 1%上修至成长 2%,单位出货量也从年增4%上调至6%。鉴于明年全球GDP展望佳,预估明年IC产业年增4%。

IC Insights 指出,预估今年第3季全球IC市场强劲成长 9%,高于去年同期仅有 1% 的成长幅度,更优于近 15 年产业平均成长 8% 的水准。今年第4季市场销售总额预估将再成长 1% 至 769 亿美元(台币约2.44兆元),换言之,将打破 2014 年第4季所创的 767 亿美元(台币约2.43兆元),有望创下单季历史新高。

从PCB设计到软件处理,谈单片机系统的电磁兼容性设计

本文中所提到的对电磁干扰的设计我们主要从硬件和软件方面进行设计处理,下面就是从单片机的PCB设计到软件处理方面来介绍对电磁兼容性的处理。

<strong>一、影响EMC的因数

1、电压:电源电压越高,意味着电压振幅越大,发射就更多,而低电源电压影响敏感度。

2、频率:高频产生更多的发射,周期性信号产生更多的发射。在高频单片机系统中,当器件开关时产生电流尖峰信号;在模拟系统中,当负载电流变化时产生电流尖峰信号。

3、接地:在所有EMC题目中,主要题目是不适当的接地引起的。有三种信号接地方法:单点、多点和混合。在频率低于1MHz时,可采用单点接地方法,但不适宜高频;在高频应用中,最好采用多点接地。混合接地是低频用单点接地,而高频用多点接地的方法。地线布局是关键,高频数字电路和低电平模拟电路的接地电路尽不能混合。

我们为什么要学RTOS?为什么要选用FreeRTOS?

作为基于ARM7、Cortex-M3硬件开发的嵌入式工程师,本人一直反对使用RTOS。不仅因为不恰当的使用RTOS会给项目带来额外的稳定性风险,更重要的是个人认为绝大多数基于ARM7、Cortex-M3硬件的项目,还没复杂到使用RTOS的地步,使用状态机就足够了。

对于现代的微处理器,特别是资源相对丰富ARM7、Cortex-M3硬件来说,RTOS占用的硬件资源已经越来越可以忽略。所以在当今环境下,我们无需担心RTOS会拖累性能。相反,RTOS提供的事件驱动型设计方式,使得RTOS只是在处理实际任务时才会运行,这能够更合理的利用CPU。

ARM的异常处理过程分析

近来翻了翻uC/OS-II官网给出来的ARM7-ARM9移植手册(AN-104),分析了在ARM中移植的问题,想想从来没有认真的学习过ARM的汇编,趁着这个机会复习复习吧。其实底层的东西才是创造力的心脏。

其中的移植代码中存在的很多问题比如中断的关闭和开启,任务级别的情景切换,中断到任务的情景切换都是我们在平时移植中讲到,我也不在此强调了。在官网中提供的移植过程中存在异常处理机制,这个本不是在移植过程中考虑的,但是文档中确实提供了一个比较好的处理方式。我在此对这一段时间的学习做一个总结。

灵动MM32F103开发板开箱测评

作者:邸先生

今天刚收到板子,最近工作事务繁忙,先通过手机发一个开箱体验,后续尽快发布项目进展。

首先快递很快,前天看到申请成功,今天就收到。

板子应该是手工焊接,板子上还有多余的焊锡,应该使用过一段时间,表面划痕明显。但是可以看出厂家用料扎实,服务到位,感谢灵动,感谢给我一个机会,后续待选购的器件到位将一步步开展项目,今天来不及通电,后续补上。

嵌入式产品开发流程,这个得知道!

嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程。但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处。它包含嵌入式软件和嵌入式硬件两大部分,针对嵌入式硬件和软件的开发,在普通的电子产品开发过程中,是不需要涉及的。嵌入式产品的研发流程具体如下图:

教你怎么学会单片机?

很多人会想知道怎样动手从头开始学习单片机 。例如怎样理解晶振/中断/存储器等? 怎样记住单片机汇编指令? 怎样看懂单片机外围电路? 为什么都说用C比汇编好?

一名电子工程师的人生感悟

做电子工程师真的很难,为什么这么说呢,首先谈谈我对电子工程师发展阶段的看法把:

1、懂一种语言,会使用一种芯片,能写程序,借助工具能分析问题解决问题,算做电子工程师入门了吧。

2、不论是什么芯片,什么语言,是51单片机的顺序结构,还是带操作系统的多线程,或者是FPGA程序的并发性和模块化设计;不论是上位机,下位机;不论是使用visual C++还是使用KEIL,ADS, ISE等等,只要在较短的时间内能快速上手并用程序实现相应的功能,那么这时候可以说是一名职业电子工程师,可以把做开发写程序当做谋生的手段,我想我们大部分的电工都应该是处于这个阶段,包括我在内也是处于这个阶段。这就好比:一个学武的人拿到一本武功秘籍,苦练一段时间后就可以学成一样。

谈几点单片机工程师的职业规划问题

这几天看了很多关于“类似单片机的 出路”的帖子,就觉得大家有点悲观了。首先,单片机不是万能的,但没有单片机那是万万不能的。从NN年前的单片机,到现在的单片机,单片机只是单片机,其性质并没有太多的改变。只是从原来的“神秘”、“暴利”、“有趣”等等,回归了她原来的真是面目罢了--那只是在说明社会在进步,更加的合理和趋于理性。

只是现在的这样回归,有点走了极端罢了,从一个极端走了另一个极端罢了。但相反社会在这方面的需求却是越来越大,至少在我们的有生之年,这样的“自动化”过程一直会贯穿下去。所以你有什么好担心的,怕自己没有用武之地吗?! 怕自己的资薪没有或不高吗?!

智能家居发展趋势 前生后世的变革史

扫地机器人,如今算是我们生活最常见的一种机器人了。它的任务很简单,就是在房间里来回移动做一些扫地、拖地这样的清洁工作,利用机器上的传感器,它可以识别周围环境,避开家里的一些障碍物。功能再丰富一点的是这种被用到酒店里的服务机器人。它们可以帮顾客搬运行李,办理入住手续,跟顾客打招呼或者代替酒店服务人员送东西到客房等。去年7月,在日本的长崎县就专门开了一家主要由机器人当服务员的酒店Henn-na酒店。