海思平台osdrv顶层makefile使用说明(代码片段)

coding码场 coding码场     2022-12-05     396

关键词:

本目录下的编译脚本支持 arm-himix200-linux,arm-himix200-linux工具链对应glibc库。具体命令如下(以hi3516dv300举例)
注意:
    由于开源工具整改,部分开源工具不再提供源码包,客户编译OSDRV时需要自行下载:
    a:linux-4.9.37.tar.gz (https://www.kernel.org/pub/)
        将下载的 linux-4.9.37.tar.gz 存放到 osdrv的opensource/kernel目录中

       各个内核的版本压缩包位置: https://mirrors.kernel.org/pub/linux/kernel/

也可以命令行下:

cd osdrv/opensource/kernel/
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.9.37.tar.gz

    b:yaffs2utils-0.2.9.tar.gz (https://github.com/dorigom/yaffs2utils/releases)
        将下载的 yaffs2utils-0.2.9.tar.gz 存放到osdrv的tools/pc/mkyaffs2image/目录中

cd osdrv/tools/pc/mkyaffs2image/
wget --no-check-certificate https://codeload.github.com/dorigom/yaffs2utils/tar.gz/0.2.9 -O yaffs2utils-0.2.9.tar.gz

    c:gdb-7.9.1.tar.gz  (http://ftp.gnu.org/gnu/gdb/)
        将下载的 gdb-7.9.1.tar.gz 存放到 osdrv的tools/board/gdb/目录中

cd osdrv/tools/board/gdb/
wget http://ftp.gnu.org/gnu/gdb/gdb-7.9.1.tar.gz

    d:ncurses-6.0.tar.gz  ( http://ftp.gnu.org/gnu/ncurses/)
        将下载的 ncurses-6.0.tar.gz 存放到 osdrv的tools/board/gdb/目录中

cd osdrv/tools/board/gdb/
wget http://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz

    e:util-linux-2.31.tar.gz (https://www.kernel.org/pub/linux/utils/util-linux/v2.31)

        将下载的 util-linux-2.31.tar.gz 存放到 osdrv的tools/pc/cramfs_tool/目录中

osdrv/tools/pc/cramfs_tool/
wget https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.31/util-linux-2.31.tar.gz

(1)编译整个osdrv目录:
    注意:默认不发布内核源码包,只发布补丁文件。内核源码包需自行从开源社区上下载。
          从linux开源社区下载v4.9.37版本的内核:
         1)进入网站:www.kernel.org
         2)选择HTTP协议资源的https://www.kernel.org/pub/选项,进入子页面
         3)选择linux/菜单项,进入子页面
         4)选择kernel/菜单项,进入子页面
         5)选择v4.x/菜单项,进入子页面
         6)下载linux-4.9.37.tar.gz (或者linux-4.9.37.tar.xz)到osdrv/opensource/kernel目录下     
    
    make all

注意:由于Makefile中文件系统编译依赖组件较多,不能保证单独编译的文件系统可用,建议采用make all编译;
        但可单独编译uboot,kernel;

u-boot顶层makefile分析

...本执行后会生成以下3个文件,这些文件中提供的变量会在Makefile中其它地方使用。116#loadARCH,BOARD,andCPUconfiguration117include$ 查看详情

海思官方makefile源码的学习3(代码片段)

下面是一段海思官方的makefile的代码,VSS_CFLAGS:=-fno-aggressive-loop-optimizationsVSS_CFLAGS+=-ffunction-sections-fdata-sectionsVSS_CFLAGS+=-Wall-g-Wno-date-timeVSS_CFLAGS+=-fstac 查看详情

顶层makefile分析(代码片段)

1.顶层目录下的Makefile        OpenHarmony/kernel/liteos_a/Makefile-include$(LITEOSTOPDIR)/tools/build/config.mk#包含kernel/liteos_a/tools/build/config.mkLITEOS_TARGET=liteosLITEOS_PLATFORM_BASE=$(LITE 查看详情

linux内核顶层makefile详解

...c;在具体移植之前,我们先来学习一下Linux内核的顶层Makefile文件,因为顶层Makefile控制着Linux内核的编译流程。 查看详情

linux系统移植:kernel顶层makefile(下)(代码片段)

文章目录Linux系统移植:Kernel顶层Makefile(下)一、makedefconfig过程二、Makefile.build脚本分析三、make过程四、built-in.o文件编译生成过程五、makezImage过程Linux系统移植:Kernel顶层Makefile(下)继续分析Linux内核... 查看详情

linux系统移植:u-boot顶层makefile分析(上)(代码片段)

目录Linux系统移植:U-Boot顶层Makefile分析(上)一、版本号二、传递变量到子make三、命令输出四、静默输出五、编译输出目录六、代码检查七、模块编译八、获取主机架构和系统九、设置目标架构、交叉编译器和配置... 查看详情

