一、写在前面
本文先让大家简单认识一下Keil的主窗口界面,然后再进一步认识Keil的文件、编译和调试工具栏。
Toolbars工具栏就是在菜单下面的两行快捷图标按钮,这些快捷按钮之所以在工具栏里面,在于它们使用的频率较高。比如保存按钮、编译按钮、下载按钮等。
本文讲述的Toolbars工具栏和大部分上位机软件的工具栏类似,就是一些常用的快捷按钮。
本文以Keil MDK-ARM为例,因Keil C51的工具栏和MDK-ARM类似。因此,本文大部分内容也适用于Keil C51。
作者:strongerHuang
本文先让大家简单认识一下Keil的主窗口界面,然后再进一步认识Keil的文件、编译和调试工具栏。
Toolbars工具栏就是在菜单下面的两行快捷图标按钮,这些快捷按钮之所以在工具栏里面,在于它们使用的频率较高。比如保存按钮、编译按钮、下载按钮等。
本文讲述的Toolbars工具栏和大部分上位机软件的工具栏类似,就是一些常用的快捷按钮。
本文以Keil MDK-ARM为例,因Keil C51的工具栏和MDK-ARM类似。因此,本文大部分内容也适用于Keil C51。
教程前面文章讲述了《对象字典生成工具环境搭建》,因为对象字典在CANOpen中的分量比较重。所以,关于对象字典的内容,及对象字典编辑工具也需要我们深入了解。
对象字典编辑器这个工具的操作并不难,这里需要强调两点:1.先了解「CANOpen通信接口」相关知识; 2.理论结合实践,只看不动手实践操作,想要掌握这些知识就很难。
本文讲述的内容在该教程前一篇文章《CanFestival_3架构》中“开发一个新节点”就有提到。本文将更加全面讲解这部分内容。
目前Keil的四款产品(软件):MDK-ARM、C51、C251、C166,在用法上极为相似,包括本文讲述的新建软件工程。
本文以目前(2018年10月)最新Keil MDK-ARM V5.26、STM32F103标准外设库为例,来给大家讲述新建软件工程的具体步骤。
本文讲述的新建软件工程,只是最基础的软件工程(一个工程,一个目标)。其中只修改了必要的配置,大部分配置默认。
如果你是Keil C51、或者其它MCU器件,本文也适用,只是针对MCU器件有略微差异。
教程上一篇文章《关于Canfestival及对象字典生成工具环境搭建》中我们简单认识了一下Canfestival这套免费开源CANOpen协议的框架。
那么,本文将会以下载的PDF手册(源码里面也有)为导向,来深入解析Canfestival这套框架。
本文大概分两部分来讲述:
1.manual手册概要内容;
2.解析Canfestival源码;
对于学习单片机和嵌入式开发的朋友来说,掌握Keil这款软件可以说是必备的技能。鉴于目前网上没有完整的Keil教程,因此我打算整理一套完整的Keil系列教程。
目前Keil有四种产品(软件):MDK-ARM、C51、C251、C166。四种软件都是基于µVision,在用法上极为相似。
所以,该系列教程结合目前使用最多的MDK-ARM来讲述,大部分内容也适用于其它三种软件。
这一篇文章讲述如标题所描述的两大知识点,这两点内容对于初学者来说非常重要,希望想学习CANOpen协议的朋友认真把文章看完。
1.讲述Canfestival框架、官网简述,及衍生出的CANOpen源码基础知识;
2.基于Canfestival框架中对象字典生成工具的环境搭建。
上一篇文章主要是引导大家学习CANOpen协议通信接口的相关内容。通信接口的内容有点多,对于初学者来说,如果看不懂,请多看几遍(最好有个印象)。
CANopen设备最重要的一个部分就是对象字典。对象字典本质上是一种被预先安排的对象序列,可通过网络访问。字典里面的每一对象均可使用一个16-bit主索引和8-bit子索引寻址到。
初学者学习如果难理解通信接口(上一篇)有些内容,如:PDO、SDO及网络管理对象,可以结合对象字典索引来学习和记忆。
上一篇文章让大家了解了一下CANOpen协议的模型,也就是说CANOpen协议的内容都包含在这个模型里面,而模型里面的内容可以细分出来许许多多的知识。
但是对于初学者来说,并不是必须要掌握的所有的细节知识才行。只需要掌握其中必备的一些基础知识,就可以编写CANOpen的应用程序代码了。
那么本文将带你掌握其中部分基础知识,让你大脑中有CANOpen协议的这些概念知识(先有初步认识,以便于后面综合理解)。
上一章节提供的例程是标准、数据帧格式的传输例程,结合前面理论知识,相信你根据参考例程可以实现远程帧及其他类型的数据传输。
前面教程讲述内容为CAN总线协议,属于底层硬件相关的一些内容。从本文开始,将正式讲述CANOpen协议。
CANOpen协议是基于CAN总线的上一层软件协议。该教程前面内容是建立底层通信,只有在底层通信成功基础上,才能实现上一层的通信协议。
提示:CANOpen协议内容很多,有许多内容都是一些抽象的概念。所以,有一些内容相对较难理解,随着慢慢深入即可消除那些疑虑。