目录网络操作命令ping命令nfs命令tftp命令EMMC和SD卡操作命令mmcinfo命令mmcrescan命令mmclist命令mmcdev命令mmcpart命令mmcread命令mmcwrite命令mmcerase命令FAT格式文件系统操作命令fatinfo命令fatls命令fstype命令fatload命令fatwrite命令EXT格式文件系统操作命令网络操作命令uboot是支持网络的,我们在移植uboot的时候一般都要调通网络功能,因为在移植linuxkernel的时候需要使用到uboot的网络功能做调试。uboot支持大量的网络相关命令,比如dhcp、ping、nfs和tftpbo
一、编译厂商提供的uboot此处,我使用的是九鼎提供的uboot:二、烧录uboot到SD卡进入uboot的sd_fusing目录,执行命令烧写uboot:./sd_fusing.sh/dev/sdb。三、将SD卡插入开发板,进入uboot按任意键,进入uboot命令行:四、编译x210的linuxkernel,得到zImage五、拷贝zImage到tftp服务器六、从tftp服务器拷贝zImage将Linuxkernel拷贝到30008000。七、使用bootm启动内核
目录1.mmc命令的用法说明:2.mmc调试示例:2.1初始化mmc设备2.2擦除一定大小的block2.3加载bin文件到DDR2.4 mmc写入数据2.5 mmc读出数据2.6导出数据到新文件2.7对比文件3.其他mmc命令1.mmc命令的用法说明: 2.mmc调试示例:2.1初始化mmc设备=>mmcinfo 2.2擦除一定大小的block擦除从第4096个block开始的1008个block。=>mmcerase0x10000x3f0 2.3加载bin文件到DDR从仿真器加载result.bin(任意bin文件)到DDR0x10000000处。2.4 mmc写入数据将之前加载的b
0、uboot和内核区别uboot的本质就是一个复杂点的裸机程序。内核本身也是一个"裸机程序“,和uboot、和其他裸机程序并没有本质区别。区别就是操作系统运行起来后在软件上分为内核层和应用层,分层后两层的权限不同,在内存访问和设备操作的管理上更加精细(内核可以随便访问各种硬件,而应用程序只能被限制的访问硬件和内存地址)。直观来看:uboot的镜像是u-boot.bin,linux系统的镜像是zImage,这两个东西其实都是两个裸机程序镜像。从系统的启动角度来讲,内核其实就是一个大的复杂点裸机程序。1、嵌入式系统部署在SD卡中特定分区内(1)一个完整的嵌入式系统,静止时(未上电时)bootlo
此系列博客,仅对Xilinx平台PS端(ARM部分)开发做介绍,不对PL(FPGA)做过多介绍。目录一.单独编译UBoot2.1.拷贝源码2.拷贝配置文件3.编译二.单独编译内核源码2.1复制内核源码2.2复制配置文件(根据芯片,32位复制到arch/arm/configs,64位到arch/arm64/configs)2.3复制.its文件,用于生成image.ub,可复制到linux源码顶层目录,和Makefile同级2.4Makefile配置芯片架构以及编译工具链2.5使能配置2.6移植设备树文件2.7生成镜像一.单独编译UBoot当Uboot源码使用默认配置,从网络下载时,需要进行步骤
目录一、前言二、F1C200s上电启动顺序三、前期准备四、新建用户五、交叉编译环境配置六、uboot简介七、uboot移植🍏uboot下载🍏 uboot默认配置🍏 uboot图形界面配置🍏uboot编译🍏烧录bin文件八、uboot启动测试九、参考内容一、前言在移植Linux之前我们需要先移植一个bootloader代码,这个bootloader代码用于启动Linux内核,bootloader有很多,常用的就是uboot。移植好uboot以后再移植Linux内核,移植完Linux内核以后Linux还不能正常启动,还需要再移植一个根文件系统(rootfs),根文件系统里面包含了一些最常用的命令和
目录一、数据传输1.1APP和驱动 1.2驱动和硬件二、APP使用驱动的4种方式2.1非阻塞(查询)2.2阻塞(休眠+唤醒)2.3POLL(休眠+唤醒+超时时间)2.3.1 POLL机制流程2.3.2 POLL执行流程2.3.3 POLL应用和驱动编程 2.4异步通知2.4.1异步通知流程2.4.1异步通知应用和驱动编程一、数据传输1.1APP和驱动 APP和驱动之间的数据访问是不能通过直接访问对方的内存地址来操作的,这里涉及Linux系统中的MMU(内存管理单元)。在驱动程序中通过这两个函数来获得APP和传给APP数据:copy_to_usercopy_from_user简单来讲,应用程序与
目录一、DHT11简介1.1DHT11模块硬件设计1.2DHT11模块软件设计1.3DHT11通讯协议1.4 DHT11数据格式二、相关代码2.1驱动代码2.2测试代码2.3上板子测试一、DHT11简介DHT11是一款可测量温度和湿度的传感器。比如市面上一些空气加湿器,会测量空气中湿度,再根据测量结果决定是否继续加湿。DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,具有超小体积、极低功耗的特点,使用单根总线与主机进行双向的串行数据传输。DHT11测量温度的精度为±2℃,检测范围为-20℃-60℃。湿度的精度为±5%RH,检测范围为5%RH-95%RH,常用于对精度和实
目录一、驱动程序分离的思想二、设备树2.1使用设备树三、平台总线设备驱动模板一、驱动程序分离的思想【IMX6ULL驱动开发学习】05.字符设备驱动开发模板(包括读写函数、poll机制、异步通知、定时器、中断、自动创建设备节点和环形缓冲区)_阿龙还在写代码的博客-CSDN博客之前编写驱动程序的代码存在不少弊端:移植性差,驱动程序移植到别的板子上时,开发者需要修改引脚。,并且还要重新编译驱动程序或内核。为提高移植和开发效率,驱动程序分离编程的思想尤为重要。首先我们要知道: 内核里有个结构体platform_bus_type(虚拟的总线),总线上抽象出两个链表:设备链表和驱动链表。我们在写驱动程序时
承接上一篇博客【IMX6ULL驱动开发学习】11.驱动设计之面向对象_分层思想(学习设备树过渡部分)代码获取:https://gitee.com/chenshao777/imx6-ull_-drivers我后面将三个层合并了(实际上只有前两层),合并成一个dev_drv.c了,暂时没有加GPIO操作,只是个框架合并前的代码在11.button_drv_chip_device-tree文件夹中合并后的代码在12.led_button_drv_tree文件夹中,文章最后把代码贴出来打算在第13次代码中加入GPIO子系统的代码,并且根据Pinctrl子系统编写设备树,使得外设控制更简单,敬请期待哦!