Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页
    1. Home
    2. caozilong
    3. Best
    C
    • Profile
    • Following 0
    • Followers 2
    • my integral 1451
    • Topics 5
    • Posts 36
    • Best 2
    • Groups 0

    Best posts made by caozilong

    • 【加精】Melis3.0多媒体应用方案Quick Start

      Melis3.0系统Quick Start
      Melis3.0系统是全志科技面向数字媒体和IoT领域的轻量级物联网嵌入式实时操作系统,主打视频多媒体编,解,录周边产品应用。在整合内部开发资源的基础上, 与开源社区深度合作,致力建立服务于多媒体,语音的端侧基础设施平台. Melis3.0系统具备极致性能, 极简开发,富媒体,富组件,wireless连接,音/视频编解码等功能特性, 可广泛应用于多媒体播放器,行车记录仪,游戏模拟器,DVB机顶盒,儿童早教机,卡拉OK机, 传感器网络模组,智能家居等产品的开发.

      内核沿用熊大的rt-thread,作为一款有高度的高性能内核,RT-Thread不但可以适配MCU级的应用方案,更可以支撑Linux级的大型应用方案,这是zephyr, freeRTOS等内核无法比拟的,另外,pthread, shell,以及网络组件等部分也是从熊大社区直接拿来用的,在这里向熊大表示深深的感谢 @熊大.https://www.rt-thread.org/

      支持多平台,多方案的多媒体架构
      b1fd50ad-211e-46bd-9453-442b85095d4f-image.png
      Melis 3.0的特性
      极简开发

      • 基于Kbuild构建扩展,支持C和C++编译. menuconfig字符菜单配置界面. 支持Windows/Linux开发环境.

      • 支持ARMCC/GNU GCC CrossToochain.

      • 支持ARMDS5/开源GDB+OCD+ICE(JLink/OpenJtag/CMSIS-DAP)调试方式.

      • 支持KGDB裸机串口调试 .

      • 支持ADBD服务,可以通过adb进行调试与连接.

      • 采用松散多bin架构,系统由具备独立子功能的binary动态组合实现,模块之间高内聚,低耦合。便于分布式开发.

      • 支持V4L2和Cedarx多媒体框架,方便集成各种编,解码方案.
        网络服务

      • 列表支持BLE/BE协议栈

      • 列表支持IPV4/IPV6网络协议栈.

      • 列表支持基于mbedtls的安全套接字服务
        模块化设计
        类微内核架构(混合内核),支持应用,驱动和中间件代码独立编译链接,映像高度压缩,不用时可卸载节省运存。模块化要求内存管理支持二级页表设计。
        内核服务:
        按照内核和方案解耦的方式设计,当前基于zephyr,rt-thread双内核, 具备硬实时能力,核心架构良好,支持极小footprint的设备.
        RT-Thread和zephyr各有特点,两者比较,zephyr有广度,但高度欠缺,而RT-Thread恰恰相反,它支持较高的Linux语义,有高度,但广度不如zephyr.
        Melis3.0主要面向全志自身的编码解码产品线进行开发,需要一个API层面有高度的系统,但不需要支持太多的开发板,所以广度方面甚重要.
        内存管理
        支持slab内存管理算法,有效减少内存外部碎片。
        支持虚拟空间动态创建,页面可支持4K大小
        调度策略
        在任何时候,系统执行有资格获得处理器的优先级最高的任务,在优先级相同的情况下,采用时间片轮转的调度策略. 这种调度策略有个简单的名字,叫做Round Robin(RR)调度策略
        丰富的文件系统支持
        支持常见文件系统格式,包括 Fat12/16/32, exFat,udffs,ntfs,cdfs, devfs, ramfs,littlefs, spiffs
        支持文件系统块缓冲bcache,可以有效提高存储价质的读写效率。
        丰富的多媒体和GUI支持
        集成全志CedarX2.7多媒体框架和OrangeGUI/MiniGUI图形框架,可支持中大规模多媒体录,编,解码产品的开发.
        支持全部的常见音频格式,支持的视频解码格式包括:H263/H264/H265,VP9/VP8/VP6, MJPEG/MPEG2/MPEG4, AVS/AVS2/AVS+, Divx/Xvid, VC1,Sorenson Spark,以及H264、H265,VP8,MJPEG编码的支持。
        Posix兼容
        支持Posix完整语义,面向MacOS,Unix,Linux可移植应用/中间件的跨系统移植.
        设备管理
        支持linux style的设备文件系统,所有设备以设备节点的方式向应用提供服务,应用通过标准化的接口open/read/write/ioctl/close对设备进行操作
        在Linux上搭建Melis3.0 开发环境
        第一步,得到源码,进入melis-v3.0目录执行source melis-env.sh
        119b22ef-0118-4d27-813c-0d22083d31d0-image.png
        第二步:选择方案
        07bffe32-d388-4bf8-8bd8-7edc23b1f7d7-image.png
        这里选择的是C800唱戏机方案。
        第三步:make menuconfig,自定义配置,如果默认第二部配置满足要求,则跳过这一步
        ba20a2e4-0a60-4bf9-9c2b-0916066fccb1-image.png
        第四步:执行make完成编译,编译过程首先会自动解压工具链到指定目录,然后才完成项目编译:
        e5c7cb6d-2fcf-4fe2-a73f-37b5f632e2c9-image.png
        第五步:打包成可烧录固件,执行pack命令
        30ef4b6e-7c74-4741-a2c8-6dbdba05f430-image.png
        至此,生成了最终可烧录的文件存放在source/workspace/suniv/beetles目录
        a7a5817e-34e9-44a5-af04-ccfb85796127-image.png
        结束!


      posted in RTOS
      C
      caozilong
    • 1 / 1