专栏首页韦东山嵌入式韦东山鸿蒙移植02_必备基础知识

韦东山鸿蒙移植02_必备基础知识

1. 基础知识

移植内核对技术的要求比较高、比较细。

1.1 单片机相关的知识

  • 栈的作用
  • 加载地址、链接地址
  • 重定位
  • 几个简单的硬件知识
    • 串口
    • 定时器
  • 中断的概念

1.2 Linux操作相关的知识

  • Linux常用命令
  • 简单的脚本:脚本就是把命令写在一个文件里
  • Makefile
  • GCC编译命令

1.3 芯片相关知识

  • 能阅读芯片手册(英文)
    • 移植最小系统时,涉及的手册内容不多
  • 能看懂硬件原理图
    • 移植最小系统时,涉及的原理图内容不多

2. 驱动程序知识

对于只有单片机知识的人来说,怎么去操作硬件?

  • 直接读写寄存器
  • 使用库函数

在RTOS中,本质也是去读写寄存器,但是需要有统一的驱动程序框架。 所以:RTOS驱动 = 驱动框架 + 硬件操作

2.1 以点灯为例

2.1.1 硬件原理

2.1.2 单片机点灯

  • 方法1:直接读写寄存器
  • 方法2:使用厂家的HAL库

2.1.3 FreeRTOS点灯

2.1.4 rt-thread点灯

  • 方法1:直接操作寄存器
  • 方法2:使用驱动程序
    • 驱动模型如下:
    • 驱动示例如下:
  • 调用过程框架
  • 调用过程示例

2.1.5 Liteos-a/Linux怎么点灯

使用MMU时,一般APP与内核是相互隔离的。APP通过标准的open/read/write等文件操作函数去调用驱动程序。 如下图所示:

为何要多此一举?

  • 它们支持MMU(内存管理单元)
  • 用户程序跟内核是分隔开的,用户程序不能直接读写寄存器
  • 用户程序通过标准接口访问驱动程序
  • 基于这些内核的软件一般都比单片机软件复杂,术业有专攻
  • 不应该让写APP的人去看原理图、写驱动、写寄存器
  • 软件和硬件隔离,硬件再怎么变化,只需要改驱动,APP不需要改

2.1.6 Android怎么点灯

  • Android是Linux操作系统上的一套操作系统
  • Android通过Linux来访问硬件,本质还是Linux驱动
  • 一般的C程序、C++程序,可以直接调用open/read/write等函数
  • 使用java编写的程序要访问C函数需要通过JNI

2.2 以LCD为例

2.2.1 硬件原理

  • 设置LCD控制器,它会自动从FrameBuffer中读取每个像素的数据发送到LCD上
  • 把要显示的文字、图像放入FrameBuffer中

2.2.2 Liteos-a/Linux怎么操作LCD

为何要多此一举?

  • 它们支持MMU(内存管理单元)
  • 用户程序跟内核是分隔开的,用户程序不能直接读写寄存器
  • 用户程序通过标准接口访问驱动程序
  • 基于这些内核的软件一般都比单片机软件复杂,术业有专攻
  • 不应该让写APP的人去看原理图、写驱动、写寄存器
  • 软件和硬件隔离,硬件再怎么变化,只需要改驱动,APP不需要改

2.2.3 Android怎么操作LCD

Android/QT等GUI系统里:

  • LCD会被多个APP使用,如果不统一管理必定乱套
  • 所以,肯定有一个管理软件,或称为服务软件
  • APP自行构造自己的界面,提交给显示显示服务软件
  • 显示服务软件:根据多个APP的前后层次,合并最终的显示图像
  • 再调用驱动程序显示出来

2.2.4 鸿蒙怎么操作LCD

鸿蒙支持Liteos、Linux内核,在内核之上怎么去为多个APP管理唯一的显示设备? 鸿蒙还支持软总线,理论上可以支持更多的LCD,怎么做? 务软件:根据多个APP的前后层次,合并最终的显示图像

  • 再调用驱动程序显示出来

2.2.4 鸿蒙怎么操作LCD

鸿蒙支持Liteos、Linux内核,在内核之上怎么去为多个APP管理唯一的显示设备? 鸿蒙还支持软总线,理论上可以支持更多的LCD,怎么做? 不知道,一起期待它开放出更多源码吧。

百问网技术论坛: http://bbs.100ask.net/

线上教学网站: https://www.100ask.net/index

