S32KSDK使用详解之KeilMDK开发S32K1xx系列MCU应用程序(使用ProcessorExpert配置SDK)汽车电子expert成长之路电子技术应用AET中国科技核心期刊

1.通过KeilIDE的PackInstaller在线安装S32KSDKpack

2.升级KeilPack中EAR0.8.6的S32K14xSDK到RTM2.0.0版本

2.1通过packSDK安装目录下的ReleaseNotes确定SDK版本

2.3将KeilpackSDK安装目录下的middleware、platform和rtos三个文件夹替换为RTM2.0.0SDK的,以实现SDK升级

3.新建S32K的Keil应用工程并选择使用SDK

3.1创建S32K的Keil应用工程

3.2选择和配置S32KSDK驱动

4.在S32DSforARMv2018.R1中使用ProcessorExpert图形化配置生成SDK驱动配置文件

4.1新建S32K144的S32DS应用工程并选择使用S32K14xSDKRTM2.0.0

4.2从ProcessorExpert的ComponentLibrary中添加SDK驱动组件

4.3根据S32K144-EVB硬件设计配置SDK组件

4.4生成SDK配置代码

4.5将ProcessorExpert生成的S32KSDK配置代码拷贝添加到Keil应用工程中

5.设置S32KKeil应用工程选项与在Keil中调用S32KSDK

5.1设置Target使用MicroLIBC语言库

5.2设置KeilC/C++编译器配置

5.3设置Keil汇编代码编译器配置

5.4设置Linker的链接文件使用SDK提供的S32K144_64_flash.sct

5.5调用S32K14xSDK驱动及添加测试应用程序

①用户按键GPIO输入中断ISR

②main()函数调用时钟初始化、GPIO引脚初始化、GPIOIRQ中断使能及ISR安装、ADC模块初始化和自校准(AutoCalibration)以及LPUART串口初始化函数

③main()函数主循环中调用ADC软件触发采样转换及转换结果读取API,并将结果通过LPUART串口阻塞发送API函数发送给PC电脑

5.6编译KeilSDK应用工程

6.使下载调试和测试S32K的KeilSDK应用工程

6.1设置编译目标为Flash,将应用程序下载到S32KFlash中进行调试,掉电程序不丢失

6.2设置编译目标为SRAM,将应用程序下载到S32KSRAM中进行调试,掉电后程序丢失

总结

ARM公司的Keil,也被称为KeilMDK(MicrocontrollerDevelopmentKit)集成开发环境(IDE)是很多ARM内核控制器开发者的首选工具链,原因如下:

①Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。其方便易用的集成环境、强大的软件仿真调试工具让MCU的应用工程开发事半功倍;

②Keil是与IAR齐名的专业MCU编译器,其编译效率非常高,并对业界的几乎所有调试器(debugger)都支持,相对GHS和Windriver来说,性价比较高;

④KeilIDE的ARM编译器的界面保持了与之前C51编译器一致,都十分简洁易用,让很多之前使用51单片机的庞大用户群体能够无缝升级;

NXP的S32K1xx系列汽车级通用MCU,使用ARMCortexM0+/M4F内核,也当然可以使用KeilMDK开发其应用程序,但是在NXP提供的SDK中,并不直接支持KeilMDK:

然而,Keil公司在2017年年底通过其packinstaller提供过一般SDK的支持包:一方面,其使用的SDK版本是EAR0.8.6,是早期版本,存在很多bug,因此,并不推荐用户使用;另一方面,Keil中无法像S32DSIDE一样使用ProcessorExpert对S32KSDK进行图形化配置从而自动生成SDK驱动配置文件;

为此,本文详细介绍KeilIDE中S32KSDK的pack安装、SDK升级至RTM2.0.0、使用S32DSIDE的ProcessorExpert为S32KKeil应用工程配置S32KSDK,S32K的Keil应用工程编译器、链接器设置,编译链接和调试等,并提供了配套的demo工程供大家参考学习,希望对大家有所帮助。

下载安装MDK(Keil5)IDE,这里使用最新的Keilv5.27。只有Keilv5.24及以上版本才支持S32K1xx系列MCU。

打开安装好KeilIDE,在下图中点击其菜单栏PackInstaller的快捷图标即可打开补丁包安装器:

然后,在补丁包安装器--PackInstaller,在线(online)搜索S32K下载安装其最新的SDKpack,请保持电脑网络连接正常:

