U-Boot

系统对 Device Tree Overlays 的支持方式

。_饼干妹妹 提交于 2020-08-10 06:44:22
问题来源: 野火 iMX 6ULL 开发板资料。 https://tutorial.linux.doc.embedfire.com/zh_CN/latest/linux_basis/fire-config_brief.html 5.3. fire-config机制 一般而言,fire-config旨在提供一些常见的系统功能配置服务,在进行配置过程中, 这可能会导致/boot/uEnv.txt或者是其他各种标准的linux配置文件被自动更改了, 某些选项需要重启才能生效,如果您修改了其中一个,fire-config 会在<Finish> 按钮被选择时,询问您是否要立即重启,如果您希望配置马上生效,确定重启系统即可。 5.4. Device Tree Overlays fire-config工具集成了Device Tree Overlays机制,用来管理一些硬件资源的分配和模块的加载, 从而缓解多个驱动程序争用系统资源的问题。 在传统开发模式中,这个机制通常是由设备树来完成的:在开发之前根据项目需求, 提前确定系统中所有用到的硬件设备。在设备树中把所有的外围设备信息以设备树特定的语法进行描述, 在设备树被编译为dtb文件后,被linux内核加载使用。 可以看到,在传统开发过程,一旦硬件资源发生变化,就要重新修改、编译、下载设备树。比较极端的情况是: 当项目中要支持多种的硬件模块

移植Linux-5.4+内核到4412开发板

早过忘川 提交于 2020-08-10 05:43:37
前言 ITOP-4412开发板被 Linux 官方支持,所以我们在4412上学习新的内核是非常方便的,本文作者是4412精英群8群一位技术高手,接下来,我们一起来欣赏下他的表演。 环境说明 OS版本 Ubuntu 20 LTS 交叉编译环境配置 ~$ sudo apt install gcc-arm-linux-gnueabihf ~$ sudo apt install flex ~$ sudo apt install bison ~$ sudo apt install u-boot-tools 目标开发板 CPU (Exynos4412,四核 Cortex -A9,主频为1.4GHz-1.6GHz) RAM (1GB 双通道 DDR3) ROM (8GB EMMC) 其他请见官网链接 1. 下载源码 ~$ git clone https://github.com/jason416/linux.gi Note:移植好的源码见博主github仓库的iTop4412分支。 2. 配置内核 2.1 进入内核源码目录 ~/linux-5.4$ ls arch COPYING Documentation include Kbuild lib Makefile README security usr block CREDITS drivers init Kconfig LICENSES mm

xilinx zcu106 vcu demo

北城以北 提交于 2020-08-10 02:23:39
board:zcu106 tool: vivado 2019.2 vitis 2019.2 petalinux 2019.2 doc:PG252 UG1209 ref: http://www.zynqnotes.com/a-simple-vcu-design ref: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/176783395/Zynq+UltraScale+MPSoC+VCU+TRD+2019.2 zcu106_hdmitx 想demo一个简单的例子,编解码SD卡上的数据,在PC上验证是否成功 逻辑设计: vivado 2019.2 新建工程(采用zcu106模板) 添加PS:ZYNQ UltraScale+ MPSoC (Run Block Automation),可以将zcu106默认的一些器件都自动配置好,这一步不要忘 添加VCU:ZYNQ UltraScale+ VCU (Run Block Automation) PG252 Ch12 Design Flow Steps (P149)可以大概参考一下,可是照着做好像不行。 VCU有6个AXI接口 S_AXI_LITE:APU主,VCU从,用于APU访问配置VCU寄存器 M_AXI_ENC0,M_AXI_ENC1,M_AXI_DEC0,M_AXI_DEC1

如何在Zynq-7000上烧写PL Image

