精华内容
下载资源
问答
  • 首先明确什么是底层开发,这个界限很难划分,有人说搞音视频底层编解码就是底层了,但是我们看来不是这样,下面还有rom中音视频模块,再下面还有driver,最后到物理硬件。那么我们姑且这么划分,以是否有大量的的...

    首先明确什么是底层开发,这个界限很难划分,有人说搞音视频底层编解码就是底层了,但是我们看来不是这样,下面还有rom中音视频模块,再下面还有driver,最后到物理硬件。那么我们姑且这么划分,以是否有大量的的业务逻辑为界限。业务逻辑,一般就是和产品形态紧密连接。以音视频为例,上层播放应用,会接入数据、UI等产品需求。下层播放内核,主要以播放器为中心,对音视频数据注入,解码,渲染。


    我们从几个方面看下应用层和底层


    1、市场需求


    应用层工作机会往往较多,如10个工作,9个是应用层相关。毕竟企业或是公司都是商业化,都是围绕产品开发。而底层是支撑应用层。很多公司也不需要底层开发。因为完全可以用第三方的解决方案。可以在一定程度上节省公司人力物力。所以很多底层开发都是在稍微具有一定规模的公司才有。从这点上看,底层的确有点坑。


    2、开发难度


    一般底层开发都是用c/c++实现,应用层开发很多都是java/php等这些高级语言实现,不排除一些工业级软件使用c++开发,从上手来说,熟练c/c++相比于熟练java开发,周期会更长。但并不是说java就不好,java能写那么多很棒的应用,这点上c/c++比不上的。但是一般有些特色一点的东西,如在Android平台上,都会放到Native中开发。一方面是效率提升,另外就是安全。


    3、发展方向


    底层走的是窄、精路线,工作年限越长,对于个人专家能力越有提高。应用层走的是广、多路线。工作年限越长,对软件

    架构设计越强,当然也是可以锻炼专家能力。应用层变化多,参与变革的机会会多很多,底层改动少,不是特容易有这样机会。完全看个人兴趣。


    4、薪资待遇


    这里只讨论专家工程师,不讨论走管理路线的。底层待遇比应用层多,随年限增加,呈趋势。


    最后,不要认为底层有前途,做应用层一样有前途。有人说,做底层,看起来很厉害的样子,这些都不是重点。重要是投入进去,精益求精。上层的东西更有意思,更有发展空间。不仅是要面对灵活多变的需求,各种功能,把这些东西组织成一个产品就是非常考验能力的。光谈技术,怎么搭建架构?要做一件事情有多种选择的时候,如何选择?如何保证稳定性?如何保持扩展性?如何不在不必要的地方浪费精力?如何提高开发效率?而底层,眼前的一些细节就已经让人很伤脑筋了,好不容易解决,也没有办法去考虑能不能做得更好更可靠。老做底层,很容易只见树木不见森林。至于收入方面,很可能底层开发因为技术更新慢,所以更容易积累,单纯做技术的时候薪水就容易上升。而做上层,技术更新快,新涌入的人也多,得持续努力学习,开拓视野。做完底层的人,更喜欢做上层,这样既然能领略森林之美,当然是森林更适合你。


    iOS赞赏通道:


    展开全文
  • 本文主要对单片机的底层应用层进行了讲解,下面一起来学习下
  • 介绍了嵌入式Linux系统体系架构,以及每一层开发人员的开发流程。

    1.嵌入式Linux系统体系架构

    一个完整的嵌入式Linux系统体系架构如图,大概可以分为三步:

    • 硬件PCB板设计
    • 底层系统开发
    • 应用开发

    2.硬件PCB设计流程

    • ① 获取所用芯片芯片手册;
    • ② 建立原理图库;
    • ③ 绘制原理图;
    • ④ 建立PCB封装库;
    • 绘制PCB
    • ⑥ 样板焊接测试;
    • ⑦ 交付底层系统开发;

    3.底层系统开发流程

    Linux系统开发是基于之前的PCB板开发的,目的是移植Bootloader、移植内核、编写驱动,目的是为应用开发提供服务,基本流程如下:

    • ① 搭建开发环境(Linux环境、交叉编译工具链、宿主机和目标板之间的连接(JTAG下载器));
    • ② 编写裸机测试程序;
    • ③ 移植适合于该板的Bootloader;
    • ④ 裁剪移植Linux内核;
    • ⑤ 移植根文件系统;
    • 编写所需设备驱动程序
    • ⑦ 交付应用开发;

    4.应用程序开发流程

    Linux应用开发是基于之前的PCB+底层驱动开发的,因为嵌入式Linux应用开发可移植性非常强,所以为了方便起见应用开发都是基于现有开发板的二次开发,开发板厂商会为我们提供适合于开发板的BootLoader,移植好的内核,驱动程序。

    基本流程如下:

    • ① 搭建开发环境(Linux环境、交叉编译工具链、宿主机和目标板之间的连接(NFS、串口、网口));
    • ② 编译烧写BootLoader;
    • ③ 编译烧写内核;
    • ④ 编译烧写根文件系统;
    • 开发应用程序
    • ⑥ 发布产品;
    展开全文
  • Android底层应用开发计算机软件及应用IT计算机专业资料.ppt
  • Android 应用开发底层技术,希望对有帮助
  • 请问可穿戴设备的芯片固件开发中底层驱动开发与上层应用开发的区别是什么?
  • 嵌入式开发应用.第二章.入门与软件框架.嵌入式硬件构件与底层驱动构件基本规范0 目录2 入门与软件框架2.1 嵌入式硬件构件与底层驱动构件基本规范2.1.1 课堂重点2.1.2 测试与作业3 下一章 0 目录 2 入门与软件框架 ...

    慕课苏州大学.嵌入式开发及应用.第二章.入门与软件框架.嵌入式硬件构件与底层驱动构件基本规范

    0 目录

    2 入门与软件框架

    2.1 嵌入式硬件构件与底层驱动构件基本规范

    2.1.1 课堂重点

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.1.2 测试与作业

    下面关于嵌入式硬件构件的描述中错误的是
    A.根据接口之间的生产消费关系可分为:核心构件、中间构件和终端构件三种类型。
    B.核心构件既有需求接口又有供给接口。
    C.中间构件既有需求接口又有供给接口。
    D.终端构件只有供给接口。
    正确答案:B

    嵌入式底层驱动构件设计的基本思想是:尽量做到当一个底层构件应用到不同系统中时,仅需修改构件的源程序文件,对于构件的头文件则不必修改或改动很小。
    A.B.
    正确答案:错

    1公共要素文件中,一般应包括以下几个方面的内容:
    A.包含描述芯片寄存器映射的头文件
    B.一位操作的宏函数
    C.对外接口函数声明
    D.重定义基本数据类型
    正确答案:A、B、D

    2在底层驱动构件中,可以根据需要适当使用全局变量。
    A.B.
    正确答案:错

    3设计中间构件时,如何描述需求接口及供给接口?
    正确答案:
    描述需求接口采用接口注释,处于虚线框内,描述供给接口采用接口网标,处于虚线框外。

    3 下一章

    博客地址:

    展开全文
  • 嵌入式入门学习笔记4:[转]什么是嵌入式底层驱动开发和嵌入式底层软件开发 我们知道嵌入式操作系统(Embedded System)是指以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、...

    嵌入式入门学习笔记4:[转]什么是嵌入式底层驱动开发和嵌入式底层软件开发

    我们知道嵌入式操作系统(Embedded System)是指以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式开发分两种,一种是硬件开发,一种是软件开发。简单来说,嵌入式底层驱动开发就是针对嵌入式操作系统的一些设备编写驱动程序。而嵌入式底层软件开发就是进行嵌入式操作系统和应用软件的开发,我们具体来看下。

    嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类:

    一类是学电子工程、通信工程等偏硬件专业出身的人

    他们主要是搞硬件设计,有时要开发一些与硬件关系密切的底层软件,如BootLoaderBoard Support Package(PCBIOS一样.往下驱动硬件.往上支持操作系统)、初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)他们所从事的工作就是我们常说的嵌入式底层驱动开发。

    另一类是学软件、计算机专业出身的人

    他们主要从事嵌入式操作系统和应用软件的开发,当然如果学软件的人对硬件原理和接口有较好的掌握,也完全可以写BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了。嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的主要工作(目前有很多公司将硬件设计包给了专门的硬件公司稍复杂的硬件都交给台湾或国外公司设计。的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上。所以我们搞软件的人完全不用担心我们在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。

    posted @ 2018-12-05 22:33 一直走向深渊的迷途羔羊 阅读( ...) 评论( ...) 编辑 收藏
    展开全文
  • android应用开发底层技术,有兴趣的同学来学习学习
  • Android底层驱动开发 -驱动配置篇

    千次阅读 2018-10-16 19:00:29
    Android底层驱动开发 -驱动配置篇## 所需要的硬件及软件资源 一块Android开发板(我用的是Firefly-AIO-3288J) 开发板的系统源码 一台运行Linux系统的主机(虚拟机也行,但内存配置不要低于16g,否则会编译失败) 准备...
  • C语言基础

    万人学习 2020-01-08 14:13:00
    3)、应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。 4)、C语言是面向过程语言,...
  • 一、Android开发的分类: 1、Android客户端应用程序  如新浪微博、网银客户端、凡客、淘宝客户端,快盘客户端。从应用需求上来讲,几乎大一点的网站,都需要有手机客户端程序。 2、Android通用类程序  如基于...
  • 1.Android底层开发概述

    万次阅读 2018-05-10 00:38:56
    Hal层的主要作用是把主要外设抽象出一套标准的接口共framework(C++)层调用。  framework(C++)主要是承上启下的作用,对上对framework(java... Dalvik主要是连接上层应用底层服务和第三方库。 device目录是分支
  • Spring+3.x企业应用开发实战光盘源码(全)

    千次下载 热门讨论 2012-03-27 17:21:58
     第2章:通过一个简单的例子展现开发Spring Web应用的整体过程,通过这个实例,读者可以快速跨入Spring Web应用的世界。  第3章:讲解Spring IoC容器的知识,通过具体的实例详细地讲解IoC概念。同时,对Spring框架...
  • 本书全面介绍了嵌入式linux系统开发过程中,从底层系统支持到上层gui应用的方方面面,内容涵盖linux操作系统的安装及相关工具的使用、配置,嵌入式编程所需要的基础知识(交叉编译工具的选项设置、makefile语法、arm...
  • sky我所做的事情都是源于自己对梦想的追求--分享技术、共同创造新世界---欢迎交流:zhangbinghua2012@163.com博客园首页新随笔联系订阅管理Android 开发之 ---- 底层驱动开发(一) 【转】转自:...驱动概述 ...
  • android框架(从底层应用层)

    热门讨论 2011-04-21 10:28:47
    android从底层应用层的详细讲解。android从底层应用层的详细讲解。android从底层应用层的详细讲解。android从底层应用层的详细讲解。android从底层应用层的详细讲解。android从底层应用层的详细讲解。
  • 1、上层应用开发项目一个接着一个  2、上层应用开发代码量庞大  3、上层应用知识更新太快,需要不断学习  4、上层应用....... 其实做嵌入式开发很累 嵌入式系统设计包括硬件系统设计与软件系统...
  • 在Android源码中编写APP应用程序、中间件的共享库代码、Android.mk文件、利用javah工具生成头文件,并实现对底层驱动的调用,在这里只实现led的点亮与熄灭,其目的是更注重理解整个Android底层驱动开发的过程,达到...
  • 当然,为满足一些有着丰富应用程序开发经验的读者和对Android系统底层有很大兴趣的读者的学习需求,《Android应用开发与系统改造实战》还详细讲解了如何编译Android源程序工程,并对Android编译系统进行了深入剖析,...
  • 喜闻乐见,其实使用 JavaScript 作为应用开发语言并不是第一家,比如 JerryScript 就是为了三星自家的 IoT 手表开发的,国产 RT Thread 也用了 JS 做 ...
  • 不要在小公司做底层软件开发

    万次阅读 2018-01-07 12:11:35
    在这里makekam对底层软件的理解就是指驱动开发,代码移植等工作。其中也包括底层的算法。在小公司做软件不要做底层软件开发,犹如在公司做硬件开发不要只是焊接电路板。  小公司处于产业链的最末端,没有自己的...
  • 1、单片机底层开发一般指利用单片机的固有资源完成的控制功能的软硬件开发,比如时钟、通讯协议(232、485、UART、SPI、IIC、CAN、IR等)、定时器、AD转换、GPIO、外设驱动(各种现场控制、各种环境状况测控、电机...
  • Linux应用开发自学之路

    万次阅读 多人点赞 2018-06-09 21:33:27
    在 「关于我 」那篇博文里,朋友们应该知道了我不是科班出身,是由机械强行转行到Linux应用开发方向。下面我就详细向大家介绍自己这一路上的转行历程,希望对大家有所启发。   我是学机械专业的,对于机械专业我...
  • GPIO中断在嵌入式开发中经常用到,到了linux下,处理GPIO的中断就没有裸机那么简单了。 Linux内核中有一套GPIO框架,管理和控制芯片上的GPIO管教,包括配置输入输出,配置电平高低(输出)和获取电平高低(输入),...
  • mtk底层源码+手机开发应用软件 MTK平台下开发源码及次平台下应用的软件。 嵌入式开发人员必备。
  • 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...
  • Android底层技术:HAL驱动开发

    万人学习 2015-09-22 16:12:26
    本课程提供开发者学习Android底层的HAL(硬件抽象层)的开发方法和技术。HAL所在的位置是介于Android系统服务与Linux内核之间,HAL Driver是以library形式出现,给HAL Stub调用,供Android System架构者调用。而HAL ...
  • 鸿蒙系统(HarmonyOS)是基于微内核的全场景分布式OS,鸿蒙OS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构,第一层是内核,第二层是基础服务,第三层是...鸿蒙应用开发文档 https://developer.har...
  • 嵌入式Linux应用开发完全手册.pdf

    热门讨论 2013-02-17 16:18:23
    《嵌入式Linux应用开发完全手册》全面介绍了嵌入式Linux系统开发过程中,从底层系统支持到上层GUI应用的方方面面,内容涵盖Linux操作系统的安装及相关工具的使用、配置,嵌入式编程所需要的基础知识(交叉编译工具的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 502,504
精华内容 201,001
关键字:

底层应用开发