之前发过一个帖子,是STM32移植了一个pdf库
不过那个库功能比较简单,有很多东西都没有,比如加载图片和文件加密
这次主要是为了文件加密
翻阅了一下资料,单片机做PDF文件,网上资料不是很多,可以说基本上找不着,github上翻源码,翻了几次都是我的代码
目前两个比较好的PDF C语言库,一个是pdflib,个人用是免费的,商用得花钱,1000欧元,一个是libharu,开源免费
很明显,我不是个有钱人,直接选libharu
1.获取libharu源文件
libHaru
点击链接下载
目前是2.3版本
2.在Ubuntu上试用
这个就不重点说了,反正装个cmake,然后build就行了。具体步骤百度一下吧,几分钟的事情,代码没毛病,不会报错
3.在单片机上移植
目前选用的平台是STM32F407Z+SD卡
把lib库放到源码内,另外需要一个内存管理的文件,取代linux中的memory.h,这个自己百度搜一下,怎么在RAM里面实现内存管理
把所有的文件加入工程
添加头文件
修改配置文件
别问,直接全部#undef,反正单片机没有这玩意
其中有两个要打开
搞完之后编译,会报几个time.h和memory.h找不到的问题,自己处理一下,屏蔽相关代码就好了
直至编译通过
自己的工程,首先要实现fatfs的功能,我是实现了fatfs和U盘的功能,一个意思
为libharu修改接口
反正不管上层什么逻辑,底层肯定是操作文件系统,把这几个函数实现出来,都是fatfs里面现有的东西
到demo里面,随便搞几个测试代码出来
我试了下加密文件
这里最关心的应该是占用的资源
RAM里面有30K是我开放给这个库的
也就是说需要一个64K RAM,256K ROM以上的单片机才行