别说谁变了你拦得住时间么 提交于 2020-08-10 00:01:46
作者:hqin, Xilinx处理器专家FAE 在Zynq-7000上编程PL大致有3种方法: 1. 用FSBL,将bitstream集成到boot.bin中 2. 用U-BOOT命令 3. 在Linux下用xdevcfg驱动。 步骤: 1. 去掉bitstream的文件头 用FSBL烧写PL Images没有什么好说的,用Xilinx SDK的Create Boot Image工具即可完成,不再赘述。用后两种方法需要把bitstream文件的文件头用bootgen工具去掉。 一个典型的bif文件如下所示: the_ROM_image: { [bootloader].elf .bit .elf } bif文件可以用文本编辑器写,也可以用Xilinx SDK的Create Boot Image工具生成。然后在命令行下用以下命令即可去掉bitstream文件的文件头。 bootgen -image .bif -split bin -o i BOOT.BIN "-split”参数可以生成以下文件: .bit.bin 2. 在U-BOOT下烧写PL Image 命令”fpga load”和”fpga loadb”都可以。区别是前一个命令接受去掉了文件头的bitstream文件,后一个命令接受含有文件头的bitstream文件。 在OSL 2014.2上,缺省编译就可以完整支持写入PL

系统对 Device Tree Overlays 的支持方式

强颜欢笑 提交于 2020-08-09 12:26:50
问题来源: 野火 iMX 6ULL 开发板资料。 https://tutorial.linux.doc.embedfire.com/zh_CN/latest/linux_basis/fire-config_brief.html 5.3. fire-config机制 一般而言,fire-config旨在提供一些常见的系统功能配置服务,在进行配置过程中, 这可能会导致/boot/uEnv.txt或者是其他各种标准的linux配置文件被自动更改了, 某些选项需要重启才能生效,如果您修改了其中一个,fire-config 会在<Finish> 按钮被选择时,询问您是否要立即重启,如果您希望配置马上生效,确定重启系统即可。 5.4. Device Tree Overlays fire-config工具集成了Device Tree Overlays机制,用来管理一些硬件资源的分配和模块的加载, 从而缓解多个驱动程序争用系统资源的问题。 在传统开发模式中,这个机制通常是由设备树来完成的:在开发之前根据项目需求, 提前确定系统中所有用到的硬件设备。在设备树中把所有的外围设备信息以设备树特定的语法进行描述, 在设备树被编译为dtb文件后,被linux内核加载使用。 可以看到,在传统开发过程,一旦硬件资源发生变化,就要重新修改、编译、下载设备树。比较极端的情况是: 当项目中要支持多种的硬件模块

迅为iTOP4418开发板运行Android7.1/Qt5.7/Ubuntu12.04系统源码开源

有些话、适合烂在心里 提交于 2020-08-07 13:05:12
支持官方推荐的AXP228电池管理,动态调频,更稳定可靠 支持充放电 电路 与电量计(库仑计),拓展更多应用 支持全网通4G模块、 GPS 模块、千兆以太网、AD、CAMERA接口、MIPI接口、CAN/RS485接口等 支持 Android 4.4/5.1.1/7.1系统、 Linux 3.4.39、QT2.2/4.7/5.7、 Ubuntu 12.04系统 核心板参数 核心板类型 板对板 连接器 邮票孔 特点 拆装方便,扩展性好 适合高震动场合 尺寸 50mm*60mm PCB 层数 6层PCB沉金设计 8层PCB沉金设计 连接器高度 核心板连接器组合高度1.5mm 0 4418 CPU ARM Cortex -A9 四核 S5P4418处理器 1.4GHz 6818 CPU ARM Cortex-A53 八核 S5P6818处理器 1.4GHz 内存 1GB DDR3(2GB可选) 1GB DDR3 存储 16GB EMMC 16GB EMMC 电源管理 AXP228(官方推荐最佳匹配),支持动态调频,超低功耗 工作 电压 直流5V供电 系统支持 Android4.4/5.1.1/7.1系统、Linux3.4.39、QT2.2/4.7/5.7、Ubuntu12.04 运行温度 0℃-70℃ 0℃-70℃ 引角扩展 四组连接器共320个PIN脚 208个PIN脚 扩展参数

解压内核镜像

