全志H616开发学习笔记(一):全志H616课程概述

全志H616课程概述

本讲起开始嵌入式软件学习的新阶段——全志H616学习。

这一阶段的学习,重点并不是基于芯片学习各种外设驱动、时序逻辑以及内核移植,这样学习难度非常高,对于入门的新手至少要准备一年的时间。这一阶段的学习,目标仍然是Linux系统,平台为ARM架构,开发板采用香橙派Zero2。同一个协议,涉及的算法在不同平台上因因硬件不同造成的细微差异,具体实现是中高级工程师负责的内容。初级工程师,不能以此为方向学习

至于此阶段的Linux学习与前面虚拟机中的Linux系统编程,区别就在于前面阶段主要是进行系统方法的API调用,无法控制外设,与外设进行交互。本阶段的OrangePi作为嵌入式设备,既能运行操作系统,又能控制外设,功能更加强大。

为什么学

  • 蜂巢快递柜,配送机器人,这些应用场景用C51,STM32单片机无法实现,产品体验不佳
  • 第三方介入库的局限性,比如刷脸支付和公交车收费设备需要集成支付宝SDK,提供的libalipay.so是Linux的库,设备必须跑Linux系统
  • 图像识别,音频,视频等领域的技术支撑也无法脱离Linux系统
  • 人工智能型设备通常需要更好的系统和更高的算力,所以Linux也是必不可少
  • 能跑Linux的一般为 X86,ARM,MIPS,PowerPC等架构,而ARM市场占有率最大

综上所述就是一句话:嵌入式软件工程师如果技术栈不存在Linux-ARM的开发经验,那么面向的工作岗位就会带很多局限性,天花板有容易来的过早,在技术积累阶段对于这个知识的学习是必不可少的,但是这个方向水深,需要客观且科学的选择适合的角度学习。

学习什么

​ 这个领域的程序员一般分三个方向:

  • 应用开发,通过跟产品业务相关,比如智能家居中控板,可以是C++QT, 可以是C GTK, 也可以是
    Android页面,也可以是基于串口屏的UI交互,

    后台数据交互和系统交互都是基于Linux系统的,初级工程师以这个方向入行居多,也容易上手,招聘岗位也很多

  • 系统开发,主要任务是为硬件工程师设计的产品板操作系统,比如uboot,Linux内核,文件系统
    等,一般为中高级嵌入式工程师,新手如果以这个方向入行,压力相对更大,一般原厂公司会招
    聘,岗位相对少

  • 算法工程师,此类算法跟数学模型挂钩,比如人脸识别的图像不调库处理,语音识别算法如讯飞语音的工程师,一般博士一大堆,硕士满天飞的现状

根据现有就业案例,大专本科生以应用开发入行为主,在工作一两年可能会根据公司安排走系统开发,也可能一直做应用,薪资待遇并不完全由技术方向决定,还是看个人发展和公司的关系,当然还有城市,学校等因素。

硕士可根据面试结果选择应用,系统,算法都行。

本教程就以应用开发为主,涉及少部分的Linux内核、文件系统的学习。

ARMLinux平台介绍

​ 学习平台至于用树莓派,海思,全志差别都不大,初级工程师掌握的是Linux-ARM的软硬件架构开发,主要是Linux系统的学习,只有入职后的中高级工程师才会考虑算法或者协议对底层硬件的差异化。

​ 第一版本这部分的内容以树莓派讲解,就业学员入职海康威视,OPPO,全志,移远等公司可以完美过度,所以板材的选择根据教程就行,学的是Linux系统

开发板外观

硬件特性

  • CPU 全志H616四核64位1.5GHz高性能Cortex-A53处理器
  • GPU MaliG31MP2 SupportsOpenGLES1.0/2.0/3.2、OpenCL2.0
  • 运行内存 1GBDDR3(与GPU共享)
  • 存储 TF卡插槽_课程配套硬件16G,测试128G可支持、2MBSPIFlash
  • WIFI+蓝牙 AW859A芯片、支持IEEE802.11a/b/g/n/ac、BT5.0
  • 视频输出 MicroHDMI20a
  • 电源 USB-TypeC接口输入
  • 外设 带有I2Cx1、SPIx1、UARTx1以及多个GPIO口
  • 电源指示灯和状态指示灯

配套操作系统支持


全志H616开发学习笔记(一):全志H616课程概述
https://dockingyuan.top/2022/11/20/OrangePiZero2/1-课程综述/
作者
Yuan Yuan
发布于
2022年11月20日
许可协议