百问网开发板: https://weidongshan.tmall.com/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 韦东山-首批华为鸿蒙系统课程开发者

    昨天下午,在华为开发者大会 2020 上,华为消费者业务 CEO 余承东宣布推出鸿蒙 OS 2.0 (HarmonyOS 2.0),正式面向应用开发者发布鸿蒙 ...

    韦东山
  • 【鸿蒙OS最新进展】鸿蒙内核liteos-a体验

    上周鸿蒙2.0开源,想必很多人都想第一时间体验。 今天,百问网发布鸿蒙IMX6ULL烧写工具以及鸿蒙体验手册,欢迎下载体验。

    韦东山
  • 【鸿蒙学院】鸿蒙App开发直播学员提问与回答

    Q1. 安卓开发的APP能运行在鸿蒙系统么,鸿蒙和安卓的关系是子集还是扩展或是完全独立不同的

    蒙娜丽宁
  • 让 Flutter 在鸿蒙系统上跑起来

    鸿蒙系统 (HarmonyOS)是华为推出的一款分布式操作系统,那么如何在保证开发迭代效率的前提下,以相对低的成本将移动应用快速移植到鸿蒙平台上呢?美团外卖 M...

    美团技术团队
  • 不吹不擂,一文揭秘鸿蒙操作系统

    ? 作者:michalliu,腾讯 WXG 客户端开发工程师 华为鸿蒙OS有什么创新,是否自主研发完全开源,本文带你深入鸿蒙的世界。 一、初识鸿蒙 国内在计算...

    腾讯技术工程官方号
  • 吐槽一下开源鸿蒙系统

    最近一直在研究开源鸿蒙系统,但碰到一个问题,卡壳了,弄得我茶不思饭不想。在上一篇文章鸿蒙系统研究之四:根文件系统中,碰到一个难题:

    云水木石
  • 为什么国内手机巨头们都不支持鸿蒙?

    鸿蒙OS2.0出世,国内一众智能手机厂商终于有了国产的系统使用,不再仰仗洋人的鼻息,眼巴巴地排队等着安卓系统的更新和推送,终于可以翻身农奴把歌唱了!这是国产科技...

    悲了伤的白犀牛
  • 物联网操作系统的江湖恶战

    安卓手机市场份额超过80%,全球出货量排得上名次的智能手机,搭载的几乎都是安卓系统;剩余的份额则几乎被苹果的iOS系统独家占有。

    IT大咖说
  • 华为开源鸿蒙OS 2.0,老外是怎么看待的?

    9月10日的开发者大会上,除了鸿蒙OS 2.0,华为还带来了EMUI 11,以及HMS生态的新进展,信息量十分丰富。

    开发者技术前线
  • Harmony OS 2.0 与 Android 的困惑

    谷歌如何限制华为?停止商业合作,(1)禁用GMS套件 (2)不能获取更新与适配优化

    Erossssssss
  • HarmonyOS与Android的全面对比

    第二是我个人非常看好鸿蒙系统的未来,清楚明白华为和一些民族企业担负的责任和国人的期待,虽然带着一些民族感情;鸿蒙刚发布的时候自己是非常激动的,但是后来项目太忙一...

    肉眼品世界
  • 任正非:鸿蒙系统已经上网,即将应用到全系产品

    据新浪报道,华为创始人任正非在 2020 冬季达沃斯论坛上表示,鸿蒙系统已经上网,未来会应用到华为旗下手机、平板、电视等系列产品。

    SDNLAB
  • 万字详解!鸿蒙操作系统关键特性解读

    大部分人认为,操作系统本来就是与计算机(IT设备)一体的。究竟计算机为什么需要操作系统?可能我们并不会去特意想这个问题。

    程序IT圈
  • 鸿蒙代码全部开源,一起来写个 Demo 呗!

    9月10日,余承东在华为开发者大会2020上宣布,鸿蒙2.0(HarmonyOS 2.0)系统正式发布!

    五分钟学算法
  • 一个普通应届生的2020秋招总结

      本硕双非,本科电子信息工程,硕士电子与通信工程。导师申请的项目中有一部分需要用Stm32实现,所以自己在硕士期间接触Stm32比较多。当时也考虑到,如果只会...

    嵌入式与Linux那些事
  • 【技术角度科普】鸿蒙的“分布式”究竟是个啥情况?

    所以...我来分享一下我了解到的东西以及我的理解吧,希望能让大家对鸿蒙的了解更清晰一些,做到既不要因为营销而看不到鸿蒙好的那一面,也不要因为鸿蒙好的那一面而无脑...

    青南
  • 前端开发华为鸿蒙系统应用 OpenHarmony JS

    其实说了这么多,也只是一个噱头,未来的路还很长,我经常再 blink 里面看到有人投票说,华为鸿蒙操作系统将取代安卓操作系统,我先否定一下。发展好了最多也只是三...

    孙叫兽
  • 荣耀智慧屏,鸿蒙处女秀?!

    AliOS、Fuchsia OS、KaiOS和鸿蒙,出发点各有不同,最终却来到一个点:物联网OS。5G的竞争一定是全方位的,而新一轮OS的较量,也将是浓墨重彩的...

    罗超频道
  • 华为「鸿蒙」出世:全球首个微内核全场景分布式OS,可取代安卓,发布即开源

    这是华为历史上规模最大的一次开发者大会,除了万众瞩目的鸿蒙系统之外,华为 EMUI10 系统、搭载海思鸿鹄 818 智能芯片的「荣耀智慧屏」也会在大会上陆续亮相...

    机器之心

扫码关注云+社区

领取腾讯云代金券