℡╲_俬逩灬. 提交于 2020-08-06 12:22:20
步骤 0 uboot 将 zImage 复制到内存之后,跳转到 zImage 处开始执行,首先执行的代码是 arch/arm/boot/compressed/head.S 文件,首先是一些涉及不同体系结构调试相关的汇编宏定义 # ifdef DEBUG # if defined(CONFIG_DEBUG_ICEDCC) # if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7) .macro loadsp, rb, tmp .endm .macro writeb, ch, rb mcr p14, 0 , \ch, c0, c5, 0 .endm ... 省略 ... # endif # endif # endif 步骤 1 首先是保存 bootloader 传递过来的机器 ID 和 atags 起始地址 @ 设置段名 .section ".start" , #alloc, #execinstr .align .arm @ 设置指令为 arm 模式 start: .type start, #function @ 声明为函数标签 .rept 7 mov r0, r0 . endr ARM ( mov r0, r0 ) ARM ( b 1f ) @ 向下跳转 THUMB ( adr

ZYNQ 双核运行并交互,一个linux,一个裸核

自闭症网瘾萝莉.ら 提交于 2020-07-29 03:53:42
zynq 7000 一般有2个cpu (arm A9),我们一般都用一个cpu0,本实验让2个cpu 都运行起来,cpu0 运行操作系统petalinux 2018.2, cpu1: 裸机流水灯。同时通过共享内存的方式,实现2个核之间的交互。 关于zynq 双核运行的官方文档有如下3篇: xapp1078-amp-linux-bare-metal.pdf xapp1079-amp-bare-metal-cortex-a9.pdf ug1186-zynq-openamp-gsg.pdf 我们这个实验对应xapp1078, 但文档对应petalinux2014 的版本,有点太老了,而我的实验是在petalinux2018.2 上完成的。 前提条件 1:会做petalinux 2018.2 或其他版本的启动制作。如果不会请看: petalinux 2018.2 在ubuntu 16 下的工程制作并启动实验 2:熟悉 zynq 7000 AMP模式 双裸核CPU同时运行 ,因为这个比较简单,可以作为本实验的热身。 硬件平台的建立 硬件工程的建立是在Vivado2018.2 上完成的。其实要求很简单,符合linux下流水灯实验的要求即可,当然还需要挂接上SD卡。我的硬件就用的那个流水灯实验的工程,若有不清楚,请参考: zynq 7000 petalinux 2018.2下的流水灯实验

移植5.4内核到迅为I.MX6ULL开发板

吃可爱长大的小学妹 提交于 2020-07-28 03:43:58
本篇推文会加到后续的文档里面,另外等QT视频录制完成以后,就开始更新终结者驱动和系统移植的视频,后续的驱动移植教程和视频也全部会在本次移植的5.4内核上进行讲解和录制。大家也可以趁着端午节亲手移植感受下。 获取 Linux 内核源码 NXP 官方提供了I.MX6ULL的Linux内核源码,我们可以使用git来获取Linux 5.4.3的内核源码(为了大家学习方便我们给大家提供了下载好的核源码,后续会保存在光盘资料的“i.MX6UL终结者光盘资料\05_uboot linux源码”目录下“i.MX6ULL_Kernel_5.4.3.tar.bz2”)。 下面我们通过git下载5.4.3内核源码。输入以下命令获取源码: git clone https://source.codeaurora.org/external/imx/linux-imx 下载完成会在当前目录下生成“linux-imx”文件,如下图所示: 然后我们使用“cd linux-imx”命令进入到下载的内核目录下,我们可以打开当前目录下的“Makefile“文件,查看下现在的内核版本,运行结果如下图所示: 从上图我们可以看到下载的内核版本并不是5.4.3,那么我们是不是下载错了呢?答案是:我们没有下载错的。因为我们下载的NXP提供的这套Linux源码,里面包含了所有版本的分支,我们需要使用命令检索出对应的版本

I was looking for a default U-boot configuration for BeagleBone Black. I cannot find am335x_boneblack_defconfig inside u-boot/configs/ folder

旧巷老猫 提交于 2020-07-22 05:19:29
问题 The old versions show am335x_boneblack_defconfig(branch v2017.01 instead of the master) file inside the directory but I am not able to see it in the newer version.So which branch should I use to build U-Boot for BeagleBone Black? Under boards/ti/am335x/, I saw that am335x_* can be used for BeagleBone Black. Any help will be appreciated? 回答1: I think you can use configs/am335x_evm_defconfig - see line 36: CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen