在线时间828 小时
UID3079326
注册时间2015-2-11
NXP金币12
TA的每日心情 | 郁闷 2022-4-4 11:28 |
---|
签到天数: 351 天 [LV.8]以坛为家I
金牌会员
- 积分
- 5740
- 最后登录
- 2022-4-4
|
下载了LPC54114音频库解压后的目录:
先从零开始吧,这个音频库是基于RT-Thread RTOS的,这个是国产的RTOS,先支持个。
官网的介绍:
RT-Thread是一款来自中国的开源嵌入式实时操作系统,由国内一些专业开发人员从2006年开始开发、维护,除了类似FreeRTOS和UCOS的实时操作系统内核外,也包括一系列应用组件和驱动框架,如TCP/IP协议栈,虚拟文件系统,POSIX接口,图形用户界面,FreeModbus主从协议栈,CAN框架,动态模块等,因为系统稳定,功能丰富的特性被广泛用于新能源,电网,风机等高可靠性行业和设备上,已经被验证是一款高可靠的实时操作系统。
RT-Thread实时操作系统遵循GPLv2+许可证,实时操作系统内核及所有开源组件可以免费在商业产品中使用,不需要公布应用源码,没有任何潜在商业风险。
音频库文件:
---bsp 板级支持包,这里只是针对LPC54114保留的,实际上也支持其他MCU。
---components 放置RT-Thread支持的各类组件。
---include 和src 放置RT-Thread的实时核心代码文件
---libcpu CPU内核代码
---tools 放置RT-Thread的构建环境scons的一些扩展脚本
剩下了是文档和例子文件夹了,下面的压缩包是音频库的副本。bsp和libcpu是移植的相关部分。
1.) 通常来说,对于一个移植除了bsp、libcpu目录以外,其他的目录和文件不应该被修改,而且对于一种已知完成移植的内核(比如Cortex-M3,Cortex-M4等),其libcpu部分也已经存在,完全没有重写的必要,只要完成相关bsp移植部分即可。
2.)只有在你需要支持一种新的编译器时,才可能修改到include\rtdef.h和finsh等相关的代码。当要支持一种新的编译器,同时希望包括在开发分支内时,请联系内核的维护人以解决相关的问题,或给与适当的指导。
在了解了RT-Thread的目录,以及知道自己应该修改哪里的代码后,应该了解RT-Thread移植的两种模式:
• 使用RT-Thread中的libcpu目录:这个时候,和CPU相关的移植放在libcpu目录下的相对应的子目录中,自己的移植通过scons的SConscript脚本或工程文件使用这个目录下的libcpu文件;
• 不使用RT-Thread中的libcpu目录:例如希望使用自己的CPU移植,或这份CPU移植不会放到开发分支上。
对于第二种情况,可以按照如下的方式组织自己的移植:
- your_board
- +---applications
- +---components
- +---cpu
- +---drivers
- +---documents
- +---Libraries
- \---rt-thread
- +---tools
- +---include
- +---components
- \---src
复制代码 从这个目录结构可以看到,rt-thread的相关目录被做为一个相对独立的目录放在工程目录下面。同时在自己的工程目录中,包含:
• applications,用于放置用户应用的目录; |
• components,用于放置用户自己的组件; |
• cpu,替代原来的libcpu目录,放置芯片移植相关的代码、驱动; | • driver,用户自行编写的驱动; | • documents,用户文档; | • Libraries,一些相对固定的库文件; |
需要注意的一点是,按照这样的使用方式,需要在SConstruct文件中加入has_libcpu = True 的选项
|
- # prepare building environment
- objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=True)
复制代码 这样后续不管是使用scons进行编译或者使用scons生成工程文件去编译,都将不会使用
在rt-thread\libcpu中芯片相关的这部分代码。
RT-Thread中文手册:
rtthread_manual.zh.pdf
(2.38 MB, 下载次数: 34)
|
|