上一篇:《Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析
下一篇:《Hi3516开发笔记(五):通过HiTools使用网口将uboot、kernel、roofts和userdata按照分区表烧写镜像》敬请期待…

 

前言

  海思编译需要依赖一些海思的sdk,如海思的文件系统,BSP等,所以先要弄清楚文件系统的编译,海思的sdk都在里面,本篇主要是详细讲解海思uboot、kernel、roofts和userdata以及分区表的创建。

 

海思SDK

  找到开发资料中的海思SDK,如下图:
  
  将其拷贝到虚拟机ubuntu的work/src中,如下图:
  
  然后解压到work/sdk下,先解压到当前目录下:
  

  然后mv挪过去:
  

 

从头至尾全编译

  • 目标1:修改文件系统ip地址固定为192.168.0.210
  • 目标2:熟悉使用sdk只做修改后的文件系统量产刷包
      修改下文件系统中对于ip地址的设定,rootfs下的/userdata/userdata.conf,该文件是配置ip地址,修改静态ip地址为“192.168.0.210”,但是没又找到,查看sdk有一个专门编译userdata的命令,流程如下:
./make.sh uboot # 编译 uboot 完成,在 osdrv/pub/ 目录生成 u-boot-hi3516dv300.bin
./make.sh kernel # 在 osdrv/pub/ 目录生成 uImage_hi3516dv300_smp
./make.sh sample # 编译 sample 下所有 sample 程序,编译前会先 clean,将原有编译清理掉
./make.sh userdata # 编译 userdata ,会在 osdrv/pub/ 生成userdata链接
./make.sh rootfs # 在 osdrv/pub/ 目录生成 rootfs_hi3516dv300.ext4
./make.sh # 编译以上所有镜像

  是在第四步骤编译userdata会成圣userdata连接,此时修改userdata里面的ip配置即可。

步骤一:编译uboot

  在 osdrv/pub/ 目录生成 u-boot-hi3516dv300.bin

./make.sh uboot

  

步骤二:编译kernel内核

  在 osdrv/pub/ 目录生成 uImage_hi3516dv300_smp

./make.sh kernel

  

步骤三:编译sample(开发板特有的,覆盖在文件系统上)

  编译 sample 下所有 sample 程序,编译前会先 clean,将原有编译清理掉

./make.sh sample

  

步骤四:编译userdata(开发板特有的实际的配置文件)

  编译 userdata ,会在 osdrv/pub/ 生成userdata链接,此时我们就修改生成的userdata文件下的ip地址(使其静态配置为192.168.0.210)。

./make.sh userdata

   
  发现并没有生成/userdata/user.conf,查看make的userdata的命令,如下图:
  

  是通过mk-userdata-image.sh生成的配置文件,找到mk-userdata-img.sh查看,并修改ip地址和广播地址如下:
  
  然后重新生成。

./make.sh userdata

步骤五:编译rootfs

  在 osdrv/pub/ 目录生成 rootfs_hi3516dv300.ext4

./make.sh rootfs

  
  至此,uboot启动引导到内核然后启用文件系统(sample和userdata是本开发本特有的,添加在原始文件系统上的)三个镜像都有了(即uboot、kernel、rootfs三个镜像)。
  然后提取到windows系统上,如下图:
  

 

上一篇:《Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析
下一篇:《Hi3516开发笔记(五):通过HiTools使用网口将uboot、kernel、roofts和userdata按照分区表烧写镜像》敬请期待…

 

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121572767

