草庐IT

Linux驱动之系统移植----uboot移植(有设备树版本),完整移植.

uboot版本:uboot2020.04开发板:100ask_imx6ull_pro拿到官方uboot后第一步先编译烧写测试,查看哪些驱动可用,哪些不可用.根据开发板厂商提供的资料:使用mx6ull_14x14_evk_defconfig配置进行修改编译完成后将uboot设备树以及uboot.imx烧写到开发板中运行CPU:i.MX6ULLrev1.1792MHz(runningat396MHz)CPU:Industrialtemperaturegrade(-40Cto105C)at40CResetcause:PORModel:i.MX6ULL14x14EVKBoardBoard:MX6ULL

嵌入式Linux开发——解决uboot无法使用nfs服务从ubuntu中下载文件(TTT、cannot mount等错误)

前言:最近在学习正点原子嵌入式Linux开发板uboot的移植实验,移植完之后想测试网络部分的驱动能否工作正常。最后经过测试发现tftp可以正常下载,nfs却一直报错无法下载文件,最后也是折磨了两天才解决了问题,特写下此博客进行记录、总结。项目场景:我的轻薄本没有网口,事先买了一个刷过固件可以连校园网的路由器。准备好路由器之后,校园网通过一根网线接路由器的wan口,剩余两个lan口,一个接到正点原子alpha开发板的ENET2、笔记本电脑连路由器的WiFi、ubuntu改为桥接静态ip,使得三者在同一网段内(windows、ubuntu、uboot(不是linux内核))ubuntu192.1

IMX6ULL开发板,系统移植——第一步Uboot移植

        此篇为笔者在学习Linux开发时所遇到的一些操作凝练,旨在想学习Linux开发的小伙伴能不被Uboot移植难住,从而快速进入学习Linux驱动开发。    另外说明一下,本教程使用的是EMMC版1、编译nxp官方uboot        在Uboot开发包目录下,编写shell脚本,命名为mx6ull_emmc.sh#!/bin/bashmakeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-distcleanmakeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-mx6ull_14x14_evk_emmc

基于RK3588的嵌入式linux系统开发(四)——uboot镜像下载(基于RKDevTool工具)

        官方提供的SDK中包含RKDevTool工具(RKDevTool_Release_v2.92)和相应的驱动(DriverAssitant_v5.1.1)。本节主要介绍在windows操作系统环境下利用RKDevTool下载以上生成的uboot镜像和bootloader镜像。注意:本节使用的板卡硬件为ITX-3588J型号的开发板。具体流程如下图所示:1.首先安装USB驱动(DriverAssitant_v5.1.1),如何拷贝驱动和工具到windows本节不做介绍。图1安装usb驱动 2.拷贝uboot目录下,镜像合成生成的两个文件(uboot.img和rk3588_spl_l

linux-uboot 移植一 uboot启动加载过程

概述Linux系统启动之前还需要一段程序来进行引导工作,比如先初始化DDR内存等外设,然后将内核从外部的flash(nandflash、SD、EMMC等)中拷贝到DDR中,最后启动内核。这段程序就是BootLoader,它功能就是用于引导操作系统,类似于bios和windows的关系。UBOOT就是一款开源的BootLoader程序,可用于引导多种操作系统,并且支持多种体系结构(ARM、MIPCS、PPC、X86等),因此收到广泛的应用。uboot的全称是UniversalBootLoader,uboot是一个遵循GPL协议的开源软件,uboot是一个裸机代码。Uboot官方会定期发布各种版本

IMX6ULLPRO单独编译kernel+dtb内核模块以及uboot

目录linux开发板启动流程为什么编译驱动程序之前要先编译内核?驱动程序要用到内核文件:编译内核编译安装内核模块编译内核模块安装内核模块到Ubuntu某个目录下备用 安装内核和模块到开发板上 Bootloader介绍编译u-boot镜像linux开发板启动流程Reset-->ROM-->bootloader-->kernel+dtb-->rootfs-->APP为什么编译驱动程序之前要先编译内核?驱动程序要用到内核文件:比如驱动程序中这样包含头文件:#include,其中的asm是一个链接文件,指向asm-arm或asm-mips,这需要先配置、编译内核才会生成asm这个链接文件。⚫编译驱动时

shell脚本将uboot zImage 和文件系统打包成为一个img系统镜像

1、img系统镜像一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。镜像文件的格式有ISO、BIN、IMG、TAO、DAO、CIF、FCD。所以,我们可以img文件可以简单理解为一个磁盘,可以存放二进制数据,可以进行分区,可以建立文件系统等操作。最近使用NXP的imx6ull开发,看官方给的程序烧录方法是使用官方给的mfgtools工具,通过usb将ubootkernelrootfs这些文件烧写到emmcnandflash或者sd卡等存储介质上面,这种方式效率比较低。官方推荐的量产烧写方式是把SD卡刷机,就是把SD卡做成启动盘,启动板子再把系统烧录emmc或者nandflash里面

RK3568平台入门到精通系列讲解之UBOOT开发篇(I2C操作)

一、简介uboot中i2c读写有2种方式,一种使用uboot驱动模型,通过宏CONFIG_DM_I2C定义,另一种是传统方式,通过宏CONFIG_SYS_I2C定义。二、uboot中使用I2C命令进行读写在uboot命令行中,通过定义宏CONFIG_CMD_I2C,可以打开i2ccmd子系统。输入i2c查看usage。i2cbus-查看当前总线i2cdev[dev]-设置总线号i2cmdchipaddress[.0,.1,.2][#ofobjects]-i2c设备读i2cmwchipaddress[.0,.1,.2]value[count]-i2c设备写=>i2cbusBus2:i2c@480

imx8的源码开发方式非yocto方式(二)——基于imx8的uboot源码移植经验

先从NXP官方的github源码库中下载各个版本的u-boot,uboot的下载地址为:GitHub-nxp-imx/uboot-imx:i.MXU-Boot图1选择uboot版本1.本文下载最新的uboot版本(lf-5.15.71-2.2.0)的tar.gz的压缩包。图2拷贝、解压uboot源码到工作目录2.拷贝uboot源码到ubuntu工作目录,并解压uboot压缩包,流程如下图所示:图3拷贝、解压uboot源码到工作目录3.拷贝uboot目录下的arch/arm/dts目录下的imx8mm-evk.dtsi并重命名为imx8mm-lsl-evk.dtsi,如下图所示:cpimx8mm

【IMX6ULL驱动开发学习】10.设置uboot,通过tftp服务器加载内核与设备树,通过nfs挂载根文件系统

首先根据这篇博客,保证自己的开发板与Ubuntu主机处于同一个网段,并且可以ping通【IMX6ULL驱动开发学习】03.设置IMX6ULL开发板与虚拟机在同一网段1.在uboot中设置网络首先启动自己的板子进入Linux系统,使用ifconfig命令或者ifconfig-a命令查看自己网卡的地址ifconfigifconfig-a我的网卡地址是这个52:15:66:2E:16:71重启板子,uboot倒计时时,按任意键进入uboot设置ethaddrsetenvethaddr52:15:66:2E:16:71接着设置自己的ipsetenvipaddr192.168.1.100设置服务器ips