U-Boot

迅为7寸安卓系统触控一体机开机体验和说明,不错过来围观

与世无争的帅哥 提交于 2020-05-02 19:34:42
二 开机体验和说明 2.1 控制台(console )串口 使用串口线连接设备的 COM1 到 PC 机的串口,如果 PC 或笔记本没有串口,就需要准备 一条 USB 转串口的设备。 注意:插拔串口,要在断电的情况下进行,以免带电插拔出现器件损坏。 PC 上对串口的操作软件请参考“3.1 超级终端的安装和使用”。 设备共有四个串口,其中 rx0,tx0 是作为系统的调试串口,我们可以通过丝印找到对应位 置。如下图所示。 2.2 uboot 模式和文件系统模式 2.2.1 uboot 模式 在确认电源、串口等连接好以后,启动设备,这时在 PC 的串口上可以看到下图所示的系 统启动的信息。读秒的过程中如果输入任何值,将进入 uboot 模式,在第四章讲解系统烧写方 法时会用到该模式。 为了和 Ubuntu、Win7、XP 的命令行区分,在使用手册中,统一将 “在超级终端的命令 行里面输入命令”的过程叫做“进入超级终端的 uboot 模式,输入命令”。 内核启动过程,如下图所示。 2.2.2 文件系统模式 启动设备,在 PC 机的超级终端上可以看到如下图所示的系统启动的信息。 在设备启动过程中,如果用户不做任何操作和控制,最后超级终端会出现如下图的界面。 如果看到下图红色方框中的内容,就表明超级终端进入了 Android 的文件系统模式。 当超级终端进入了文件系统模式,向串口中输入回车键

u-boot-2014-07 代码流程分析

守給你的承諾、 提交于 2020-05-02 15:53:08
前言 以前接触到的u-boot启动方式只有Flash和Nand Flash这两种方式,最近接触是SD卡启动方式,SoC是S5P4418,启动方式也第一次接触到,根据S5P4418用户手册可以找到系统使用SD卡启动时,片内iROM内固化的代码会自动映射到0x00地址,也被称为第一阶段引导程序,该程序会检测启动引脚配置,然后从SD卡读取block1~block32内的程序到内置SRAM中执行,读取出来并执行的这段程序被称为第二阶段引导程序,由于其最大为16KB,无法存放完整的u-boot。以上两个引导程序均由芯片厂商提供,没有源码,不开源。第二阶段引导程序从SD卡中加载u-boot到DRAM中执行,至此u-boot才开始登场。 SDHCBOOT --> 2nboot --> u-boot 代码分析 程序入口 由于S5P4418采用的指令集为ARMv7,通常应该去该文件arch/arm/cpu/armv7下寻找该SoC,然而并没有,通过查看board.cfg可以看到它的CPU类型被定义为了slsiap,通过查看arch/arm/cpu/slsiap也确实存在s5p4418文件夹。 # Status, Arch, CPU:SPLCPU, SoC, Vendor Active arm slsiap s5p4418 s5p4418 接下来就是找到第一个执行的程序在哪里文件里,即找到程序入口

Qt的编译-迅为iMX6Q/D-非设备树源码

南楼画角 提交于 2020-04-30 13:07:01
4.1 uboot 编译 和 Android 的 uboot 通用,参考 5.3.2.1 小节。 5.4.2 kernel 编译 单独编译 kernel,则进入源码解压的到的“iTOP-iMX6_android4.4.2/kernel_imx”目 录,如下图所示。 如下图所示,使用命令“ ./build_qt_kernel.sh ”,开始编译内核。 如下图所示,开始编译。 如下图所示,编译完成。 如下图所示,在“iTOP-iMX6_android4.4.2/kernel_imx/arch/arm/boot”目录下生成 uImage,即是内核镜像。 5.4.3 文件系统 Qt 的系统生成新的镜像比较容易。 将光盘“05-镜像_Qt”目录下的压缩包“rootfs.tgz”拷贝到 Ubuntu 系统下解压。 作者将镜像“rootfs.tgz”拷贝到新建的“/home/imx6/qt”目录下,使用命令 “tar -vxf rootfs.tgz”解压,如下图所示。 进入上图所示的“opt”目录,如下图所示。 如上图所示,可以看到“qt-4.7.1”和“Qtopia”两个文件夹。“qt-4.7.1”和 “Qtopia”文件夹分别对应 QtE 系统和 Qtopia 系统,这两个文件夹具体的得到方法请参考 “第六章”和“第七章”。 用户可以使用新编译的的到的“qt-4.7.1”和“Qtopia

