• 两年系统程序猿的感悟


    毕业两年。在这两年里,接触了系统和音视频,一些工作上的感悟和大家分享一下。

    1、嵌入式系统

    一个嵌入式的系统,软件开发者通常可分为应用和系统。应用负责界面开发和策略。系统负责基本功能实现。一个大型的项目。软件部分通常都是由多个应用开发者和多个系统开发者配合完毕的。


    2、系统方面

    指的是Linux底层的库和驱动,音视频实质上也是系统的一个子类。

    但音视频处理逻辑比較复杂,通常会把音视频独立开来。我接触的系统,採用C进行编程,包含u-boot,busybox,内核,驱动,基础库。

    项目分为维护类和新开发两种。

    对于维护类项目,系统的工作通常是修修Bug,新需求除外。对于新开发的项目,系统的工作会受制于硬件的修改。所以新开发的项目。系统必须和硬件做好充分的沟通,了解硬件新的修改。

    同一时候。应用调用系统提供的接口,接口的变动。也必须及时同步给应用。

    系统开发的关键是依据硬件设计。开发出应用可调用的接口。

    这样。了解一些常见的总线(IIC,IIS,SPI,PCI,USB,SATA)很重要,同一时候对C语言的熟练度(基本数据结构-通常是链表,队列,循环BUFFER;指针)也有一定的要求。

    系统开发最常见的问题是新功能实现以及需求变更引入的问题。

    3、音视频方面

    音视频的特殊点在于一般数据量都很大。所以音视频最重要的是弄清楚数据的走向。另外,业务逻辑是音视频的灵魂,弄明确项目的业务也十分重要。接触一块视频处理芯片,你须要了解该芯片的编、解码能力,拼接能力。这样才干知道该系统能做多大的业务。接触一块音频芯片,你须要看懂硬件的连接,业务上怎样配置AD,DA。

    视频的一般逻辑包含例如以下部分:

    (1)採集->编码->存储

    (2)採集->编码->解码->拼接->显示

    (3)解码->回放(显示)

    音频一般逻辑包含:

    (1)採集->编码->存储

    (2)採集->编码->解码->混音->回放

    (3)解码->回放


    转载请标明出处,仅供学习交流。勿用于商业目的

    Copyright @ http://blog.csdn.net/tandesir


  • 相关阅读:
    【BZOJ4275】[ONTAK2015]Badania naukowe DP
    【BZOJ4295】[PA2015]Hazard 乱搞
    【BZOJ4297】[PA2015]Rozstaw szyn 树形DP
    Windows服务安装异常:System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可 访问的日志: Security
    直关的sql 联级更新语句
    c#经典俄罗斯方块 vs2012开发
    转 SSIS处理导入数据时, 存在的更新, 不存在的插入
    WM (Constants)
    数据仓库的模型设计
    BI (商业智能)
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6844567.html
Copyright © 2020-2023  润新知