飞凡Hi3536内核编译与烧写
开发平台:飞凡嵌入式Hi3536
开发板采用SPI NORFlash启动,默认内核不支持USB摄像头工作,需重新编译内核,并烧写系统。
一、编译内核
采用Hisi官方提供的SDK中内核linux-3.10.y,配置文件为hi3536_full_A17_slave_defconfig。主要流程:
#cd /opt/hi3536/Hi3536_SDK_V2.0.2.0/osdrv/opensource/kernel/linux-3.10.y
#cp arch/arm/configs//hi3536_full_A17_slave_defconfig .config
#make ARCH=arm CROSS_COMPILE=arm-hisiv400-linux- menuconfig
由于对Linux驱动架构不熟悉,也不能确定所使用USB摄像头的属类,这里将所有V4L2相关驱动全部选上,在menuconfig 搜索V4L2将所有的选为Y,注意依赖项的选择,如果依赖关系不正确的,menuconfig会提示。
保存、退出得到所需要的配置文件,然后编译内核
#make ARCH=arm CROSS_COMPILE=arm-hisiv400-linux- uImage
二、烧写系统
1、参数配置
配置tftp服务器
#可以使用任意的tftp服务器,将相关文件拷贝到tftp服务器目录下;
#单板上电后,敲任意键进入u-boot。设置serverip(即tftp服务器的ip)、ipaddr(单板ip)和ethaddr(单板的MAC地址)。
setenv serverip xx.xx.xx.xx
setenv ipaddr xx.xx.xx.xx
setenv ethaddr xx:xx:xx:xx:xx:xx
setenv netmask xx.xx.xx.xx
setenv gatewayip xx.xx.xx.xx
ping serverip,确保网络畅通。
2、根据系统硬件的配置,选择合适的烧写方案。我的开发办为SPI NOR启动,采用的是“烧写双主控(SPIBOOT_NAND256M).txt”,注意的是由于我编译出的内核大于了4M,按照原本的文件内核空间是没有4M的,是没有办法烧写的,所以要做修改。修改后文件如下:
*****************************************************************************
烧写双主控(SPIBOOT_NAND256M).txt
*****************************************************************************
烧写Glibc映像文件到SPI Flash1)地址空间说明(其中,m表示master arm;s表示slave arm)
| 1M | 6M | 12M | 1M | 4M | 6M |
|---------------|---------------|---------------|---------------|---------------|---------------|
| boot(m) | kernel(m) | empty(m) | boot(s) | kernel(s) | rootfs(s) |以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。2)烧写主u-boot
mw.b 0x42000000 0xff 0x100000
tftp 0x42000000 osdrv_master/image_glibc/u-boot-hi3536.bin
sf probe 0
sf erase 0x0 0x100000
sf write 0x42000000 0x0 0x100000
reset3)烧写主内核
mw.b 0x42000000 0xff 0x600000
tftp 0x42000000 osdrv_master/image_glibc/uImage_hi3536
sf probe 0
sf erase 0x100000 0x600000
sf write 0x42000000 0x100000 0x6000004)擦除空白,主文件系统放nand上
sf probe 0
sf erase 0x700000 0xc000005)烧写从u-boot
mw.b 0x42000000 0xff 0x100000
tftp 0x42000000 osdrv_slave/image_glibc/u-boot-hi3536.bin
sf probe 0
sf erase 0x1300000 0x100000
sf write 0x42000000 0x1300000 0x1000006)烧写从内核
mw.b 0x42000000 0xff 0x400000
tftp 0x42000000 osdrv_slave/image_glibc/uImage_hi3536
sf probe 0
sf erase 0x1400000 0x400000
sf write 0x42000000 0x1400000 0x4000007)烧写从文件系统
mw.b 0x42000000 0xff 0x600000
tftp 0x42000000 osdrv_slave/image_glibc/rootfs-SLV_FULL_REL.cramfs.initrd.img
sf probe 0
sf erase 0x1800000 0x600000
sf write 0x42000000 0x1800000 0x6000008)烧写主文件系统
mw.b 0x42000000 0xff 0x7000000
tftp 0x42000000 osdrv_master/image_glibc/rootfs_hi3536_2k_4bit_spiboot.yaffs2
nand erase;nand write.yaffs 0x42000000 0x0 0x661b180;(实际的文件系统大小)9)设置启动参数
setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mtdblock3 rootfstype=yaffs2 mtdparts=hi_sfc:1M(boot),6M(kernel),12M(norflash);hinand,256M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x42000000 0x100000 0x600000;bootm 0x42000000'
setenv slave_autostart 1
setenv slave_bootcmd 'sf probe 0;sf read 0x81000000 0x1300000 0x80000;sf read 0x82000000 0x1400000 0x400000;sf read 0x83000000 0x1800000 0x600000;bootm 0x81000000 0x82000000 0x83000000'
setenv slave_bootargs 'mem=96M console=ttyAMA0,115200'
sa
之后重启,插入USB摄像头,会看到生成的 /dev/video0设备文件。
飞凡Hi3536内核编译与烧写相关推荐
- Jetson TX1内核kernel编译与烧写
Data: 2017.09.13 Author: cjh Theme: Jetson TX1内核kernel编译与烧写 PS :本人用的JetPack版本为3.0 1. Getting ...
- Uboot初次编译、烧写、启动(启动界面log简析)
目录 U-Boot 初次编译 U-Boot 烧写与启动 上述笔记第三点就是建立shell脚本实现的 第四点就是修改Makefile文件实现的,下面均有实现步骤讲解. U-Boot 初次编译 先编译体验 ...
- RV1126编译及烧写
文章目录 前言 一.编译内核.根文件系统及烧写 1.编译 2.烧写 二.APP编译 1.配置编译规则 总结 前言 对于第一次拿到rv1126板子还是挺陌生的,本文适合新手小白参看. 一.编译内核.根文 ...
- Orangepi 3 全志H6 uboot的编译与烧写
Orangepi 3 全志H6 uboot的编译与烧写 使用OrangePi_SDK中shell脚本编译uboot 不使用OrangePi_SDK中shell脚本编译uboot 环境:Ubuntu18 ...
- A33_Vstar_Android_SDK开发 编译及烧写遇到的问题【汇总】
A33_Vstar_Android_SDK开发 遇到的问题 整理一下Android SDK编译及烧写的时候,遇到的问题和解决的办法 问题1 .tar.bz2文件解压命令 解决办法: .tar.gz ...
- Android实战技巧之四十:Android5.1.1源代码编译与烧写
购买Nexus手机的朋友大多是为了自己修改系统玩,再加上其较高的性价比,在开发者中还是广受欢迎的.我的5太子被我升级到了6.0预览版,玩的正嗨,舍不得换回到5.1时代了.不过鉴于距6.0源码发布还有段 ...
- Android实战技巧之四十 Android5 1 1源代码编译与烧写
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 购买Ne ...
- DM365 linux内核文件系统的烧写步骤及其uboot参数配置
DM365 linux内核&文件系统的烧写步骤及其uboot参数配置 目录 源文档下载:http://download.csdn.net/detail/zhangjikuan/6443 ...
- ZynqLinux最小系统系列—— 4、Petalinux工程创建与编译以及烧写到FLASH(二)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ZynqLinux最小系统系列-- 4.Petalinux工程创建与编译以及烧写到FLASH(二) 写在前面 接上一篇 烧写FLASH ...
最新文章
- 【GLib】GLib学习笔记(一):GLib、GObject、GType
- 线性规划与网络流24题 负载平衡问题
- fastdfs java client_GitHub - happyfish100/fastdfs-client-java: FastDFS java client SDK
- WebSocket剖析
- Python操作MySQL(一)
- java中奇偶数的判断
- tomcat xjar 加密_XJar Spring Boot JAR 安全加密运行工具
- 7. Simple Product
- Python让繁琐工作自动化——chapter13 处理PDF和Word文档
- DL实战(3):cfNet- Matlab配置
- 计算机无法安装蓝牙驱动,win7电脑蓝牙驱动怎么安装,教您怎么安装
- apksigner --> apk签名工具
- 论文解读——神经网络翻译中的注意力机制 以及 global / local attention
- HHKB键盘使用说明书
- 2021英国硕士计算机专业排名,2020年伦敦国王学院先进的计算机专业硕士申请条件-学费-世界排名...
- 【图像加密】基于matlab GUI正交拉丁方置乱+混沌图像加密解密【含Matlab源码 636期】
- 公路车sava和Java_入门之作 意外惊喜 SAVA追风5.0公路车 评测
- 消息队列系列之分布式消息队列Kafka
- html星星坠落效果,抖音星球坠落特效怎么弄 摘下星星送给你
- 【Windows基础】NTFS文件系统
热门文章
- 如何关掉 PC QQ 烦人的 QQ 频道
- JAVA开发(byte和string转换类型的坑)
- 8k分辨率是多少像素
- qgis自动获取建筑和道路矢量
- 传统企业数字化现状和问题
- 【LVGL学习笔记】(五)使用SquareLine Studio设计UI
- python倾向匹配得分_倾向评分匹配的SPSS和R实现方法
- 男生学护理和学计算机哪个好,护理专业是做什么的 男生学护理发展好吗
- CorelDRAW 足球制作完你一个自己绘出足球的梦
- 苹果nfc功能怎么开启_苹果手机自带会议记录功能!一键开启这个按钮,快速记录重要内容...