嵌入式外部中断控制编程方法论—比较CC2541(51核)和S5PV210(ARM核)

这是一篇阐述如何对嵌入式SOC外部中断进行控制编程的方法论文章。希望读者理解本篇文章后,能够具备对市场上所有已经面世和将来面世的嵌入式芯片的外部中断进行控制编程的能力。

笔者原创的技术分享一直都恪守以下原则:

从需求的角度去理解嵌入式各种软件和硬件模块的作用和组成,并从芯片系统设计的角度去阐述如何进行控制编程。前者对于理解复杂的系统(如linux的各个子系统)是非常有效的;后者所讲的是代表一个芯片设计工程师的视觉,芯片模块由他负责设计,他对于该模块的控制编程自然是最有发言权的。

笔者还想传递给读者一个重要的嵌入式控制理论的观点:

不同SOC芯片中的类似功能模块(例如51内核集成的TIMER和ARM内核集成的TIMER)的设计理念是基本一致的,尽管各家集成电路厂商的制程工艺、总线技术标准、功耗等技术不一样,但对于编程人员来说,类似功能模块呈现的硬件接口(即寄存器编程)是基本一致的。无论是基于高级ARM核、MIPS核,还是基于简单的51核,各个核所集成的时钟控制、GPIO、中断、TIMER等模块的设计都是相仿的。其中最重要的原因就是,目标模块所完成的目标功能(可以理解为硬件需求)都是一样的,即ARM核的中断和51核的中断,其完成的功能是一样的,GPIO完成控制功能也是一样的。

所以,笔者希望从系统设计的角度来阐述GPIO外部中断的控制编程,使读者能够跳开某个具体芯片而掌握所有芯片的GPIO外部中断的控制编程。


一、       中断综述

细细数来,笔者已经针对中断写了三篇文章了。每篇篇幅都很大,阐述的重点都不一样。这里给出参考,大家如有时间可以先系统地看完这三篇文章,再来阅读本文。

《软件和硬件都是对生活的高度抽象---论中断控制(ARM体系编程)》, 摘要是:硬件模块设计又是高度抽象于现实需求,很多时候,X86、ARM和MIPS只有底层寄存器和指令级别的差异,对于软件驱动基本是一致的。本文论及ARM体系的中断控制,以基于Cortex-A8的S5PV210为例。中断是一种异步工作机制,也是嵌入式处理器的一个核心工作机制,对于实时操作系统来说必不可少。

《从需求的角度去理解Linux之二:Linux中断完全分析》, 摘要是:学习本文将可以对linux中断有全面而又深刻的认识。本文对Linux中断所涉及的需求、管理机制、中断实现、中断接口(上半部和下半部)、驱动使用进行完全分析。

《体系编程、SOC编程那些事儿》, 摘要是:笔者将从芯片IC的系统设计的角度去诠释如何掌握体系编程和SOC编程。笔者有超过10年的嵌入式研发经验,作为架构师多次主导过多媒体SOC研发并成功量产案例,在高端处理器体系编程和嵌入式Linux方面有丰富的教学经

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值