安装完成后,结果如下:

这样S32KSDK作为Pack,就被安装在Keil的安装目录下了。其中,

通过检查每个安装目录下的ReleaseNotes.pdf,可以确定该pack中的SDK版本:

可以发现,Keil的pack中包含的SDK版本较老,还是EAR0.8.6的,并非推荐使用的RTM版本。所以需要更换为最小的RTM版本,这里替换为S32K14xRTM2.0.0,具体方法和步骤如下:

①目录platform/devices/S32K144/startup下的arm文件夹

Tips:该文件夹包含个partnumber的启动汇编文件--startup_S32K14x.s,需要备份S32K142/4/6/8相应子目录以支持整个S32K14x系列:

②目录platform/devices下的startup.c启动文件

③目录platform/devices/S32K144/linker下的arm文件夹

Tips:该文件夹包含个partnumber链接文件--*.sct,分散加载文件,需要备份S32K142/4/6/8相应子目录以支持整个S32K14x系列:

④目录platform/drivers/src/interrupt下的interrupt_manager.c文中断管理器驱动源文件

①将KeilpackSDK安装目录下的middleware、platform和rtos三个文件夹删除:

②然后,将S32DSforARMv2018.R1安装目录下S32K14x_RTM_2.0.0文件夹下的middleware、platform和rtos三个文件夹拷贝到Keil的S32Kpack安装目录下:

使用该压缩包,大家可以省略步骤2.2的备份工作;

大家将其下载后,在2.4步骤,将压缩包拷贝到KeilpackSDK安装根目录下,右键->解压到当前文件夹(X),覆盖新的SDK即可完成升级最后一步Keil工具链移植代码恢复:

在解压过程中确认文件替换窗口中,选择“全部选是(A)”:

选择菜单Project->NewUvisionProject...创建应用工程:

选择保存路径,并输入应用工程名,点击“save”保存:

选择MCU型号(Device)和软件pack,这里测试硬件平台使用S32K144EVB,其partnumber为FS32K144UAVLL,LQFP-100引脚封装,故选择S32K144UAxxxLLx即可:

Tips:在以上窗口中,可以通过搜索快速找到具体的partnumber,S32K1xx系列MCU的partnumber命名规则如下:

在Keil的ManageRun-TimeEnvironment窗口中,选择需要使用到的SDK驱动和BSP及中间件协议栈等;

这里,为了测试S32K144-EVB的ADC模拟输入、GPI按键输入和LED输出以及LPUART窗口通信,选择如下:

BoardSupport(BSP):(S32K144-EVB)

Tips:不能选择这里的BSPAPI,因为其调用的还是老版本SDKERA0.8.6的驱动,其与我们更新的RTM2.0.0不兼容;

Device:

eDMA:由ADC驱动、LPUART及其他通信外设驱动使用;

Device->SDKDriver中选择的SDK驱动具体如下:

Tips:在选择SDK驱动时,Keil会Validate用户的选择,找出其中的依赖关系,比如选择S32K144-EVB的LED组件时,其依赖其SDK的PINDriver和Clock驱动,点击“Resolve”即可自动选择添加相应SDK驱动:

Tips:Keil应用工程的SDK配置可以在开发过程中随意增加和删除,通过KeilIDE的ManageTun-TimeEnvironment快捷图标即可打开:

选择好SDK驱动之后,其相应的底层驱动代码就会被添加到应用工程中:

在S32DSforARMv2018.R1中新建一个S32K144的应用工程,选择使用同样的S32K14xSDKRTM2.0.0:

为了配置生成Keil应用工程中SDK驱动的配置文件,在S32DS应用工程中,添加相应的SDK组件--ADC、LPUART,PINS、Clock_Manager、Interrupt_Manager、eDMA和osif等:

根据S32K144-EVB的以下硬件设计:

S32K144-EVB上有一颗三色RGBLED,低电平点亮,高电平熄灭:

RGBLED的S32K144MCU引脚分配如下表:

RGBLED

S32K144GPIO

方向

BLUE

PTD0

输出

RED

PTD15

RGEEN

PTD16

S32K144-EVB设计了两个下拉到地的用户机械按键作为GPIO输入,可做GPIOIRQ上升沿中断测试:

USERBUTTONS的S32K144MCU引脚分配如下表:

