全志科技
直播中

张生

9年用户 857经验值
擅长:光电显示 接口/总线/驱动
私信 关注
[问答]

如何在Linux上搭建Melis3.0开发环境?

如何在Linux上搭建Melis3.0开发环境?

回帖(1)

袁声瑜

2021-12-29 11:27:17

  • 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/
    支持多平台,多方案的多媒体架构

    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

      第二步:选择方案

      这里选择的是C800唱戏机方案。
      第三步:make menuconfig,自定义配置,如果默认第二部配置满足要求,则跳过这一步

      第四步:执行make完成编译,编译过程首先会自动解压工具链到指定目录,然后才完成项目编译:

      第五步:打包成可烧录固件,执行pack命令

      至此,生成了最终可烧录的文件存放在source/workspace/suniv/beetles目录

      结束!




举报

更多回帖

发帖
×
20
完善资料,
赚取积分