Imx6DL使用uboot2015.04更新uboot,kernel和rootfs

这一生的挚爱 提交于 2020-04-29 18:13:11
Imx6DL使用uboot2015.04更新uboot,kernel和rootfs 转载请说明出处。 参考链接地址: https://blog.csdn.net/u014645605/article/details/52212622 http://blog.sina.com.cn/s/blog_9864c64a0102xpte.html https://blog.csdn.net/abcamus/article/details/59705763 https://blog.csdn.net/zuoyioo7/article/details/74529255 1.首先,使用的是emmc作为存储介质,需要先大概了解emmc的物理分区。 从下图可以看出来,分为四个区Boot Area Partitions、RPMB Partition、General Purpose Partitions和User Data Area。 Boot Area Partitions:主要用来存放bootloader(分区1和分区2可以看成两个完全一致的分区)。 RPMB Partition:未使用。 General Purpose Partitions:未使用。 User Data Area:主要用来存放linux内核和rootfs。 为了更合理的管理数据,满足不同的应用需求,UDA 在实际产品中

Linux虚拟地址空间布局以及进程栈和线程栈总结

淺唱寂寞╮ 提交于 2020-04-29 03:16:27
转自: https://blog.csdn.net/freeelinux/article/details/53782986 本文转自多个博客,以及最后有我的总结。我没有单独从头到尾写一个总结的原因是别人已经写得很好了,我不花大量时间是无法达到这水平的。 一:Linux虚拟地址空间布局 (转自: Linux虚拟地址空间布局 ) 在多任务操作系统中,每个进程都运行在属于自己的内存沙盘中。这个沙盘就是虚拟地址空间(Virtual Address Space),在32位模式下它是一个4GB的内存地址块。在Linux系统中, 内核进程和用户进程所占的虚拟内存比例是1:3,而Windows系统为2:2(通过设置Large-Address-Aware Executables标志也可为1:3)。这并不意味着内核使用那么多物理内存,仅表示它可支配这部分地址空间,根据需要将其映射到物理内存。 虚拟地址通过页表(Page Table)映射到物理内存,页表由操作系统维护并被处理器引用。内核空间在页表中拥有较高特权级,因此用户态程序试图访问这些页时会导致一个页错误(page fault)。在Linux中,内核空间是持续存在的,并且在所有进程中都映射到同样的物理内存。内核代码和数据总是可寻址,随时准备处理中断和系统调用。与此相反,用户模式地址空间的映射随进程切换的发生而不断变化。

iTOP-4412开发板裸机开发环境文档分享

我的梦境 提交于 2020-04-27 06:32:22
迅为iTOP-4412开发板裸机开发环境文档分享 1. 安装 DNW 驱动 DNW 驱动在”tools/USB驱动/dnw_driver“目录下面,我们提供了 xp 系统, win732 位,win764 位三种系统下面的驱动。下面我们以 win7 64 位系统的驱动 为例来讲解一下 DNW驱动的安装。 首先使用串口线连接 iTOP-4412 开发板的调试串口到 PC机,使用 USB连接 线连接 iTOP-4412开发板的 USB OTG接口到 PC机的 USB口。 打开“tools”目录下的 dnw.exe软件,如下图所示: 点击上图的“Serial Port->Connect",连接到 iTOP-4412开发板的串口,如下图所示: 接下来开始启动开发板,我们可以看到 dnw 软件会输出启动信息,如下图所示: 在 uboot 进入”倒数秒“的时候,按键盘的任意按键,进入 uboot 命令行,如下图所示: 然后在 uboot 的命令行输入“dnw”, 如下图所示: 接着我们在 PC上右键点击“计算机”,选择“管理”, 如下图所示: 将会打开”计算机管理“,如下图所示: 然后鼠标点击上图左侧一栏里面的“设备管理器”,将会列出设备列表,如下图所示: 在中间一栏的“其他设备”里,我们可以看到“SEC S3C6400X Test B/D”这个未 知设备,我们需要为这个设备安装 DNW驱动

