分享一个轻量级的嵌入式设计框架.docx

上传人:p** 文档编号:1110958 上传时间:2024-07-25 格式:DOCX 页数:13 大小:118.46KB
下载 相关 举报
分享一个轻量级的嵌入式设计框架.docx_第1页
第1页 / 共13页
分享一个轻量级的嵌入式设计框架.docx_第2页
第2页 / 共13页
分享一个轻量级的嵌入式设计框架.docx_第3页
第3页 / 共13页
分享一个轻量级的嵌入式设计框架.docx_第4页
第4页 / 共13页
分享一个轻量级的嵌入式设计框架.docx_第5页
第5页 / 共13页
分享一个轻量级的嵌入式设计框架.docx_第6页
第6页 / 共13页
分享一个轻量级的嵌入式设计框架.docx_第7页
第7页 / 共13页
分享一个轻量级的嵌入式设计框架.docx_第8页
第8页 / 共13页
分享一个轻量级的嵌入式设计框架.docx_第9页
第9页 / 共13页
分享一个轻量级的嵌入式设计框架.docx_第10页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《分享一个轻量级的嵌入式设计框架.docx》由会员分享,可在线阅读,更多相关《分享一个轻量级的嵌入式设计框架.docx(13页珍藏版)》请在第壹文秘上搜索。

1、现在嵌入式设计的要求,比以前要求更高了,这个时候还是建议大家要掌握一套或多食软件框架,以使随时派上用场。今天就来分享一个开源的轻量级的嵌入式设计框架:11r-1.ibrary.1.ibrary简介MR框架是专为战入式系统设计的轻舒级框架.充分考虑了嵌入式系统在资源和性能方面的衢求.通过提供标准化的设备管理接极大简化了嵌入式应用开发的难度,帮助开发者快速构建嵌入式应用程序。框架为开发者提供了标准化的开启(open)、关闭(c1.ose)、控制(ioct1.)、读(read)、写(xritc)等接口。它将应用程序与底层硬件飘动进行解糖。应用程序无需了解第动的实现细节.当硬件发生改变时,只需要适配底

2、层卵动,应用程序就Ur以无缱迁移到新顽件上。这大大提高了软件的可乖用性和应对新硬件的可扩屣性.mr-1.1.brary!iiro)-JI0)E1.-IX1.I1.IsI1.*H8IIqI1.IhIH-I项目结构图 标准化的设招访问接口 应用程序和驱动开发解耦 简化底层出动和应用程序开发 轻鼠易上手,资源占用低 模块化设计,各部分解耦台井独立开发,极低的硬件迁移成本 支持在裸机环境和操作系统环境下使用要蛆 设备框架:提供设备访问标准接口 内存管理:动态内存管理 工具:链衣、队列、平衡树等常用数据结构 各类功能组件准化设备接口设备的所有操作都可通过以卜接口实现:接口描述mr_devregister

3、注册设备mr_devopen打开设备mr_dev_c1.ose关闭设备mr_dev_ioct1.控制设蔷接口描述mrdevread从设备读取数据mrdevwrite向设备写入数据示例:structnr_spi_devspi_dev;IntJia1.n(VO1.d)(注册SPneiSJfrcs饪电平有效)spii总线上”,r-.5pi.dev-register(Sspidev,*spi1.spi1.,j,MR_SPI_CS_ACT1.VE_1.0W);/*打开SPn总线下的SPneiQ备*/intds=mr_dev_openCspi1./sp1.1.0MR_0F1.AG_RDkK);/发送数据/