USERBUTTONS

BTN0

PTC12

输入下拉

PTC13

S32K144-EVB设计了一个5K的滑动变阻器连接到S32K144MCU的ADC0的12通道,以测试ADC模拟信号采集转换功能:

外部滑动变阻器的S32K144MCU引脚分配如下表:

外部滑动变阻器

ADC通道

POTENTIOMETER

PTC14

ADC0_SE12

S32K144的LPUART连接到S32K144-EVB的板载OpenSDA虚拟串口:

LPUART1的S32K144MCU引脚分配如下表:

LPUART1

TXD

PTC7

输入

RXD

PTC6

完成以上SDK驱动组件配置后,点击GenerateCode,即可生成需要的SDK配置代码:

Tips:在S32DSIDE应用工程中,打开任意C代码源文件,在编辑窗口中,右键->ShowIn->SystemExplorer,即可在Windows的资源管理器中打开其所在的文件夹目录:

在Keil应用工程工程根目录下新建ProcessorExpert_Generate_SDK_ConfigFiles和Application文件夹,并将S32DS应用工程中ProcessorExpert配置生成的代码和main.c拷贝到相应目录下:

并在Keil工程中,创建两个同名的group,将相应目录下的所有文件添加到Keil应用工程中:

若在应用程序中要使用C语言标准库,比如stdio.h中的标准输入输出函数,则需要使能使用MicroLIB库,方法如下:

在Keil工程的目标选项(OptionsforTarget)的Target一栏勾选UseMicroLIB选项如下:

在Keil工程的目标选项(OptionsforTarget)的C/C++一栏设置其C/C++编译器选项如下:

在Keil工程的目标选项(OptionsforTarget)的Asm一栏设置其汇编编译器选项如下:

在linker设置中,将默认的"UseMemoryLayoutfromTargetDialog"选项去勾选,然后手动选择S32K144_64_flash.sct作为工程链接文件(ScatterFile,分散加载文件):

完成以上设置之后,在keil应用工程中就可以使用S32K14xSDK了,只需要在调用SDK驱动的C源代码文件中,包含Cpu.h头文件即可:

#include"Cpu.h"

针对本例测试,在main.c中添加如下代码:

①用户按键GPIO输入中断IST

Tips:以上代码中使用了S32K14xSDK的中断管理器(Interrupt_Manager)组件的中断ISR安装API函数--INT_SYS_InstallHandler(),故需要将MCU的中断向量表重映射到SRAM中,所以需要修改工程的分散加载文件--,S32K144_64_flash.sct在其开始处定义宏--__ram_vector_table__:

#define__ram_vector_table__1

完成以上代码之后,编译即可:

选择编译和调试目标为“S32K144_DebugFlash”进行编译:

编译完成后,在工程目标选项的Debug配置中,选择使用合适的硬件调试器:

然后又点击Keil菜单栏的调试进入图标,即可进入调试,并运行至默认的main()函数第一行的断点:

全速运行,或者重新复位S32K144-EVB板,即可发现测试功能工作正常:

Tips:Keil除了可以支持ULINK和JLINK这样的专业调试器对S32K系列MCU进行程序下载和调试器之外,还支持使用S32K144-EVB板载OpenSDA或者PEMicro的U-Multink作为调试器下载和调试S32K的KeilSDK应用工程。

具体方法和配置,请参考Keil官网通过的以下应用笔记(其中还包含了诸多KeilIDE的编译器使用和Debugger软件使用Tips,是学习KeilIDE不可多得的参考资料,强烈推荐):

选择编译和调试目标为“S32K144_DebugRAM”重新编译应用工程:

然后,在工程目标选项的Debug配置中,选择使用合适的硬件调试器:

Tips:这里实现将程序加载到MCUSRAM中进行调试的关键是:在以上配置界面中,去勾选“loadApplicationatStartup”,选择InitializationFile,使用工程根目录下的Dbg_RAM.ini初始化脚本,其通过控制脚本实现了从编译结果*.axf中读取并设置CPU内核堆栈指针(SP),程序计数器(PC)和中断向量表偏移地址(VTOR)设置,复位并加载编译器结果到MCUSRAM以及脚本命令控制运行到main()函数等工作:

DebugRAM的调试结果如下:

与DebugFlash一样,可以实现相同的调试功能,全速运行,测试结果与DebugFlash一致。