iTOP-4412/4418/6818开发板-fastboot烧写脚本

人走茶凉 提交于 2020-04-27 06:08:59
在 iTOP-4412,4418,6818 开发板烧写的时候,使用的是 fastboot 工具。 fastboot 工具需要在 cmd.exe 中调用,每次都需要输入烧写命令,这样步骤有点多。在程序员的世界中,重复的工作应该要交给脚本来做。 fastboot 运行在 Windows 上,可以通过 bat 脚本来实现。 Windows 的 bat 脚本就是通 过 cmd.ext 来运行的。 如下图所示,这是作者制作的烧写 iTOP-4412 的 bat 文件,将其放到 fastboot 烧写目录下,每次要烧写,其它准备工作完成之后,可以双击这个脚本。 echo 你 好 :fastboot.exe flash bootloader u-boot-iTOP-4412.bin fastboot.exe flash kernel zImage fastboot.exe flash ramdisk ramdisk-uboot.img fastboot.exe flash system system.img fastboot.exe -w fastboot.exe reb 以上所示, echo 后面跟着的是打印信息,调用之后可以在 cmd.exe 下打印“你好”; : 是表示屏蔽这一行(一般不用烧写 uboot) fastboot.exe flash kernel zImage 表示烧写内核

整合Xilinx PetaLinux工程编译和Open Source U- Boot/Linux编译

痴心易碎 提交于 2020-04-24 18:08:18
整合PetaLinux工程编译和Open Source U- Boot/Linux编译 作者: 付汉杰 1. 测试环境 2. PetaLinux介绍 3. PetaLinux的安装 4. 提高PetaLinux/Yocto的编译速度 4.1. 下载SState cache 4.2. 设置SState cache 4.3. 利用离线下载文件 4.4. 重用下载文件 4.5. 离线编译 5. Open Source Linux和UBoot 5.1. 保留Linux和UBoot源代码 5.2. 取得Linux源代码 5.3. 取得UBoot源代码 5.4. Open Source 编译Linux 5.5. Open Source编译Linux时间 5.6. Open Source编译UBoot 5.7. Open Source编译UBoot时间 6. 总结 1. 测试环境 Ubuntu 16.04 PetaLinux 2019.1 PetaLinux 2019.1 ZCU106 BSP ZCU106 2. PetaLinux介绍 PetaLinux是Xilinx基于Yocto推出的Linux开发工具。Yocto是业界主流的Linux发行版的构建工具,它不仅可以从源代码编译Linux 内核,还可以编译Linux发行版必须的数以千计的的应用程序,功能非常强大。Yocto的出现

【原创】Linux Suspend流程分析

天大地大妈咪最大 提交于 2020-04-24 06:08:17
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本:4.14 ARM64处理器 使用工具:Source Insight 3.5, Visio 1. 介绍 Linux Kernel支持四种 Sleep State : Suspend-to-Idle 纯软件,轻量级的Suspend操作,它会 freeze user space , suspend the timekeeping , put all I/O devices into low-power states 。 处于S2Idle状态下时,设备中断就可以将其唤醒。 Standby 除了实现 Suspend-to-Idle 时的操作外,还会将 nonboot CPUs 置于 offline 状态,以及 suspend all low-level system functions 。由于系统核心逻辑单元保持上电状态,操作的状态不会丢失,也会很容易恢复到之前的状态。 处于 Standby 状态时,可能需要依赖平台来设置唤醒源。 Suspend-to-RAM STR/S2RAM 时,除了 Memory 需要进行自刷新来保持数据外,其他的所有设备都需要进入到低功耗状态。除了实现 Standby