Hi3516开发笔记(四):Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表的更多相关文章

  1. Hi3516开发笔记(六):通过HiTools使用USB/串口将uboot、kernel、roofts和userdata按照分区表烧写镜像

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121706033红胖子(红模仿)的博文大全:开发技术集合( ...

  2. Hi3516开发笔记(二):Hi3516虚拟机基础环境搭建之串口调试、网络连接以及sftp文件传输

    前言   搭建Hi3516的基础虚拟机,为交叉编译环境搭建前期工作.后续会编译一个基本的C语言程序Demo,在HI3516上跑.   虚拟机   开发本对虚拟机做了一些基本要求,如下图:    其实重 ...

  3. Hi3516开发笔记(一):海思HI3516DV300芯片介绍,入手开发板以及Demo测试

    前言   目前主流国产芯片为RV11XX.RK33XX.Hi35XX系列,本系列开启Hi3516系列的开发教程.   Hi3516DV300芯片介绍   Hi3516DV300为专业行Smart IP ...

  4. Django开发笔记四

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.邮箱激活 users app下,models.py: ...

  5. Hi3516开发笔记(十):Qt从VPSS中获取通道图像数据存储为jpg文件

    前言   上一篇已经将himpp套入qt的基础上进行开发.那么qt中拿到frame则是很关键的交互,这是qt与海思可能编解码交叉开发的关键步骤.   受限制   因为直接配置sample的vi比较麻烦 ...

  6. Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析

    前言   前面进行了可以传输,那么写一个简单的C程序来交叉编译并传入运行.   虚拟机   上一篇搭建的虚拟机环境,包含了sftp传递文件,网络能ping通,基于上一篇的虚拟机继续搭建.   海思交叉 ...

  7. Hi3516开发笔记(五):通过HiTools使用网口将uboot、kernel、roofts和userdata按照分区表烧写镜像

    前言   前面生成了uboot,kernel,sample,userdata(我们实际修改了ip的),rootfs,现在需要烧写进入核心板.   使用网口烧写镜像(海思烧写必须占用调试串口) 步骤一: ...

  8. iOS开发笔记18:一些编译、开发调试、打包的细节整理

    1.以链库的方式引用第三方库 一些特殊场景可能会要求使用链库的方式使用第三方库,大体设置如下: ①Other Linker Flags里进行设置,格式为-l+库名称 ②Libray Search Pa ...

  9. Django开发笔记六

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.登录功能完善 登录成功应该是重定向到首页,而不是转发 ...

随机推荐

  1. Servlet和Servlet容器

    Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,它由Servlet容器所管理,用于生成动态的内容, Servlet是平台独立的Java类,编写一个S ...

  2. Jenkins 进阶篇 - 单元测试覆盖率

    我们做项目开发,肯定免不了要写单元测试,不管是 Java 项目.Python 项目.PHP 项目,甚至是 nodejs 项目,都应该要写单元测试,本小节就来介绍单元测试的覆盖率报告输出和展示,在后面的 ...

  3. django通过管理页上传图片

    1.配置目录 新建上传录.static/medis 2.设置上传文件保存路径 # setting.py中设置上传文件路径static/media MEDIA_ROOT = os.path.join(B ...

  4. PromQL的简单使用

    PromQL的简单使用 一.背景 二.PromQL的数据类型 三.字面量 1.字符串字面量 2.浮点数字面量 四.时间序列选择器 1.即时向量选择器 1.组成部分 2.指标名称和匹配器的组合 3.匹配 ...

  5. 修改git仓库的远程地址

    在我们开发的过程中,代码一般是由 git 来管理的,但有些时候我们的 git 仓库的地址可能发生了变换,比如我们使用的 gitLab 地址发生了变化,那么这个时候如何来将原项目的 git 地址进行修改 ...

  6. 嵌入式大佬给你分析stm32串口

    stm32作为现在嵌入式物联网单片机行业中经常要用多的技术,相信大家都有所接触,今天这篇就给大家详细的分析下有关于stm32的出口,还不是很清楚的朋友要注意看看了哦,在最后还会为大家分享有些关于stm ...

  7. 利用Ambari平台安装与部署Hadoop

    * 本篇是利用Ambari平台安装与部署Hadoop,如果需要原生部署Hadoop,请点击以下地址: https://www.cnblogs.com/live41/p/15467263.html 一. ...

  8. 第一个只出现一次字符的位置 牛客网 剑指Offer

    第一个只出现一次字符的位置  牛客网 剑指Offer 题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 ...

  9. hdu 5090 Game with Pearls (额,, 想法题吧 / 二分图最大匹配也可做)

    题意: 给你N个数,a1,,,,an.代表第i个管子里有ai个珍珠. 规定只能往每根管里增加k的倍数个珍珠. 如果存在一套操作,操作完毕后可以得到1~N的一个排列,则Jerry赢,否则Tom赢. 问谁 ...

  10. 极速上手 VUE 3—v-model 的使用变化

    本篇文章主要介绍 v-model 在 Vue2 和 Vue3 中使用变化. 一.Vue2 中 v-model 的使用 v-model 是语法糖,本质还是父子组件间的通信.父子组件通信时有两种方式: 父 ...