tinyxml移植(基于fatfs文件系统)

本文介绍如何将TinyXML解析库移植到嵌入式设备上的FatFS文件系统,涉及修改TinyXML源码以适应FatFS的文件操作,并讨论了移植过程中需要注意的fatfs配置,如启用f_printf支持。
摘要由CSDN通过智能技术生成

    嵌入式设备组织大量数据的时候,由于先天的不足,在数据组织的时候往往需要自己定义数据结构。在上一个项目中,我尝试使用xml格式对病人信息和心电数据进行组织,使用tinyxml解析库,没想到很容易调通,这里介绍一下我基于fatfs文件系统移植tinyxml,至于tinyxml的使用,网络上很多这方面的资料,就不介绍了。

   tinyxml是由C++编写的一个基于文件结构解析的解析库,需要将文件加载到内存,所以在解析的时候往往会占用比较大的内存。所以如果你的设备内存只有几k的话,估计设备内存不够。不过网上有基于数据流解析xml的开源库Expat,Expat不需要将文件加载到内存,对内存要求不高,有兴趣的可以去研究研究。tinyxml说大不大,说小也不小,对于一个长期和C语言打交道的码夫来说,C++确实蛮让人嫌弃的。另外基于C++语言编写,所以你的编译器需要支持C++语言,还好现在主流的GCC和ADS这2款比较大众的交叉编译器都支持C++。

  上面说了,tinyxml需要将xml文件加载到内存,所以tinyxml在不同设备下面移植的重点就是怎么把文件加载到内存,如果生产xml文件,则还需要涉及到怎么把数据写入xml文件。从我移植的经验来看,tinyxml只需要修改与文件系统相关的tinyxml.cpp和tinyxml.h这2个文件,以及修改tinystr.h这个文件的一些包含头文件属性。

   基于fatfs文件系统,先看看fatfs支持那些文件操作。

  f_mount - 注册/注销一个工作区域(Work Area)

  f_open - 打开/创建一个文件f_c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值