U-Boot

imx6q-plus-Android6.0下uboot添加网卡驱动

蓝咒 提交于 2019-12-05 22:32:10
1、文件: iTOP-iMX6_android6.0.1/bootable/bootloader/uboot-imx/include/configs/mx6sabre_common.h 修改如下: #define CONFIG_FEC_MXC_PHYADDR 0 #define CONFIG_PHYLIB /*#define CONFIG_PHY_ATHEROS*/ #define CONFIG_PHY_REALTEK #define CONFIG_ETHADDR 0e:b4:00:52:24:0e #define CONFIG_NETMASK 255.255.255.0 #define CONFIG_IPADDR 192.168.1.165 #define CONFIG_SERVERIP 192.168.1.164 #define CONFIG_GATEWAYIP 192.168.1.1 文件: iTOP-iMX6_android6.0.1/bootable/bootloader/uboot-imx/drivers/net/phy/phy.c 添加: mdelay(10); 来源: https://my.oschina.net/u/3005926/blog/3134790

全志H3启动分析,移植主线UBOOT

时间秒杀一切 提交于 2019-12-05 22:21:43
全志H3启动分析,移植主线UBOOT 参考资源 http://linux-sunxi.org/Main_Page 启动流程 因为使用的是外扩SD卡,因此主要参考了这部分内容; Bootable SD card SD卡Layout如下: start sector size usage 0KB 0 8KB 未使用,主要用于存放分区表 8KB 16 32KB Init SPL 40KB 80 - U-Boot SD卡的起始地址处放的是分区表MBR(占用512B)或者GPT(更多),为了保证SD卡还能用于其他目的,所以前8KB是不能用的; 8KB开始存放U-Boot-spl以及U-boot镜像; 后续未使用区域可以分成FAT分区 + 其他分区,FAT分区中存放linux kernel + DTB文件 + boot.scr,其他分区主要存放根文件系统,或者其他分区; 上边这些规定都是全志定死的,如果从SD卡引导,只能按这个流程走。 来源: https://my.oschina.net/u/4232364/blog/3134751

STM32F746-DISCO运行Linux4.19

自闭症网瘾萝莉.ら 提交于 2019-12-05 22:10:54
STM32F746-DISCO运行Linux4.19 Linux Kernel 主线linux已经提供对无MMU的处理器的支持,configs中已经存在stm32_defconfig,DTS中包含:stm32f746-disco;因此只需要编译即可。 下载主线源码: http://cdn.kernel.org/pub/linux/kernel/v4.x 安装交叉编译链,可以使用之前编译uboot的arm-none-eabi-gcc,但是这个是编译链线程模式是single,而不是posix,也就是说虽然这个编译链可以编译内核和根文件系统,但是不能编译linux应用程序。如果需要支持编译linux应用程序(一般要支持,不然移植linux干嘛--!),则需要自己去构建交叉编译链,网上讲解的比较详细,不过我推荐使用Buildroot来构建支持stm32的交叉编译链,简单快捷,当然也可以用Buildroot来构建内核和根文件系统。 根文件系统 根文件系统可以使用busybox构建,也可以使用buildroot构建。 elinux.org提供了一个使用busybox编译好的Ramdisk最小系统, File:Stm32 mini rootfs.cpio.bz2 , 但需要做如下改动: 使用initramfs,将下载的Stm32_mini_rootfs.cpio.bz2解压,先解压成cpio文件

STM32F746-DISCO移植U-Boot 2019.07

