查看: 4926|回复: 3

[原创] 【LPC54114双核任务四】初识LPC541114音频库

[复制链接]
  • TA的每日心情
    郁闷
    2022-4-4 11:28
  • 签到天数: 351 天

    [LV.8]以坛为家I

    141

    主题

    8054

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5740
    最后登录
    2022-4-4
    发表于 2017-7-11 20:34:14 | 显示全部楼层 |阅读模式
          下载了LPC54114音频库解压后的目录:
           1.jpg
         先从零开始吧,这个音频库是基于
    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移植不会放到开发分支上。
    对于第二种情况,可以按照如下的方式组织自己的移植:

    1. your_board
    2. +---applications
    3. +---components
    4. +---cpu
    5. +---drivers
    6. +---documents
    7. +---Libraries
    8. \---rt-thread
    9.        +---tools
    10.        +---include
    11.        +---components
    12.         \---src
    复制代码
    从这个目录结构可以看到,rt-thread的相关目录被做为一个相对独立的目录放在工程目录下面。同时在自己的工程目录中,包含:
    • applications,用于放置用户应用的目录;
    • components,用于放置用户自己的组件;
    cpu,替代原来的libcpu目录,放置芯片移植相关的代码、驱动;
    • driver,用户自行编写的驱动;
    • documents,用户文档;
    • Libraries,一些相对固定的库文件;

    需要注意的一点是,按照这样的使用方式,需要在SConstruct文件中加入has_libcpu = True 的选项

    1. # prepare building environment
    2. objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=True)
    复制代码
    这样后续不管是使用scons进行编译或者使用scons生成工程文件去编译,都将不会使用
    在rt-thread\libcpu中芯片相关的这部分代码。


    RT-Thread中文手册: rtthread_manual.zh.pdf (2.38 MB, 下载次数: 34)
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-12-29 14:09
  • 签到天数: 144 天

    [LV.7]常住居民III

    9

    主题

    534

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1607
    最后登录
    2019-3-18
    发表于 2017-7-12 08:18:43 | 显示全部楼层
    谢谢分享
    签到!!!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-9-4 08:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    4

    主题

    272

    帖子

    0

    高级会员

    Rank: 4

    积分
    790
    最后登录
    2024-3-13
    发表于 2017-7-13 10:52:20 | 显示全部楼层
    估计是题目有点难
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2022-4-4 11:28
  • 签到天数: 351 天

    [LV.8]以坛为家I

    141

    主题

    8054

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5740
    最后登录
    2022-4-4
     楼主| 发表于 2017-7-13 12:47:32 | 显示全部楼层
    gaon2 发表于 2017-7-13 10:52
    估计是题目有点难

    的确难,首选i得移植RT-Tread
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-6 21:11 , Processed in 0.119177 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表