Tips:DebugRAM时,中断向量表和应用程序被编译到SRAM中了,不占用MCU的Flash资源,所以其不会破坏原有MCUFlash中的程序,且下载过程无需擦除和编程Flash,所以下载速度非常快,也因此,其常被用作外设/应用程序快速验证或者产品量产后做失效分析(FA--FailureAnalyze)进行硬件外设模块功能验证。其掉电后,程序丢失。其实,即使下载后未掉电,SRAM中的程序不会丢失,此时复位MCU,SRAM中的程序也不会执行,因为MCU复位后默认的中断向量表在0x0000的Flash地址;

本文详细介绍了ARMKeil5.27IDE中使用S32KSDK开发S32K应用程序的方法和步骤,以及如何将S32DS中ProcessorExpert图形化配置和生成的S32KSDK配置文件添加到Keil工程中使用的方法和步骤。

同样的SDK代码,在不开编译器优化的情况下:

使用Keil编译的结果如下:

使用S32DSv2018.R1(gccv6.3)编译的结果如下:

可以看到,Keil和S32DS编译的结果,占用SRAM资源相差不大,但占用的Flash(代码编译结果存储器)空间却只有S32DS编译结果的一半不到(15.72kB.vs33.45kB);

代码编译效率提高了一倍多!!!

除了本文的Keil开发S32K应用程序及SDK使用之外,Keil官网也提供了以下三个应用笔记和丰富的demo工程,供大家参考学习:

