bootloader的设计与实现(编辑修改稿)内容摘要:
GO ● BootLoaderMain函数的代码 BootLoader 的主控函数,完成的下工作通过图 6所示的流程可以看出。 ● OEMWriteDebugLED函数的代码 开发者根据自己的平台特点编写该代码,不是必须的。 2440BSP包下的示例代码如下: void OEMWriteDebugLED(UINT16 Index, DWORD Pattern) { volatile S3C2440A_IOPORT_REG *s2440IOP = (S3C2440A_IOPORT_REG *)OALPAtoVA(S3C2440A_BASE_REG_PA_IOPORT, FALSE)。 // The S24x0X01 Eval platform supports //4 LEDs.. // s2440IOPGPFDAT=(s2440IOPGPFDAT amp。 0xf) | ((Pattern amp。 0xf)4)。 } 开 始全 局 变 量 的 重定 位初 始 化 调 试 端 口平 台 初 始 化镜 像 下 载启 动 镜 像结 束图 6 LOGO ◆ 控制流函数的设计与实现 BootLoader的控制流函数有以下几个: ◆ OEMDebugInit () ◆ OEMPlatformInit () ◆ OEMPreDownload () ◆ OEMLaunch () 这几个函数是 BootLoader主控函数 BootLoaderMain的重要组成部分,它们共同完成了内核代码的引导和加载 LOGO ◆ OEMDebugInit ()函数 该函数的主要作用: ● 初始化调试端口,通常识异步串行通信口( UART) 实例代码: BOOL OEMDebugInit(void) { // Set up function callbacks used by blmon. // g_pOEMVerifyMemory = OEMVerifyMemory。 // Verify RAM. g_pOEMMultiBINNotify = OEMMultiBINNotify。 // Call serial initialization routine (shared with the OAL). // OEMInitDebugSerial()。 return(TRUE)。 } LOGO ◆ OEMPlatformInit ()函数 该函数和硬件高度相关,主要作用: ● 初始化 RTC( Real Time Clock) 或任何被 OEMEthGetSecs函数使用的和时间保存相关的设备 ● 初始化显示屏,此为可选项。 如开机显示 LOGO ● 初始化 Flash或 Flash控制器。 ● 如果网络设备挂载在 PCI总线上,初始化主 PCI桥,对总线进行枚举来确定网络控制器以便进行镜像下载,配置 PCI的硬件需求来使能网络控制器 ● 如果网络设备挂载在 PCMCIA总线上,则初始化 PCMCIA桥或是控制器 ● 初始化网络控制器,以便进行镜像下载 2440BSP中 OEMPlatformInit函数的流程图如下: LOGO 开 始初 始 化 显 示 屏初 始 化 B S P 参 数的 结 构 体初 始 化 U S B初 始 化 中 断初 始 化 引 导 驱 动 器 和B I N 文 件 分 区获 取 F L A S H 信 息读 取 T O C显 示 引 导 信 息配 置 以 太 网 控制 器结 束OEMPlatformInit 函数流程 图 7 LOGO ◆ OEMPreDownload () 函数 该函数的主要作用: ● 为 PB下载镜像产生一个唯一的目标硬件平台名,该平台名一般是与网络接口卡的 MAC地址相关联的静态文本字符串 ● 从 DHCP( Dynamic Host Configuration Protocol)服务获得一个动态 IP地址,或是直接分配一个静态 IP 地址 ● 初始化 TFTP传输协议或是 PB下载协议。 LOGO ◆ OEMLaunch () 函数 该函数的主要任务: ● OEMLaunch可以用在 EbootWaitForHostConnect函数,等待 PB发送关于启动什么服务和从哪个端口启动服务 ● 检查 EbootWaitForHostConnect的返回值,然后将端口信息和 IP保存到 DriverGlobals参数里,后面 OAL将会用到这些 ● 跳转到 dwLaunchAddr参数指定的第一条指定点地址,该指令就是 BootLoader镜像的 Startup函数 2440BSP中 OEMLaunch函数的流程图如下: LOGO OEMLaunch函数流程 图 8 开 始将 已 下 载 的 镜像 写 入 F L A S H等 待 P B 发 送 用 于 服 务连 接 的 I P 和 端 口 设置 , 以 及 K I T L 标 志保 存 内 存 加 载 地 址 或 在 下载 时 没 有 提 供 这 个 地 址 时回 调 已 存 储 的 地 址结 束跳 转 到 下 载 镜 像 LOGO ◆ 调试函数的设计与实现 BootLoader和 OAL共享,包含以下几个函数: ◆ OEMInitDebugSerial () ◆ OEMReadDebugByte () ◆ OEMWriteDebugByte () ◆ OEMWriteDebugString() 实现这些函数的文件路径: MyPlatfor\Src\Kernel\Oal\ LOGO ◆ OEMInitDebugSerial ()函数 初始化调试端口,一般是异步串口( UART) ◆ OEMReadDebugByte () 函数 从调试端口读取一个字节 ◆ OEMWriteDebugByte ()函数 向调试端口输出一个字节 ◆ OEMWriteDebugString() 函数 向调试端口输出一个字符串 LOGO ◆。bootloader的设计与实现(编辑修改稿)
相关推荐
,s) { strcpy(depart,d)。 strcpy(prof,p)。 } void display() { cout编号和姓名 :。 erson::display()。 cout部门 :depart 职称 :profendl。 } }。 Tianjin University 18 第 8章习题答案 =不做要求 Tianjin University 19 本讲概要 2. 实验 61——
, and he confirmed that „all the blood can go though this‟. Five units were transfused instead of the intended 2 units. insert your department, conference or presentation title • Excess red cells are
RECORDER按钮,屏幕出现 RecSettingTrSelect: 用 ▼ /NO或▲ /YES选择所要录音的轨道 START/STOP则录音结束 17轨合成录音(播放) 播放完整录音 1. 按一下 RECORDER按钮,点亮 RECORDER指示灯,按住 FUNCTION按钮同时再按 RECORDER按钮,屏幕出现 PlaySettingSongSelect:,用▼ /NO或▲
Boeing. All rights reserved. Departments • ESC • Scripting • MPD • Work overlap between groups Boeing Internship, 2020 Copyright 169。 2020 Boeing. All rights reserved. Projects • XSL Stylesheet • ESC
MSA量測 系統分析規劃 BPR D M A I C A p p r a i s e rnumber1M e a n0 . 80 . 60 . 40 . 80 . 60 . 4M e a n7 7 0 1 5 3 0 F 1 7 7 0 2 7 0 7 7 0 3 3 3 9 7 7 0 5 2 6 F 1 A T ( A ) 7 7 0 9 A 0 67 8 0 6 2 8 9 F 1 A T
想 样本的权重 没有先验知识的情况下,初始的分布应为等概分布,也就是训练集如果有 N个样本,每个样本的分布概率为 1/N 每次循环一后提高错误样本的分布概率,分错样本在训练集中所占权重增大, 使得下一次循环的弱学习机能够集中力量对这些错误样本进行判断。 弱学习机的权重 准确率越高的弱学习机权重越高 循环控制:损失函数达到最小 在强学习机的组合中增加一个加权的弱学习机