谁都会走 提交于 2019-12-05 19:23:48
STM32F746-DISCO移植U-Boot 2019.07 硬件平台介绍 Stm32f746-disco: 片内Flash:1MB 片内SRAM:340KB SDRAM: 8MB QSPI Flash: 16MB 源码及编译器 U-Boot2019.07 源码 https://ftp.denx.de/pub/u-boot/ 交叉编译链 gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2 系统:Fedora U-Boot启动过程及分析 U-Boot 编译完成后会生成2个文件 spl/u-boot-spl.bin和u-boot.bin,分别烧录在两段地址,或者合并后烧录;也即U-Boot实际是分成两个阶段,SPL阶段+UBOOT阶段。 其中,SPL阶段负责解析设备树(设备树中具有dm-pre-reloc属性的元素会在SPL阶段解析),初始化SDRAM,配置时钟,引导UBOOT。SPL必须烧写在0x08000000处,即片内FLASH首地址,因为STM32会自动从该地址处执行第一行代码。 开发过IAP的同学应该比较清楚,开发第二阶段代码需要设置中断向量表偏移量,使用MDK时需要在设置页设置偏移,使用GCC则需要配合LDS脚本搬移代码。 UBOOT阶段,相对于SPL阶段就是第二段代码,负责 relocate自身向量表等操作,因为uboot

跟 UMU 一起玩 OpenWRT(高级篇2):不拆机刷不死 U-Boot

廉价感情. 提交于 2019-12-05 10:18:22
在上一篇《 编译 D-Link DIR-505 的不死 U-Boot 》介绍了如何编译不死 U-Boot,但是不死 U-Boot 的作者只介绍了用 TTL 线刷方法,UMU 可不想拆机,毕竟拆机感觉并不好…… 第一个思路是刷上 DD-WRT 固件,但是找了一下 DD-WRT 木有支持 DIR-505,只好继续蛋疼地编译 OpenWRT。 第一遍在虚拟机从 12:20 编译到 23:56,花了将近 12 小时……刚开始时,有一个下载过程,不断失败,想想是因为公司的网络太烂了,于是把下载脚本改了一下: <openwrt-svn-dir>/trunk/scripts/download.pl 中的 wget -t5 --timeout=20 --no-check-certificate 改为 wget -t5 --timeout=120 --no-check-certificate 第二天来,刷上,没问题,于是开始改代码去掉 U-Boot 写保护,参考这篇《Openwrt 中刷写 uboot ART》 http://see.sl088.com/wiki/Openwrt_%E4%B8%AD%E5%88%B7%E5%86%99_uboot_art ,但结果很不幸,型号不同嘛! 接下来,凭自己的编程水平了,尝试改 <openwrt-svn-dir>/trunk/target/linux

mini2440基于uboot的TFTP下载教程

这一生的挚爱 提交于 2019-12-05 09:45:52
由于mini2440在WIN7上下载,USB驱动无法兼容,总是出现蓝屏重启的现象,导致不得不想其他方式来下载,首先就考虑了使用U-Boot来下载,因为它支持多种下载方式: 1. 使用串口下载,它支持kermit/xmodem/ymodem等模式,但是下载速度比较慢。 2. 使用U盘/SD卡加载程序,需要先将程序拷贝到U盘/SD卡中,然后再通过相应的命令读取到内存中。 3. 使用TFTP/NFS网络服务加载程序,配置好终端和服务器,使用起来比较方便,而且速度很快。 在这里我讲一下TFTP方式的配置过程,以及使用方式。首先需要将U-boot下载到Nand Flash中,但是由于友善之臂提供的USB驱动在WIN7及其不稳定,所以我费了九牛二虎之力才将其使用DNW下载进去。使用的是由 Tekkaman Ninja 移植的U-boot,可以通过git来下载源代码,下载方式是:git clone https://github.com/tekkamanninja/u-boot-2010.03-tekkaman.git 。关于GIT的用法,参考 http://www.arm9home.net/read.php?tid-5266.html 。下载完成之后需要重新编译,编译步骤如下: $cd u-boot-2010.03-tekkaman $export PATH=$PATH:/opt

Linux 设备树学习——基于i2c总线分析

