
Cortex-M3 Core
文章平均质量分 87
杀猪的大侠
希望能够一直做技术,来养家糊口。
展开
-
Cortex-M3 Core之指令
1. __DSB()指令: Data Synchronization Barrier, This function acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete. 实例(Timer的时原创 2012-01-08 14:50:49 · 3342 阅读 · 4 评论 -
EFM32片内外设 -- DWT
问一个问题,如果需要测量一个函数的执行时间,一般使用什么办法?我想各位看官应该都有自己的方法吧。 那我自己来说,只要有示波器,我肯定使用GPIO翻转,然后用示波器测量的方法。如果没有示波器,则使用Systick中的Count或则是定时器的Count来计数的方法。但是经过好友的提醒,原来Cortex-M3中还有另外一个方法。 大家都应该知道Cortex-M3中有很多的调试组件,什么ITM,ETM原创 2013-06-30 15:12:55 · 3624 阅读 · 0 评论 -
EFM32片内外设 -- Systick
在很多场合下,我们经常会需要一个简单的延时函数。为了不暂用片内的其他资源,往往会想到Cortex-M3自带的Systick这个定时器。但是如何实现这样的功能呢,还得慢慢道来。所谓磨刀不误砍柴工,因此我们先了解一下Systick到底有哪些寄存器,操作哪些寄存器才能达到我们的目的呢? 每个Cortex-M3内核都含有一个称之为系统定时器的定时器,即SysTick,减计数,过零重载等基本功能。它总共含原创 2013-06-30 14:02:59 · 5835 阅读 · 0 评论 -
另外一种BitBand操作的方式 - 让IDE来帮忙算地址
要使用Bitband来访问外设,一定要得出对应的映射地址。人工计算肯定是不靠谱的,而且也没人想这么干。因此可以通过Excel,拉个列表来计算,想想,这也是一个不错的招数。但是后来想想,还是嫌麻烦,毕竟还是需要建立表格,填入公式,从reference manual中找寻寄存器的地址。 后来看到EFM32的头文件,想到,既然头文件里已经把所有的寄存器的地址都制定好了的,为什么不直接拿来用的?利用ID原创 2014-09-18 16:42:08 · 2203 阅读 · 0 评论