查看: 5629|回复: 10

【有奖征文】LM4F Launchpad深度系列1-从DataSheet谈起

  [复制链接]
  • TA的每日心情
    奋斗
    2013-2-28 11:51
  • 签到天数: 49 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2012-12-19 13:24:27 | 显示全部楼层 |阅读模式
    分享到:
    在实验室,每年都要指导新入学的研究生学习MCU的开发,如何使得

    一个只玩过51,且实验都很少做的学生,去熟悉、了解新型的ARM芯片

    及相应的基于Firmware的开发模式是一件非常费力的事情。

    大多数研究生本科的时候学的是51,直接跟寄存器打交道,而在现在ARM内核芯片

    大行其道的今天,如果想让自己的产品快速上市,再去用过去的开发方式显然行不通,

    但是使用Firmware的开发方式需要学生具有面向对象软件的开发思想,这又不是一件

    很容易的事情,导致的结果是大部分我带的研究生对于为什么要这么做?怎么做?都一知半解。

    其实,在现在的快速开发背景下,我们只要首先掌握好芯片的总体架构,了解清楚芯片拥有

    的外设及其性能,再对应学习官方提供的固件库,就能进行开发,而我们了解一款芯片,

    首先就需要看它的DataSheet,这里就以我们玩的LM4F Launchpad的主控芯片LM4F120H5QR

    为例说明。

    从官方网站下载最新版本的DataSheet,建议新手一定要沉住气看英文原版的材料,一方面

    新上市的芯片一般都还没有中文版的材料,另一方面,很多中文DataSheet都是实习的学生翻译的,

    很多地方很不准确。想要真正玩好任何一款芯片,英文水平一定要过关。

    下载完后我们打开DataSheet,会惊讶的发现竟然有1211页,有两本Thinking In Java的厚度,我们来看看

    手册的架构,如下图所示:
    1.png

    可以看到,手册中最开始的是图表目录,紧接着的是修订历史,主要记述了每个版本的DataSheet的

    修改内容,再接下来是文档说明。

    我们对一款新出的芯片最感兴趣的内容往往是芯片架构概述,从这里我们可以看到这款芯片的内核、

    总线、外设、RAM、ROM等具体内容及连接方式,这是非常重要的,这直接影响到我们写程序的

    部分代码。在手册中,我们可以找到LM4F120H5QR的框图,如下图所示:
    2.png

    从上图中,我们可以看到该芯片采用的是ARM Cortex-M4F内核,主频在80MHz,内核中

    拥有ETM、FPU、NVIC和MPU模块。在左上角,内核可以连接JTAG/SWD进行程序下载和仿真。

    芯片内核通过DCode bus和ICode bus连接到256KB的Flash ROM,在其上,可以看到一块引导区。

    从Cortex-M3开始,就接触到了ARM的Bus Matrix概念,也就是总线矩阵,所有外设都与总线矩阵打交道。

    从框图中可以看到,32KB的SRAM连接到了总线矩阵上,而在总线矩阵上又分出两条总线,分别为

    AHB和APB,分别为高速总线,主要用于连接高速外设;以及普通总线,用于连接低速外设。

    在高速总线上,分别挂载了EEPROM USB SSI等需要较高运行速度的外设,而在普通总线上则

    挂载了时钟、UART、I2C和ADC等低速设备。GPIO和DMA则根据配置,可以选择挂载高速或低速总线。

    进一步,我们可以观察到系统控制与时钟与APB连接,APB亦直接与Flash连接,其中的原因请读者思考。

    我个人认为,这张图是我们了解这款芯片最重要的一张图,没有之一,在学习完这张图后,我们可以循着

    DataSheet继续看他的内容,按先后顺序,这份手册介绍了Cortex-M4的内核及其外设,而后介绍了芯片中

    的其他外设,这些内容,用户都可以根据自己的实际需要选读,而不必通读。例如在开发过程中,

    需要开发ADC的应用,则可以读一读13.Analog-to-Digital Converter这一部分,以了解其工作机理和

    使用注意事项。

    至此,我们基本介绍了如何去学习DataSheet,本人才疏学浅,欢迎大家批评指正!


    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-12-19 13:28:08 | 显示全部楼层
    沙发!!!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-11-24 17:07
  • 签到天数: 1771 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2012-12-19 13:42:33 | 显示全部楼层
    这个别人教不来吧!而且全英文的,需要具备点硬件电路知识,没有点毅力真是看不下去。
    建议在开始阅读的时候安装一个翻译软件吧!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2013-2-1 15:36
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2012-12-19 18:31:04 | 显示全部楼层
    谢谢楼主。。。希望楼主持续更新 学习教程{:soso_e100:}
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    14 小时前
  • 签到天数: 3839 天

    连续签到: 5 天

    [LV.Master]伴坛终老

    发表于 2012-12-20 08:58:50 | 显示全部楼层
    至少要看一遍datasheet,这是学习的入门。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-1-19 23:04
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2012-12-22 22:48:14 | 显示全部楼层
    datasheet 我从来没完整的看过,用到哪部分就看哪部分,不管哪家MCU,搭载的模块都差不多,相通的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2012-12-25 08:41:22 | 显示全部楼层
    一般新出的芯片只能自己翻译,再说了搞开发英语不过关肯定不行!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2013-1-21 22:58
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2013-1-18 10:55:37 | 显示全部楼层
    貌似楼主教授
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-2-28 11:51
  • 签到天数: 49 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2013-1-18 12:32:45 | 显示全部楼层
     唯、你专属 发表于 2013-1-18 10:55
    貌似楼主教授

    呵呵,没那么高级,我在读研究生
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2013-1-21 22:58
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2013-1-18 19:11:43 | 显示全部楼层
    cpace 发表于 2013-1-18 12:32
    呵呵,没那么高级,我在读研究生

    好吧!有时间指教一二啊!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-3-29 23:19 , Processed in 0.188956 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.