THE END
1.zilibrary.com子域名大全zilibrary.com二级域名zilibrary.comzilibrary.com 更多子域名 最新域名查询 www.11bjc9s.com www.mm74.com www.banzhu44444.com www.87d07.com 73bd2.com www.9400344.com wwwsegui123.com wwwby2259.com www.yymh1271.com www.xfcbrz.com www.m5b2.com www.kj3650.com www.iqdy.com www.3zphqx7.com www.188785.com 最新iP查询 https://site.ip138.com/zilibrary.com/domain.htm
2.Ylibrary官网,轻松下载Zlibrary海量书籍Ylibrary是一个热门的图书搜索网站&程序、归属于无峰导航中的搜索查询导航。目前已经有(28.8K)人浏览过Ylibrary,广受网友们的一致好评。感兴趣的朋友户,欢迎通过提供的Ylibrary网址入口访问。实际体验! Ylibrary分类导航 聚合搜索BT磁力搜索图书搜索图片搜索网盘搜索信息查询考研标准专利学术名站学术基金学术导航科普知识https://www.8kmm.com/sites/6409.html
3.Zilibrary资源轻松获取指南,详细下载指南助你轻松找到所需资源本文旨在为广大热爱阅读的朋友们提供关于如何使用Zilibrary这一电子书籍平台的详细指南,从了解平台的基本信息开始,逐步介绍如何下载书籍的详细步骤,包括可能遇到的问题及解决方法,提高下载效率的建议以及使用平台的小技巧,提及慈云数据等先进技术在助力用户获取和享受数字资源方面所发挥的重要作用。 https://www.zovps.com/article/index.php/post/412333.html
4.EEA资源库-产品介绍.docx EA学术资源库涵盖了13万种外文期刊、1.4亿条外文文献数据、26亿条引文数据,提供7000万篇全文下载。全面覆盖科技、医学、农业、交通、航空航天、社会科学、艺术与人文科学等全球研究成果。资源库使用大数据分析和人工智能(AI)技术,将散落于互联网中的外文文献信息进行汇聚整合,并对海量文献数据https://lib.qlu.edu.cn/2024/1217/c1253a250485/page.htm
5.科研干货这11个免费科研工具网站,让你的科研效率翻倍苏苏为您分享11个免费科研工具网站,帮你告别词穷、读懂外刊、追踪文献、搞定翻译、解除限制……甚至轻松制作PPT。一身好装备,提高科研效率。 01 学术写作词句库:Phrasebank 网址: https://www.phrasebank.manchester.ac.uk/ 对于中国科研人员而言,不论是刚开始学习进行英文学术写作,还是具有一定的科研经验,在写作英文论https://zhuanlan.zhihu.com/p/13362651959
6.jenkins开源共享库jenkinssharedlibrary实战一、sharedLibrary介绍 1、什么是sharedLibrary 由于公司内部项目众多,大量的项目使用同一套流程做CICD 那么势必会存在大量的重复代码 一旦某个公共的地方需要做调整,每个项目都需要修改 主要通过使用groovy实现Jenkins的sharedLibrary的开发,以提取项目在CICD实践过程中的公共逻辑,提供一系列的流程的接口供公司内各项目调用https://blog.51cto.com/u_12947/10699463
7.ASP.NETCore适用于.NET的开源Web框架这本免费电子书向 ASP.NET Web Forms开发人员介绍了 Blazor。它与 ASP.NET Web Forms 中的类似概念并行引入了 Blazor 概念。 下载PDF 在Web 上查看 ASP.NET Core architecture e-book 本指南提供有关使用 ASP.NET Core 和 Azure 构建整体 Web 应用程序的端到端指南。 https://asp.net/
8.scikitlearn:machinelearninginPython—scikitExamples Dimensionality reduction Reducing the number of random variables to consider. Applications:Visualization, increased efficiency. Algorithms:PCA,feature selection,non-negative matrix factorization, andmore Examples Model selection Comparing, validating and choosing parameters and models. http://scikit-learn.org/
9.档次NationalLibraryofChina/国家图书馆品牌介绍国家图书馆品牌介绍 国家图书馆品牌,英文名NationalLibraryofChina,创建于2014年,自成立以来,国家图书馆品牌为客户提供很好的产品、良好的技术支持、健全的售后服务,逐渐成为行业内知名企业品牌国家图书馆主营产品涵盖等领域。 国家图书馆品牌的线上店铺有国家图书馆旗舰店,主营的产品有:3C数码等,国家图书馆的质量及价格https://www.paizi10.com/pinpai/guojiatushuguan.html
10.library.skshu.com/yyys64239469.htm应用介绍 一,无码 专区 天堂,朝鲜美女BBwBBw高潮 二,热8899久久公猪美女,黑人大吊日亚洲女人小穴 三,丝袜老太欧美黄片,中文Vs无码人妻 四,2.0万,黑人Fuck日本人ⅩXXXHD 五,91爱逼逼,调教淫荡爆乳美人妻 六,www日本无毛在线,日女人的一级视频 七,香蕉视频999黄色网站,91如如影院 【联系我们】 客服热线:1617-http://library.skshu.com/yyys64239469.htm
11.安徽师范大学物理与电子学院导师教师师资介绍简介舒新文8. Zheng, Wei,Shu, Xinwen,Moustakas, John,Zitrin, Adi,Ford, Holland C., Huang, Xingxing,Broadhurst, Tom,Molino, Alberto,Diego, Jose M.,Infante, Leopoldo,Bauer, Franz E.,Kelson, Daniel D.,Smit, Renske,YOUNG GALAXY CANDIDATES IN THE HUBBLE FRONTIER FIELDS. I. A2744,AstrophysicalJournal,http://school.freekaoyan.com/ah/ahlg/daoshi/2021/04-24/16192717161432734.shtml
12.CadencePSpice仿真定时开关SwtClose和SwSw_tClose是定时关闭开关,Sw_tOpen是定时打开开关,在Cadence\tools\capture\library\pspice\anl_misc.olb中可找到它们。 本文不仅介绍了这两个开关,还介绍了与之相关的PSpice语法。 1. 定时关闭开关Sw_tClose 图1-1 Sw_tClose的原理图符号 原理图中添加Sw_tClose后,双击它可进入下面属性界面。 https://cloud.tencent.com/developer/article/2243053
13.PBC教程超详细图解—如何在VS2015中配置PBC库1、PBC库介绍 PBC库的全称为:The Pairing-Based Cryptography Library,即,基于配对的密码学库。 官网为: https://crypto.stanford.edu/pbc/ PBC库是一个非常经典的密码学基础库,主要是用于做配对密码学编程。目前PBC已经有多个编程语言的实现了。其中用于Java的又一个独立的名字叫JPBC。 https://www.shangyexinzhi.com/article/4238821.html
14.课堂秀创新设计学院第二季国际联合设计教学工作坊即将启动导师介绍:2019级 导师组 1 课程名称:光迹迷航 Course Name:Visions in Light 导师组:Ziv Ze’ev Cohen 、陶然、李心夷 Tutor group:Ziv Ze’ev Cohen, Ran Tao, Xinyi Li 助教:陈依清 、房梓 Teaching assistant:Yiqing Chen 、Zi Fang 学生:1-1-A+1-1-B https://www.thepaper.cn/newsdetail_forward_7761577
15.libraryLibrary解决方法华为云为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:library。https://www.huaweicloud.com/theme/197563-2-L
16.zilibrary分享8赞 看世间如梦似幻吧 喝白酒的狐狸 【文学】日本文学巨著:源氏物语日文全书: http://etext.virginia.edu/japanese/genji/original.html 汉译本: http://www.angelibrary.com/oldies/zi_shi_bu/ys/ 分享35赞 kindle吧 永远的任饭 看到新的一代499我很心动,请问新一代除了4G内存,和老的一代比会有什么https://tieba.baidu.com/mo/q/hybrid/search?keyword=zi-library
17.上海豫园英文导游词(合集)shanghai library the new shanghai library, which covers an area of some 80,000 square meters, has a collection of 13 million books and is considered one of the top ten libraries in the world. the library incorporates the open-stacks approach favored in the west, which allows for conveniencehttps://www.jy135.com/daoyouci/757267.html
18.数字图书馆Zlibrary数字图书馆-Zlibrary 免费的数字图书馆,图书种类丰富,统统免费下载!找个好的阅读器开始书香之旅吧! 介绍: Zlibrary是全球最大的数字图书馆,自2009年免费的图书馆,里面包含各种文学著作,理工学科,人文艺术、学术论文等应有尽有,书籍提供多种格式下载,包括PDF、epub、mobi等格式下载!https://www.zaera.cn/6429.html
19.WileyOnlineLibrary数据库介绍及使用技巧科学学术医2000 印度 儿童 《Wiley Online Library 数据库介绍及使用技巧|科学|学术|医》剧情简介:伊能静几十年以来没有停止阅读和成长内心得到了滋养人也更有有格局和眼界所以琅琊地灵变得如此难缠原因还在方源的身上Wiley Online Library 数据库介绍及使用技巧|科学|学术|医炎突操纵双蛇的确是精妙无双让人防守起来顾此http://episodespeakers.cn/sdt/7zjyos3h.html
20.KeilMDK中的CodeROdataRWdatZISQL(Structure Query Language)是数据库操作的的核心语言,下面我们通过一张图来作个简单的介绍: DDL(Data Definition Languages)语句: 数据库定义语句:用来创建数据库中的表、索引、视图、存储过程、触发器等 常用的语句关键字有:create全网最详细解释Keil-MDK中Code、RO-data、RW-data、ZI-data的含义 我们在https://www.pianshen.com/article/23231556633/
21.丹佛大学Library UWP组织 DU生活 2学院设置 本科课程 研究生课程 3杰出校友 政界 商界 传媒界 体育界 文艺界 科学界 4排名 5录取条件 本科申请条件 研究生申请条件 6世界排名 世界大学排名 美国国内排名 7专业介绍 强势专业 本科 硕士 博士 MBA 语言中心 专科 8录取情况 9校园情况 10学院概况 11词条图册 1简介编辑 学https://baike.sogou.com/v7674960.htm
22.esp8266应用教程——TFTLCD显示esp8266虽然硬件资源比较少,但是用它驱动LCD并做一些简单的应用还是可以的。本文介绍的软件开发基于Arduino,esp8266开发的方式有很多,对于功能较为简单的项目或者前期方案验证,用Arduino是最简单最直接的。https://www.eefocus.com/article/1677064.html
23.轻量级或工业级容器管理工具Containerd一Containerd介绍轻量级或工业级容器管理工具 Containerd 一、Containerd介绍 1.0 前言 早在2016年3月,Docker 1.11的Docker Engine里就包含了containerd,而现https://juejin.cn/post/7139899634754781215
24.Zlibrary阅读器app下载软件介绍 技巧攻略 全部平台 标签:阅读器 介绍 一款轻便的阅读器 Zlibrary阅读器是一款实用的书籍阅读工具! 可导入书籍、自定义封面、标题,建立自己的书架! 可随意设置字体、亮度、间距、日间、夜间等阅读等模式! 可随时记录阅读心得笔记,丰富拓展您的知识! 不管是你追更新还是追全本,它都能够给你很好的体验! https://m.liqucn.com/rj/9019965271180.wml