↘锁芯ラ 提交于 2019-12-05 04:26:04
目录 博客说明 开发环境 1. 如何使用设备树 1.1 u-boot支持设备树 1.2 Linux内核支持设备树 1.3 如何在开发板中使用设备树 2. 设备树介绍 2.1 设备树中的设备驱动节点 2.2 设备树匹配流程 2.2.1 以i2c匹配为例 2.2.2 设备树匹配下的程序模板 2.3 设备树中的设备节点转换 附录 参考资料 @(Linux 设备树——基于i2c总线分析) 博客说明 撰写日期 2019.11.18 完稿日期 2019.11.20 最近维护 暂无 本文作者 multimicro 联系方式 multimicro@qq.com 资料链接 本文无附件资料 GitHub https://github.com/wifialan/drivers/tree/master/device_tree_i2c 原文链接 https://blog.csdn.net/multimicro/article/details/103129546 开发环境 环境说明 详细信息 备注信息 操作系统 Ubunut 18.04 开发板 JZ2440-V3 u-boot uboot-2012.04.01 busybox busybox-1.22.1 u-boot和busybox编译器 arm-linux-gcc (4.4.3) Linux内核 linux-4.19-rc3 Linux内核编译器 arm

移植linux4.14内核到4412开发板

回眸只為那壹抹淺笑 提交于 2019-12-04 23:59:46
最近法师收到了很多留言,其中有一部分问法师什么时候更新,还有一大部分问法师我是买 迅为的IMX6UL精英版好呢还是买4412精英版好呢 ,因为我们这俩个都不贵。法师的建议的是入手4412!为什么呢? 第一,4412是三星第一款经典处理器,为三星创造了辉煌,是当年在国内红得发紫的GalaxyS3手机的主控,他的出现,开启了手机和平板的四核时代,让手机和平板变得流畅,可以说,到目前为止,4412上用到的技术,仍是当前的主流技术,其他的处理器并没有质的飞跃,同样,经过7年以上各行各业的考验,已经非常的稳定。而且四核处理器系统可以实现动态调频调压,所以,我们一个板子不仅可以学习uboot,linux,裸机,还可学习安卓,一个板子就足够了。 第二,经过多年的累积,4412已经积累了海量的开发资料。 第三,也是最重要的一点!!! 2017 年 6 月份左右,迅为电子 iTOP 系列开发平台 iTOP-4412 的 SCP 核心板,得到世界最大开源软件 Linux 的官方支持,这意味着从linux官方www.kernel.orrg下载的最新内核稍加修改就可以直接在ITOP4412上运行,极大方便用户产品的技术升级。 所以,一个既能运行安卓,ubuntu,QT系统,还被linux官方支持的开发板四五百元就可以入手,他不香嘛~~ 另外如果是迅为的老用户,再次在官方店购买我的产品

iTOP-iMX6Q&PLUS开发板-Android6.0下uboot添加网卡驱动

女生的网名这么多〃 提交于 2019-12-04 20:00:25
本文档介绍在 iTOP-iMX6Q 和 iTOP-iMX6Q-PLUS 安卓 6.0 的 uboot 上添加网卡驱 动,添加完网卡驱动以后,uboot 就可以正常使用网络了。 1 具体步骤 1.1 修改 mx6sabre_common.h 文件 在 iTOP-iMX6_android6.0.1 源码目录下输入以下命令,打开 mx6sabre_common.h 文 件。 修改完成如下图所示: 1.2 修改 phy.c 文件 在 iTOP-iMX6_android6.0.1 源码目录下输入以下命令,打开 phy.c 文件。 vi iTOP-iMX6_android6.0.1/bootable/bootloader/uboot-imx/drivers/net/phy/phy.c 找到 get_phy_id 函数,然后在 get_phy_id 函数里面添加延迟。添加代码如下: mdelay(10); 添加完成如下图所示: 来源: https://my.oschina.net/u/3005926/blog/3130672

how to make “if” and comparison statement in uboot?

跟風遠走 提交于 2019-12-04 18:09:48
问题 i'm newbie in uboot and tftp programing based on this url, there is how to make if statement like this if imi $addr; then echo Image OK; else echo Image corrupted!!; fi and this is my "if" : => setenv a true => printenv a a=true => setenv b true => printenv b b=true => if a b; then echo 'same';fi Unknown command 'a' - try 'help' => if $a $b; then echo 'same';fi Unknown command 'true' - try 'help' => if ${a} ${b}; then echo 'same';fi Unknown command 'true' - try 'help' => 回答1: I am not sure if