[mini2440-0xx]第09课第1节u-boot分析之编译体验

author author     2022-09-25     442

关键词:

一、课堂笔记

1. Windows 电脑和嵌入式设备启动流程对比
    |-- Windows 上电启动流程
    |   |-- 上电 -> BIOS(引导操作系统) -> Windows -> 识别 C、D 盘 -> 运行应用程序
    |-- 嵌入式设备
        |-- 上电 -> BootLoader(引导内核) -> Linux Kernel -> 挂载根文件系统 -> 运行应用程序
            
2. BootLoader 最终目的是启动内核
    |-- 启动内核
        |-- 从 Flash 读取 kernel
        |   |-- u-boot 要能够读取 Flash
        |-- 将读取到的 kernel 放进 SDRAM 中
        |   |-- 关闭看门狗
        |   |-- 初始化系统时钟
        |   |-- 初始化 SDRAM
        |-- 实现一些额外的协助开发过程的功能
        |   |-- 为方便下载,u-boot 还要能够写 Flash
        |   |-- 串口、网卡、USB 等扩展功能
        |   |-- 可以实现命令烧写、网络烧写、USB 烧写 kernel 到 Flash 上
        |-- 在 SDRAM 中启动 kernel

3. u-boot 配置编译流程
    |-- 解压 u-boot
    |   |-- [email protected]:~/workspace/s3c2440/package$ ls
    |   |   u-boot-1.1.6.tar.bz2    u-boot-1.1.6_jz2440.patch
    |   |-- [email protected]:~/workspace/s3c2440/package$ tar -jxf u-boot-1.1.6.tar.bz2 -C ../
    |-- 给 u-boot 打补丁
    |   |-- [email protected]:~/workspace/s3c2440/package$ cd ../u-boot-1.1.6/
    |   |-- [email protected]:~/workspace/s3c2440/u-boot-1.1.6$ patch -p1 < ../package/u-boot-1.1.6_jz2440.patch
    |-- 配置
    |   |-- 配置顶层 Makefile 中交叉编译器
    |   |-- [email protected]:~/workspace/s3c2440/u-boot-1.1.6$ make 100ask24x0_config
    |   |-- Configuring for 100ask24x0 board...
    |-- 编译
        |-- make

4. u-boot 使用
    |-- ? 或者 help
    |   |-- 可以查看 u-boot 有哪些命令
    |   |-- ? md 或者 help md 可以查看 md 命令详细介绍
    |-- print
    |   |-- 输出的是 u-boot 环境变量
    |-- set <环境变量名> <变量值>
    |   |-- set bootdelay 10
    |-- save
    |   |-- 保存 set 命令设置的环境变量值
    |-- reset
        |-- 重启命令

 

二、课外补充

1. 一个嵌入式的存储设备通过通常包括四个分区:
  第一个分区:u-boot
  第二个分区:u-boot 要传给系统内核的参数
  第三个分区:系统内核 kernel
  第四个分区:根文件系统

2. u-boot 源代码的目录结构
  1、board中存放于开发板相关的配置文件,每一个开发板都以子文件夹的形式出现。
  2、Commom文件夹实现u-boot行下支持的命令,每一个命令对应一个文件。
  3、cpu中存放特定cpu架构相关的目录,每一款cpu架构都对应了一个子目录。
  4、Doc是文档目录,有u-boot非常完善的文档。
  5、Drivers中是u-boot支持的各种设备的驱动程序。
  6、Fs是支持的文件系统,其中最常用的是JFFS2文件系统。
  7、Include文件夹是u-boot使用的头文件,还有各种硬件平台支持的汇编文件,系统配置文件和文件系统支持的文件。
  8、Net是与网络协议相关的代码,bootp协议、TFTP协议、NFS文件系统得实现。
  9、Tooles是生成U-boot的工具。


第二课第二周第1-5节-基于树的模型用于医学预后

本周,我们将使用决策树(DecisionTrees)构建我们的第一个机器学习模型。树(trees)在医学应用中非常有用的的原因是:1️⃣它们处理连续和分类数据的能力,2️⃣它们的可解释性以及训练速度。我们将使用树... 查看详情

第二课第一周大作业--构建和评估一个线性风险模型(代码片段)

之前教程:第二课第一周第1节-AI用于医学预后简介第二课第一周第2节-做医学预后,你需要掌握什么?第二课第一周第3-4节-什么是预后?第二课第一周第4-7节医学预后案例欣赏+作业解析第二课第一周第8节风险得分... 查看详情

第二课第一周大作业--构建和评估一个线性风险模型(代码片段)

之前教程:第二课第一周第1节-AI用于医学预后简介第二课第一周第2节-做医学预后,你需要掌握什么?第二课第一周第3-4节-什么是预后?第二课第一周第4-7节医学预后案例欣赏+作业解析第二课第一周第8节风险得分... 查看详情

第二课第一周1节-ai用于医学预后简介

第二门课程集中于医学预后(medicalprognosis)。预后是医学的一个分支,专门预测病人未来的健康状况。例如,根据病人的实验室结果,你能估计出未来5年内心脏病发作的风险吗?或是未来10年内死亡的风... 查看详情