第4课.编写通用的makefile(代码片段)

1.框架1.顶层目录的Makefile2.顶层目录的Makefile.build3.各级子目录的Makefile2.概述1.各级子目录的Makefile:它最简单,形式如下:obj-y+=file.oobj-y+=subdir/"obj-y+=file.o"表示把当前目录下的file.c编进程序里,"obj-y+=subdir/"表示要... 查看详情

u-boot顶层makefile介绍(*)(代码片段)

参考:U-Boot顶层Makefile介绍作者:一只青木呀发布时间:2020-10-2216:22:17网址:https://blog.csdn.net/weixin_45309916/article/details/109218569目录1、准备好uboot源码2、分析顶层Makefile2.1、版本号2.2、MAKEFLAGS变量2.3、 查看详情

linux系统移植:kernel顶层makefile(上)(代码片段)

文章目录Linux系统移植:Kernel顶层Makefile(上)一、版本号二、MAKEFLAGS变量三、命令输出四、静默输出五、编译结果输出目录六、代码检查七、模块编译八、设置目标架构和交叉编译器九、调用构建文件十、交叉编译... 查看详情

u-boot-2016.09顶层makefile分析

##SPDX-License-Identifier: GPL-2.0+#VERSION=2016PATCHLEVEL=09SUBLEVEL=EXTRAVERSION=NAME=#*DOCUMENTATION*#Toseealistoftypicaltargetsexecute"makehelp"#Moreinfocanbelocatedin./README#Commentsinthisfilear 查看详情

海思hi3519av100emmcflash方式linux系统移植hitool工具烧写(代码片段)

因为我这里的海思文档只有SPINORFlash方式的详细烧写步骤,没有emmc方式的,本文提供一个自己成功的案例仅供参考和记录1.准备SDK、安装交叉编译工具、编译osdrv1.1解压SDK包 将Hi3519AV100_SDK_Vx.x.x.x.tgz文件放入ubuntu系统下ÿ... 查看详情

海思官方makefile源码的学习3(代码片段)

下面是一段海思官方的makefile的代码,VSS_CFLAGS:=-fno-aggressive-loop-optimizationsVSS_CFLAGS+=-ffunction-sections-fdata-sectionsVSS_CFLAGS+=-Wall-g-Wno-date-timeVSS_CFLAGS+=-fstack-protectorVSS_CFLAGS+=-DVER_X=1-DVER_Y=0-DVER_Z=0-DVE... 查看详情

嵌入式linux7.u-boot顶层makefile分析(代码片段)

...用ifeq来判断"$(originV)"和"commandline"是否相等。这里用到了Makefile中的函数originorigin和其他的函数不一样,它不操作变量的值, 查看详情

远程代答平台的使用心得

  远程代答平台的出现对于验证码识别技术是一个新的里程碑,在现在良莠不齐的打码市场需要小心进行选择,一定要跟客服详细了解,现在打码平台有多种类型。  对我们使用者的作用:  1减少用户注册... 查看详情

linux系统移植:u-boot顶层makefile分析(下)(代码片段)

目录Linux系统移植:U-Boot顶层Makefile分析(下)一、调用scripts/Kbuild.include二、导出交叉编译工具变量设置三、导出其他变量四、makexxx_config过程五、make过程Linux系统移植:U-Boot顶层Makefile分析(下)继续沿着... 查看详情

嵌入式开发(s5pv210)——u-boot的顶层makefile分析(代码片段)

前言本文分析的是u-boot的主Makefile以及主Makefile调用到的一些关键文件,此Makefile可能和你手里的u-boot的Makefile不一样,这是正常的,但是从逻辑上都是一样的,无非就是把同样功能的脚本放在了不同的位置或者子Ma... 查看详情

海思hi3516dv300之ubuntu20.04环境搭建和编译

一、环境搭建1、SDK版本为:Hi3516CV500R001C02SPC020/01.software/board/Hi3516CV500_SDK_V2.0.2.0.tgz2、安装相关库:sudoaptinstalllsb-corelib32stdc++6u-boot-toolszlib1g-devliblzo2-devuuid-devpkg-config texlivebisongperf3、修改sh为bash:Ubuntu默认sh为dash,... 查看详情

海思hi3516dv300之ubuntu20.04环境搭建和编译

一、环境搭建1、SDK版本为:Hi3516CV500R001C02SPC020/01.software/board/Hi3516CV500_SDK_V2.0.2.0.tgz2、安装相关库:sudoaptinstalllsb-corelib32stdc++6u-boot-toolszlib1g-devliblzo2-devuuid-devpkg-config texlivebisongperf3、修改sh为bash:Ubuntu默认sh为dash,... 查看详情