1 Star 0 Fork 54

雪落心田 / 8051-ELL-Old

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
guide.md 2.75 KB
一键复制 编辑 原始数据 按行查看 历史
zeweni 提交于 2021-07-26 11:22 . 更新说明

8051-ELL是一个专门为增强型1T8051内核MCU设计的硬件抽象平台。本导读讲为你介绍 ELL的基本架构、数据结构、代码编写准则,希望能够帮助你深入学习ELL库。 更多文档和参考设计,可以访问: 8051-ELL文档中心(官网):https://8051-ell-web.vercel.app 8051-ELL API文档中心:https://8051-ell-api.vercel.app/index.html QQ技术支持群:1001220381

一、基本架构

设计框架上,ELL分为三个组成部分,分别是片内外设库、组件库、设备驱动库。片内外 外设库是核心库,包含MCU的片内外设驱动,是ELL的核心组成;组件库和设备驱动库,开放 给开发者,可以编写自己的驱动和移植软件包。

文件细节上,ELL有lib文件夹和project文件夹组成。

lib文件夹包含startup文件夹、core文件夹、peripherals文件夹、compponents文 件夹、drives文件夹。startup文件夹存放启动代码,是汇编语言;core文件夹存放MCU的 寄存器文件和ELL核心数据类型文件,同时它还负责管理MCU的中断(比如定义中断号);其他 文件夹和设计框架一一对应。

project文件夹,存放Keil-C51工程,后续会支持IAR和SDCC。具体包含main文件夹、 application文件夹、build文件夹。main文件夹存放系统的初始化文件和中断服务函数文件; application文件夹存放开发者自己的代码;build文件夹存放编译的烧录文件和汇编文件。

二、数据结构

ELL采用了面向对象的封装思想,但是考虑51的资源和性能,又做了一些调整和取舍。对 于同类外设,且工作模式的外设,采用结构体+枚举体的方式封装;对于单个外设,且比较抽象 的,采用函数传参完成封装,但是传参的参数,仍然采用枚举体或者格式统一的宏来封装。

结构体+枚举体的封装里,枚举体作为结构体成员,主要是负责某一个功能或参数的设置, 而包含这些枚举体成员的结构体,往往代表一个外设的全部信息。

除此之外,ELL灵活运用了宏的特性,具体有宏函数、控制宏、宏传参。宏函数是对寄存器 操作进行封装,以保证执行效率的同时,提高可读性;控制宏用来裁剪ELL的功能和做一些配置 工作。

三、代码编写准则

1.宏命名:全部采用字母大写; 2.变量命名:采用动宾结构,单词过长要缩写(保留三个字母),单词之间用_连接 全局变量说明:要加前缀'G_' 局部变量说明:首字母小写 5.函数命名:名字+动作形式,单词首字母大写,单词之间用_连接 函数传参说明:首字母小写 6.代码注释规范:采用Doxygen规范,具体细节可参考库源代码。

C
1
https://gitee.com/aycma/ELL-8051-LIB.git
git@gitee.com:aycma/ELL-8051-LIB.git
aycma
ELL-8051-LIB
8051-ELL-Old
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891