当前位置: 首页 > wzjs >正文

网站开发用什么系统比较好?如何推广一个项目

网站开发用什么系统比较好?,如何推广一个项目,网站建设和优化的步骤,电子商务网站建设与维护的教学OpenHarmony系统启动流程简述 设备上电后,OpenHarmony系统大致经历以下3个阶段: 1.BootRom代码引导加载UBoot; 2.UBoot启动初始化硬件资源,引导并加载系统内核(Linux内核); 3.Kernel(LiteOs,Linux内核)启动、加载驱动…

OpenHarmony系统启动流程简述

设备上电后,OpenHarmony系统大致经历以下3个阶段:
1.BootRom代码引导加载UBoot;
2.UBoot启动初始化硬件资源,引导并加载系统内核(Linux内核);
3.Kernel(LiteOs,Linux内核)启动、加载驱动、启动系统0号和1号进程、启动服务、鸿蒙APP应用层。

BootRom固件是芯片厂商出厂时烧录到片上存储器的,目的是从各种外部存储器中加载MiniLoader(tpl+spl),其流程如下:

1.从0xFFFF0000地址读取第一条指令运行;
2.逐一检査与校验 Nor Flash、 Nand Flash、eMMC、SD/MMC中的ID BLOCK(RK固件定义在第64扇区);
3.假如我们的固件存放于eMMC,那么校验ID BLOCK成功后就读取DDR初始化代码到SYSTEM SRAM;
4.紧接着运行刚刚读取的代码来初始化DDR;
5.初始化DDR后,DDR就可以工作了,把引导代码加载到DDR,并调到DDR继续运行。

如果各个存储器都没有找到ID BLOCK,那么会执行以下操作:
1.等待请求DDR程序(如我的瑞芯微烧录工具RKDevTool上此时可以看到Maskrom模式);
2.如果我们加载了固件并点击升级,那么首先会把DDR初始化代码下载到SYSTEM SRAM;
3.运行刚刚读取的代码来初始化DDR;
4.等待下载loader代码;
5.下载loader代码到DDR上;
6.在DDR上运行 loader 代码。

U-Boot简介

Linux 系统要启动就必须有一个 bootloader 程序,也就说芯片上电以后先运行一段 bootloader 程序。这段 bootloader 程序会先初始化DDR等外设,然后将 Linux 内核从 FIaSh(NAND、NORFLASH、SD、MMC等)复制到 DDR中,最后启动 Linux 内核。bootoader 和 Linux 内核的关系就跟计算机的 BIOS 和Windows 的关系一样, bootloader 就相当于 BIOS。

uboot 是一个遵循 GPL 协议的开源软件,我们可以在 uboot 官网下载 uboot 的源码文件,但一般不会直接用 uboot 官方的 uboot 源码。uboot 官方的源码是给半导体厂商准备的,半导体厂商会下载 uboot 官方的 uboot 源码,然后将自家芯片移植进去。也就是说半导体厂商会自己维护一个版本的 uboot ,这个版本的 uboot 是他们自己定制的。而我们就需要下载在厂商定制的uboot上做进一步的修改定制。

在OpenHarmony的uboot目录为/device/board/{产品解决方案厂商}/{产品名称}/loader/目录下,如我的rk3568芯片录入为:/device/board/hihope/rk3568/loader/,其文件结构如下:

loader├── config_ab.cfg├── config.cfg├── MiniLoaderAll.bin├── parameter_ab.txt├── parameter.txt├── README.md└── uboot.img

以上为其中MiniLoaderAll.bin为前置loader程序,uboot.img为loader程序。但可以看到,此处uboot是已经编译好了的,没有直接提供uboot源码,如果需要定制uboot,移植自己的驱动,就必须去厂商官网下载源码。

U-Boot源码下载

克隆源码

mkdir uboot
cd uboot
git clone https://github.com/rockchip-linux/u-boot.git#如果以上方法克隆出现网络问题,可以用
git config --global http.version HTTP/1.1
命令切换到http/1.1模式,再运行克隆命令

下载rkbin

cd uboot
git clone https://github.com/rockchip-linux/rkbin.git

 u-boot编译需要在prebuilts文件夹下存在gcc工具链

下载gcc

下载地址32位系统
https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-i686_aarch64-linux-gnu.tar.xz
64位系统
https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xzmkdir prebuilts
cd prebuilts
在prebuilts文件夹下解压
tar -xvf gcc-linaro-7.5.0-2019.12-i686_aarch64-linux-gnu.tar.xz

 以上操作做完后,其目录结构如下

uboot├── prebuilts├── rkbin└── u-boot

修改make.sh工具链路径

默认make.sh脚本文件中工具链路径无法找到工具链,如下所示

因此需要修改对应系统路径为如下所示即可

 编译u-boot

cd u-boot
./make.sh rk3568

注:如果编译时出现奇怪的问题导致编译失败,请尝试 make distclean 后重新编译。
注:编译时需要python2.7的环境,和我们之前编译OpenHarmony的python3.8的环境有冲突。推荐安装pyenv做python的版本管理。

编译完成后,ls如图所示

 可以看到rk356x_xxx.bin和uboot.img文件,其文件就是上面OpenHarmony所介绍的两个文件。

烧录前可以使用命令检查文件是否完整

fdtdump uboot.img

 运行命令后,如果存在atf-x格式的数据,证明文件是完整的,否则刷入后可能会变砖。

http://www.dtcms.com/wzjs/445306.html

相关文章:

  • 网站如何做漂浮窗体验营销案例分析
  • 河北石家庄有什么好玩的地方泉州百度推广排名优化
  • wordpress 采集小说合肥网络优化公司有几家
  • 设计网站制作seo运营是什么意思
  • 杭州餐饮网站建设seo最新技巧
  • 阜南网站建设公司企业seo网站推广
  • 网站动图怎么做网页制作在线生成
  • 深圳网站设计网站制作如何屏蔽百度广告推广
  • 建立大数据平台西安优化网站公司
  • 公司企业邮箱号十大seo公司
  • 云主机怎样做网站自己怎么开电商平台
  • 品牌网站建设多少钱友情链接管理系统
  • 租车网站系统规划泰安网站制作推广
  • 网站上线怎么做在线seo工具
  • 做阿里巴巴网站口碑长沙网站制作关键词推广
  • 网站加速器推荐sem技术培训
  • 做外贸网站要什么条件排名seo公司哪家好
  • 临西企业做网站域名注册需要多久
  • 绿色环保网站模板广州网站营销推广
  • 罗湖草铺附近做网站百度关键词seo排名优化
  • 做海报素材网站武汉疫情最新动态
  • 南充微网站建设如何做网站营销推广
  • wordpress免费网站国外文章代写
  • 网站建设技术培训学校seo关键词排名优化案例
  • 北京工厂和商务楼宇稳步复工登封网站关键词优化软件
  • 个人博客网站建设方案域名权重
  • 蒙阴做网站百度推广竞价排名技巧
  • 湘潭做网站 去磐石网络社会新闻热点事件
  • 网站开发最新技术西安seo网站关键词
  • 网站建设费用标准建站工具有哪些