ARM Cortex-M
古-月
怕什么真理无穷,进一寸有一寸的欢喜
展开
-
飞思卡尔Kinetis 60(K60)时钟系统分析
前段时间学习了飞思卡尔K60芯片的时钟系统,对它的时钟系统有了个大致的了解,这里把自己的理解写下来分享一下,以备以后参考。 飞思卡尔 Kinetis系列是飞思卡尔推出的基于ARM CORTEX-M4为核心的微控制器。1.飞思卡尔K60时钟系统 飞思卡尔K60时钟系统如上图所示,可以发现器件的源时钟源一共有4个: ①内部参考时转载 2011-12-30 12:39:08 · 16703 阅读 · 4 评论 -
K60(Cortex-M4)开源开发探索(七)—— kermit的安装与配置
在我们的研究当中,经常会遇到串口发送数据的问题,在linux下有没有一款合适的串口调试助手呢?答案当然是肯定的。 C-kermit是一款集成了网络通信、串口通信的工具,功能类似于Tera Term,是linux下一款强大的串口调试助手。它有如下多种功能: 1、支持kermit文件传输协议 2、自定义了一种脚本语言,它强大而易于使用,可用于自动化工作 3原创 2013-03-23 22:22:46 · 3338 阅读 · 3 评论 -
K60(Cortex-M4)开源开发探索(一)—— K60简介
一、Cortex-M4内核简介 ARM Cortex-M4 处理器是由 ARM 专门开发的最新嵌入式处理器,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。 高效的信号处理功能与 Cortex-M 处理器系列的低功耗、低成本和易于使用的优点的组合,旨在满足专门面向电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场的新兴类别的灵活解决原创 2013-03-23 14:27:33 · 14248 阅读 · 0 评论 -
K60(Cortex-M4)开源开发探索(二)—— 嵌入式软件开发需求分析
一、嵌入式软硬件开发现状 随着电子技术的不断发展,各类硬件的性能不断提升,而成本和使用难度却在不断下降。硬件的日益成熟和稳定,让嵌入式软件成为了,嵌入式开发中的关键问题。但是纵观现在的嵌入式开发现状,虽然占据了系统开发的大部分时间,可还是显得有点力不从心,很难满足用户的需求,主要表现在以下几个方面: (1)开发复杂:传感器、驱动器等硬件功能越来越多,原创 2013-03-23 15:59:47 · 3306 阅读 · 0 评论 -
K60(Cortex-M4)开源开发探索(三)—— 软件开发平台设计
我是从参加飞思卡尔全国大学生智能汽车竞赛开始接触单片机的,现在的主要研究方向是移动机器人的嵌入式软件开发。飞思卡尔的智能汽车其实就是移动机器人的典型代表,在这个行业当中,软件开发面临着很大的挑战,我在上一篇博客中也进行了详细的分析。为了能满足比赛以及科研的需求,我们准备开发一套完整的K60软件开发平台,建立移动机器人软件开发库,减少今后重复劳动以及不科学调试所浪费的时间。 以下原创 2013-03-23 16:31:20 · 3500 阅读 · 0 评论 -
K60(Cortex-M4)开源开发探索(四)—— 交叉编译环境设计
一、开源开发简介 windows作为现在桌面系统的主流,在开源开发领域中却存在配置困难、软件支持少等缺点,而本身就是开源系统的linux在这一领域就显示了强大的性能。近几年来,开源软件依靠灵活的特性,已经主宰了嵌入式软件开发,成为了当今嵌入式市场竞争的主要推动因素。为了适应发展,具有更好的可扩展性,我也选用linux作为研究平台。基于linux 的操作系统有很多,现在应用比较广泛原创 2013-03-23 20:37:43 · 6386 阅读 · 1 评论 -
K60(Cortex-M4)开源开发探索(五)—— 交叉编译环境构建
根据之前的设计,现在准备开始一步一步构建交叉编译环境。 一、ARM工具链 嵌入式设备由于不具备一定的处理器能力和存储空间,程序开发一般用PC来完成,然后将可执行文件下载到嵌入式系统中运行。这是目前嵌入式程序开发的不二选择——Host/target模式。但这引发了一个问题:由于Host和Target的处理器体系结构不同,我们不能直接用PC上既有的程序开发工具,必须使用跨原创 2013-03-23 21:32:49 · 5877 阅读 · 1 评论 -
K60(Cortex-M4)开源开发探索(六)—— OpenOCD的配置
OpenOCD需要针对不同的JTAG工具和不同的目标芯片,配置一个配置文档。一般而言,配置文档分为4个部分。 1、Daemon 主要是配置openocd对外的通讯所使用的本地TCP/IP端口,如gdb、telnet所使用的端口。 接口Port的定义一般如下(非特殊情况,无需修改,定义了一些端口号) telnet_port 4444原创 2013-03-23 22:01:53 · 6077 阅读 · 1 评论 -
从Cortex - M3过度到Cortex - M4(4)----Cortex-M3、4比较
1.内存保护单元MPU 与Cortex - M3的相同,MPU是一个Cortex - M4中用于内存保护的可选组件。处理器支持标准ARMv7内存保护系统结构模型。您可以使用在MPU执行 特权/访问 规则,或者独立的进程。这个MPU提供全面支持: ·保护区 ·重叠保护区域,提升区域优先级(7 =最高优先级,0 =最低优先级) ·访问权限 ·将存储器属性输出至系统2 .DS转载 2011-12-26 12:22:28 · 44433 阅读 · 3 评论 -
STM32 (Cortex-M3) 中NVIC(嵌套向量中断控制)的理解
一、STM32 (Cortex-M3) 中的优先级概念 STM32(Cortex-M3)中有两个优先级的概念:抢占式优先级和响应优先级,也把响应优先级称作“亚优先级”或“副优先级”,每个中断源都需要被指定这两种优先级。1. 何为占先式优先级(pre-emption priority) 高占先式优先级的中断事件会打断当前的主程序/中断程序运行—抢断式优先响应,俗称转载 2011-12-26 15:23:33 · 4417 阅读 · 0 评论 -
kinetics DAC数模转换模块
DAC数模转换模块DAC简介 Kinetis10包含两个独立的12位数模转换模块,DAC0和DAC1,用于将数字转换成对应的模拟电压。转换后的模拟电压可由外部引脚输出,也可以通过芯片内部连接输入到比较器模块、放大器模块、和模数转换模块。 DAC的参考电压可以二选一,一个来自外部或VREF模块的输出,默认连接到DACREF_1;另一个时VDDA,默认连接到DACREF_2。如转载 2012-03-19 11:58:47 · 4364 阅读 · 5 评论 -
简单验证K60内部时钟运行频率
新的一年,开个好头~K60凉在手里好多天了,好久没弄了,今天又拿出来当宝贝似的玩了玩,捣鼓了一上午,有点小收获,跟大家分享一下,因为只是一种小技巧,所以就不单独列入从零入手系列了。 其实以前看启动代码的时候就注意过这个,不过那时候没亲手试验过,老觉着空有理论,然而不实践一下怎么能行呢是吧,呵呵。其实现在发现好多人都有这个毛病,觉着看那点东西就那么回事儿,小菜儿,往往就懒得去动手去验证转载 2012-02-12 21:55:51 · 10380 阅读 · 16 评论 -
kinetis时钟模块MCG详解
MCG模块详解一、MCG模块简介 MCG成为多用途时钟信号发生器,该模块为MCU和芯片内部各个模块提供时钟信号。MCG模块通过对输入的参考时钟进行分频和倍频处理,可以输出各种频率的时钟信号,并达到超频运行的目的。输入的参考时钟可以来自内部也可以来自外部时钟或外部晶振。输入的参考时钟一般经过分频后进入FLL(锁频环)或PLL(锁相环)进行倍频处理,当然也可以不通过FLL或PL转载 2012-03-09 22:22:52 · 15609 阅读 · 8 评论