4、Uint1.tMbufJ-GxG1.48x02,8x03,4);nr_dev_Mrite(ds,WrJnJf,SfZeof(.rjuf);/ui11t8-trd-buf4j-);nr-dev-read(ds,rd_buf,sizeo(rd-bu);/“关闭设备/6drerWMIVWMXW文gwide202V1130117女央tourerWV11/301106如也KCOn69他切1/2915:16IKBEKogpy20?W1.1.A81&2MtfirmPyOw.2KBUCtFmW11216c5912KBREADM1.md2023/11/301(X44Mkdo*n4KBMADM1.JNmd20?V

5、1.1/2914:11MerkckmviSKI工程目录1将文件加入到IDE中(大部分IDE都能自动识别工程路径下的文件.无需进行此步骤).以kei1.为例:工程目录Kei1.添加SOUrCe、device、driver目录下的所有文件。配置菜单选项在r-1.fbrary目录下打开命令行工具.运行menuConfig进行菜单配置.工程目录2注:当添加对应芯片驱动的后.将显示DeViCeCOnfigUre和DriVerconfigure.对应DriVerconfigure请参考BSP下教程。选中DeV1.CeConfigUre回车进入菜单,按照.需要闻置功能.tnAw(3tw1.w1.1.WA工程

6、目录3配置完成后.按Q退出菜单配&界面,按Y保存配置.生成配置文件1.在mr1.ibrary目录下打开命令行工具,运行PythonkConfig.py,ER配置文件mr-config.h.添加包含路径在编译器中添加mr-1.ibrary的包含路径,以kei1.为例:1R1.ir三/Ia32T-工程目录4配置自动初始化(GCC环境),自找您工程下以.Id为后缀的连接脚本文件(通常为Iink1.d).在脚本文件中添加代码:注:如果您的是在kei】等,能够自动生成於接脚木的环境下,请跳过此步9以*mr-1.ibraryautoinit*/.=A1.IGN(4);mrautoinitstart-.KE

7、EP(SORT(.auto-inif)mrautoinitend=.示例:51SECTIONS.init:(sinit-.;.A1.IGN(4);KEEP(*SORTNOHEF1.ASHATF1.ASH.vector:( (.vector; A1.IGN(64);)FISHATFTSH.text:.-A1.IGN(4);*4(.text.*) (.rodata)*(.rodata) (.gnu.1inkonce.t.*) =A1.IGN(4);amr-1.ibraryautoinit/.-A1.IGN(4);KEEP(a(SORTF1.ASHATF1.ASH工程目录鼠置GNU语法。如果您使用的

8、是非GCC*译器,请使能GNU语法,以kci1.为例:ACS:APKX向热CQ-一IWI=sw*u三*H,1.anguage/CodeGeneratcnBdECodtOptfwonO13FIJi(TIneOPemUbOnSptbMddorMJtFOneE1.FSecbperRncbonCncIUtiIiH”Prtrocecdgnu99-4arge(rm-fmweeabcpuoo*iMMfPU如VydI6,oabi4wd4nott1.4ungdhrhhtoeCg9MXJ1.TunWTingeno&m1.gUeC-:fc033P1.anOwsSgnedPShoKerradarReX6yPstoon

9、IndependertueRT11ReddMKePMcnhdependertFNoAutohdudeXOmhc/OvtrvSTM步4ei_HA1._DrbV7M/DrwSTM32F4三x.HA1.JyhcU9cy工程目录7在您的工程中引入#inc1.udeinc1.ude/mr_1.ib.h,在main函数中添加mr_auto,nit();白动初始化函数.来点个灯吧inc1.udeinc1.ude/eire1.ib.h/定义1.ED引抑PC13)/Udefine1.ED_PIN_NUKBER45Inta1.n(void)(/,自动初始化/三r-autoi11it();/打开P1.N设各/Intds=mr_dev_open(*pin-,MR_OF1.AG_RDXR);设置到1.ED引脚*/fir_dev_1.oct1.(ds,MR_CT1._PIN_SET_NUKfiER,r_makeJoca1.(it,1.EJP1.NJaMBER);/-1.ED没脚为推挽输为横式/fir_dev_10Ct1.(ds,MR_CT1._P1N_SET_MOoE,GJmake_】Oca1.CnaMR_PIN_MOOE_OUTPUT);Whi1.e(I)(*点先IED/mr-dev-writ

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 嵌入式开发

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!