第一课第三周5-6节-数据增强以及dice损失函数

既然我们已经讨论了分割体系结构,那么让我们来讨论一种可以应用于这种模型训练的技术,即数据扩充(数据增强dataaugumentation)。我们在前面学过,我们可以对输入胸部X光片的变换,这样每个例子的分... 查看详情

第二课第一周大作业--构建和评估一个线性风险模型(代码片段)

之前教程:第二课第一周第1节-AI用于医学预后简介第二课第一周第2节-做医学预后,你需要掌握什么?第二课第一周第3-4节-什么是预后?第二课第一周第4-7节医学预后案例欣赏+作业解析第二课第一周第8节风险得分... 查看详情

第一课第三周1-2节-了解医学图像分割以及探索mri数据格式以及作业解读(代码片段)

本周将学习图像分割,图像分割在许多医学影像应用中起着至关重要的作用,例如组织大小的量化、疾病的定位和治疗计划。我们将重温您在过去两周学到的一些相同的想法,看看它们是如何扩展到图像分割的。在本... 查看详情

第6课第2节_binder系统_驱动情景分析_打印数据交互过程

 添加宏:功能:把NAME(n) 中的n作为字符串返回,eg:BR_NOOP作为字符串返回BR开头:Binder--->IPCBC开头:IPC------>Binder#defineNAME(n)casen:return#nconstchar*binder_cmd_name(uint32_tcmd){switch(cmd){NAME(BR_NOOP);NAME(BR 查看详情

吴恩达-医学图像人工智能专项课程-第一课第一周19-20节(代码片段)

让我们回顾一下上一节提出的医学图像创建数据集的三个挑战第一个挑战涉及到我们如何使这些测试集独立第二个挑战涉及我们如何对它们进行采样第三个挑战涉及我们如何设置groundtruth让我们来讨论第二个挑战:集合抽样... 查看详情

吴恩达-医学图像人工智能专项课程-第一课第一周1-3节总结(代码片段)

点此了解课程吴恩达新课医学图像AI(AIforMedicine)专项课程推荐欢迎来到医学人工智能专业。如果你已经完成了深度学习专业化或机器学习课程,并且你正在寻找更深入掌握人工智能的应用领域,这是一个很好的... 查看详情

第一课第三周3-4节--2d和3d分割的优缺点以及如何构建unet模型(代码片段)

既然我们已经了解了如何表示MRI数据,那么让我们来看看脑肿瘤分割的任务。分割是定义各种组织边界的过程。在这种情况下,我们试图确定肿瘤的边界。我们也可以把分割看作是分类三维体中每个点的类别的任务。二... 查看详情

第一课第三周7-10节-ai算法这么棒,为什么我们周围的医院没有使用这些系统?

既然您已经了解了医学成像的分类和分割模型,并且您已经在前面构建了您的胸部x射线分类模型,那么您可能会想知道为什么我们周围的医院或诊所没有使用这些系统。在本课中,您将了解一些挑战和机会,使这... 查看详情

第二课第一周第4-7节医学预后案例欣赏+作业解析(代码片段)

第二课第一周第4-7节医学预后案例欣赏+作业解析视频地址:B>Tina-姐预后的案例在这节课中,我们将看看预后临床例子。看看预后任务的输入和输出是什么样子的,以及我们如何权衡输入之间的权重。我们可以把... 查看详情

第二课第一周第4-6节医学预后案例欣赏+作业解析(代码片段)

第二课第一周第4-7节医学预后案例欣赏+作业解析视频地址:B>Tina-姐预后的案例在这节课中,我们将看看预后临床例子。看看预后任务的输入和输出是什么样子的,以及我们如何权衡输入之间的权重。我们可以把... 查看详情

第二课第一周3-4节-什么是预后?(代码片段)

什么是预后?我们首先要讨论什么是预后,以及为什么预后在医疗实践中很重要。预后是一个医学术语,指预测未来事件的风险。在这里,事件是一个通用术语,它描述了可能发生在个人身上的各种事情。事... 查看详情

吴恩达-第一课第二周1-7节总结-医学深度学习模型的评估汇总(代码片段)

医学深度学习模型的评估汇总本周我们将深入探讨医学深度学习模型的评估。在医学上,由于决策具有很高的影响力,我们关心的是准确地了解模型何时对患者起作用,什么时候不起作用。您将学习一下指标,包... 查看详情

第二课第一周第9-11节评估预后模型+作业解析

将介绍预测模型的评估。评估预后模型背后的基本思想是查看它在成对患者身上的表现如何。假如这两个苹果为代表的病人。左手的苹果看起来已经不新鲜了,两天后就会过期,但我右手的苹果在接下来的两天里都是新... 查看详情

第二课第一周第9-11节评估预后模型+作业解析

将介绍预测模型的评估。评估预后模型背后的基本思想是查看它在成对患者身上的表现如何。假如这两个苹果为代表的病人。左手的苹果看起来已经不新鲜了,两天后就会过期,但我右手的苹果在接下来的两天里都是新... 查看详情