U-Boot

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

情到浓时终转凉″ 提交于 2019-11-29 08:44:03
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); 来源: oschina 链接: https://my.oschina.net/u/3005926/blog/3134790

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

喜欢而已 提交于 2019-11-29 07:49:05
全志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,其他分区主要存放根文件系统,或者其他分区; 上边这些规定都是全志内部固化的流程,芯片上电后首先运行内部一段引导程序,然后按照一定的优先级去遍历emmc sd nand usb等看是否能引导程序,如果是SD/eMMC,则会在8KB的便宜除引导程序(uboot-spl),再引导uboot,uboot会从sd卡FAT分区内引导linux内核,解析boot.scr,获取bootcmd,再从其他分区加载根文件系统,至此结束。 编译链 使用linaro工具链即可 uboot编译

STM32F746-DISCO运行Linux4.19

拈花ヽ惹草 提交于 2019-11-29 07:07:13
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运行Linux4.19

偶尔善良 提交于 2019-11-29 07:06:18
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文件

第四季-专题2-U-Boot新手入门

南楼画角 提交于 2019-11-29 04:19:48
专题2-U-Boot新手入门 对于u-boot的使用主要分为两个方面,一个方面是u-boot的使用,另一个是它的开发。 2.1 编译u-boot 嵌入式的层次:bootloader(u-boot),linux内核,根文件系统。 1. 配置U-Boot TQ210: make TQ210_config Smart210: make smart210_config OK210: make forlinx_linux_config OK6410: make forlinx_nand_ram256_config Tiny6410: make tiny6410_config TQ2440: make TQ2440_config Mini2440: make mini2440_config 2. 下载与运行 TQ210: tftp 0xc0008000 uImage Smart210: tftp 0x20000000 uImage OK210: tftp 0xc0008000 uImage OK6410: tftp 0xc0008000 uImage Tiny6410: tftp 0xc0008000 uImage TQ2440: tftp 0x31000000 uImage Mini2440: tftp 0x31000000 uImage 2.2 u-boot命令详解 1. 帮助命令

iTOP4412精英版Ubuntu16.04系统编译uboot

拜拜、爱过 提交于 2019-11-29 04:13:05
iTOP4412精英版Ubuntu16.04系统编译uboot uboot 的编译 ① 源码目录: Uboot 源码在光盘“06_源码_uboot 和 kernel”目录下,如下图所示。 ② 编译器: 如下图所示,编译器是使用的光盘目录下,“02_编译器以及烧写工具”→“arm 交叉编 译器”下的“arm-2009q3.tar.bz2”。如果使用的是搭建好的环境,确保编译器环境变量, 如下图所示。 使用命令“cd”(一定要使用 root 账户),接着使用“vim .bashrc”命令,打开环境 变量配置文件。修改环境变量配置文件最底行(取消注释),如下图所示。 接着还需要更新一下环境变量,如下图所示,使用命令“source .bashrc”。 最后做一下环境变量测试,Ubuntu 控制台中输入“arm”,然后按键盘上的“Tab” 键,会出现如下图所示内容。 ③ 参数配置 参考“5.3.1.3 参数配置”小节 ④ 编译生成 uboot 镜像举例 这里以 SCP 1G 核心板为例编译 uboot 镜像。 将光盘“06_源码_uboot 和 kernel”目录“CodeSign4SecureBoot_POP”、 “CodeSign4SecureBoot_SCP”以及“iTop4412_uboot_xxx.tar.gz”拷贝到 Ubuntu 系统 下,然后将“iTop4412_uboot

STM32F746-DISCO移植U-Boot 2019.07

隐身守侯 提交于 2019-11-28 18:27:25
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

STM32F746-DISCO移植U-Boot 2019.07

青春壹個敷衍的年華 提交于 2019-11-28 18:25:55
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

itop4412开发板-Linux内核的编译

∥☆過路亽.° 提交于 2019-11-28 16:48:06
本篇文章基于itop4412开发板 5.3.2.1源码目录 Linux 内核源码在光盘“06_源码_uboot 和 kernel”目录下,如下图所示。 5.3.2.2 编译器 内核的编译器和 uboot 的编译器一样,参考“5.3.1.2 编译器”。 5.3.2.3 参数配置 内核的编译是组合式配置文件,基本的配置文件名是“config_for_android_YY_elite”, YY 表示用下表所示的参数替代。 5.3.2.4 编译生成内核镜像举例 这里以 SCP 1G 核心板为例编译 zImage 内核镜像,那么配置文件为 “config_for_android_scp_elite”。 将光盘“06_源码_uboot 和 kernel”目录下的压缩包 “iTop4412_Kernel_3.0_xxx.tar.gz”拷贝到 Ubuntu,然后解压,得到文件夹 “iTop4412_Kernel_3.0 ”,如下图所示。 进入文件夹“iTop4412_Kernel_3.0 ”,使用命令 “cp config_for_android_scp_elite .config”覆盖自带的配置文件,如下图所示。 如果用户要使用 5 寸屏幕,先要参考用户手册“5.5 支持 5 寸屏的内核补丁文件”,给内 核打补丁,然后使用命令“vim .config”,在文件中搜索关键词 “CONFIG