搜索
热门关键词:
解码器
福禄克
机器人
自动化
ZigBee
手机版
官方微博
微信公众号
登录
|
免费注册
首页
新闻
新品
文章
下载
电路
问答
视频
职场
杂谈
会展
工具
博客
论坛
在线研讨会
技术频道:
单片机/处理器
FPGA
软件/编程
电源技术
模拟电子
PCB设计
测试测量
MEMS
系统设计
无源/分立器件
音频/视频/显示
应用频道:
消费电子
工业/测控
汽车电子
通信/网络
医疗电子
机器人
当前位置:
EEChina首页
›
论坛
›
新手园地
返回列表
查看:
1273
|
回复:
0
【疯壳·嵌入式教程1】手把手教你做平板电脑-Linux 引导过程
[复制链接]
Linda-x
Linda-x
当前离线
积分
9771
发表于 2022-8-18 17:50:59
|
显示全部楼层
|
阅读模式
贸泽电子有奖问答视频,回答正确发放10元微信红包
关键词:
嵌入式开发
,
平板电脑
,
LINUX引导
,
init
,
教程
Linux
引导过程
——疯壳·
嵌入式
平板开发
Linux 内核与
Android
系统 linux 内核有什么区别?
什么是引导装载程序?
什么是 Zygote?
什么是 init.rc?
什么是系统服务?
第一节 Android 启动步骤
图1
第二节 引导程序 --- Boot Loader
源代码目录:$(dir)\rk3128-source\u-boot
第三节 内核 --- Kernel
Android 内核就是 Linux。内核启动时,设置硬件,挂载文件系统,执行第一个应用程序init。
第四节 Init 进程
init 是第一个进程,可以说它是 root 进程或者所有进程的父进程。init 进程有两个责任, 一是挂载目录,比如/sys、/dev、/proc,二是运行 init.rc 脚本。对于 init.rc 文件,Android 中有特定的格式以及规则。在 Android 中,我们叫做 Android 初始化语言。
init.rc 位于目录$(dir)\rk3128-source\device\rockchip\rksdk
Android 初始化语言由四大类型的声明组成,即 Actions(动作)、Commands(命令)、Services(服务)、以及 Options(选项)。
Action(动作):动作是以命令流程命名的,有一个触发器决定动作是否发生。
语法:
on
Service 是 init 加载的和是退出重启的(可选)程序。Service 具有如下格式:
service
[
]*
...
Options(选项)
选项是对服务的描述,它们影响 init 进程如何以及何时启动服务。
来看看默认的 init.rc 文件。这里只列出了主要的事件以及服务。
Table
图2
在这个阶段你可以在设备的屏幕上看到“android”logo 了。
第五节 Zygote
在 Java 中,不同的虚拟机实例会为不同的应用分配不同的内存。但如果 Android 系统为每一个应用启动不同的 Dalvik 虚拟机实例,就会消耗大量的内存以及时间。因此,为了克服这个问题,Android 系统创造了”Zygote”,Zygote 让 Dalvik 虚拟机共享代码、低内存占用以及最小的启动时间成为可能。
第六节 系统服务或服务
完成了上面几步之后,运行环境请求 Zygote 运行系统服务。系统服务同时使用 native以及 java 编写,系统服务可以认为是一个进程,系统服务包含了所有的 System Services。
Zygote 创建新的进程去启动系统服务,可以在 ZygoteInit 类的”startSystemServer”方法
中找到源代码。
第七节 引导完成
一旦系统服务在内存中跑起来了, Android 就完成了引导过程。 在这个时候“ACTION_BOOT_COMPLETED”开机启动广播就会发出去。
第八节 实验
init.rc 中增加一条启动参数 setprop fengke.test 100
第九节 实验现象
系统启动后用 getprop fengke.test 来看是否这个值已经写入
图3
文件下载请点击:
1、Linux引导过程.pdf
(409.72 KB)
2022-8-18 17:48 上传
点击文件名下载附件
相关文章
•
国产!基于瑞芯微RK3576ARM八核2.2GHz A72 工业评估板——多屏同显、异显方案演示
•
基于瑞芯微RK3576国产ARM八核2.2GHz A72 工业评估板——ROS2系统使用说明
•
基于瑞芯微RK3562 四核 ARM Cortex-A53 + 单核 ARM Cortex-M0工业评估板——Linux应用开发手册
•
基于瑞芯微RK3562 四核 ARM Cortex-A53 + 单核 ARM Cortex-M0——NPU开发案列
•
明远智睿SSD2351核心板助力智能监控系统升级
•
明远智睿SSD2351核心板在物联网领域的应用实践
•
延时仅4us!最新的全国产RK3568J+FPGA PCIe实时通信方案来了
•
6T算力NPU!基于RK3588国产平台的YOLOv5目标识别案例,真的强!
•
明远智睿SSD2351核心板:硬件性能深度剖析
•
明远智睿RK3588开发板助力工业机器智能化升级
回复
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
通信/网络
电源技术
供求发布
会展活动
模拟电子技术
系统设计
FPGA/CPLD
工业/测控
测试测量
关于我们
-
服务条款
-
使用指南
-
站点地图
-
友情链接
-
联系我们
电子工程网
© 版权所有
京ICP备16069177号
| 京公网安备11010502021702
快速回复
返回顶部
返回列表