高端IT就业培训专家ppt课件.ppt

上传人:本田雅阁 文档编号:2479356 上传时间:2019-04-02 格式:PPT 页数:21 大小:1.29MB
返回 下载 相关 举报
高端IT就业培训专家ppt课件.ppt_第1页
第1页 / 共21页
高端IT就业培训专家ppt课件.ppt_第2页
第2页 / 共21页
高端IT就业培训专家ppt课件.ppt_第3页
第3页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《高端IT就业培训专家ppt课件.ppt》由会员分享,可在线阅读,更多相关《高端IT就业培训专家ppt课件.ppt(21页珍藏版)》请在三一文库上搜索。

1、,高端IT就业培训专家,ARM处理器,目标,本章描述了ARM体系结构和ARM Linux的发展,介绍了几种应用Linux的典型ARM处理器和开发板。 本章可以使读者了解嵌入式Linux系统硬件平台的基础知识。,BootLoader 简介,对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程。嵌入式Linux系统同样离不开引导程序,这个引导程序就叫作Bootloader Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。 对于嵌入式系统,Bootloader

2、是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的Bootloader,不同的处理器架构都有不同的Bootloader。Bootloader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。对于2块不同的嵌入式板而言,即使它们使用同一种处理器,要想让运行在一块板子上的Bootloader程序也能运行在另一块板子上,一般也都需要修改Bootloader的源程序。,Bootloader的启动,网络启动方式,Flash启动方式,大多数嵌入式系统上都使用Flash存储介质。Flash有很多类型,包括NOR Flash、NAND Flash和其他半导体盘,Boot

3、loader的种类,Bootloader Monitor 描 述 x86 ARM PowerPC LILO 否 Linux磁盘引导程序 是 否 否 GRUB 否 GNU的LILO替代程序 是 否 否 Loadlin 否 从DOS引导Linux 是 否 否 ROLO 否 从ROM引导Linux而不需要BIOS 是 否 否 Etherboot 否 通过以太网卡启动Linux系统的固件 是 否 否 LinuxBIOS 否 完全替代BUIS的Linux引导程序 是 否 否 BLOB 否 LART等硬件平台的引导程序 否 是 否 U-boot 是 通用引导程序 是 是 是 RedBoot 是 基于eCo

4、s的引导程序 是 是 是,U-Boot简介,U-Boot是目前Bootloader中使用率最高的一种,我们这里以U-Boot 为主线进行讲解。U-Boot可以方便地移植到其他硬件平台上,其源代码也值得开发者们研究学 最早,DENX软件工程中心的Wolfgang Denk基于8xxrom的源码创建了PPCBOOT工程,并且不断添加处理器的支持。后来,Sysgo Gmbh把ppcboot移植到ARM平台上,创建了ARMboot工程。然后以ppcboot工程和armboot工程为基础,创建了U-Boot工程 U-Boot的源码包可从ftp:/ftp.denx.de/pub/u-boot/下载,也可以

5、从sourceforge网站下载,还可以订阅该网站活跃的U-Boot Users邮件论坛,这个邮件论坛对于U-Boot的开发和使用都很有帮助。 U-Boot软件包下载网站:http:/ U-Boot邮件列表网站:http:/ DENX相关的网站:http:/www.denx.de/re/DPLG.html。,U-Boot的常用命令,FS4412 # help用于查看当前U-Boot支持那些命令 FS4412 # help ? - alias for help bootm - boot application image from memory cp - memory copy mmc - MM

6、C sub system ping - send ICMP ECHO_REQUEST to network host reset - Perform RESET of the CPU FS4412 # help printenv可查看printenv命令的详细帮助,U-Boot的常用命令,FS4412 # printenv 查看u-boot的环境变量。 FS4412 # setenv bootdelay 5设置环境变量 FS4412 # loadb 0x43e00000通过串口线下载二进制格式文件。 FS4412 # go 0x43e00000用于执行裸机程序 FS4412 # ping 19

7、2.168.2.120用于测试网络是否联通 FS4412 # tftp uImage通过tftp协议下载文件到板子内存里 FS4412 # bootm 0x43e00000用于运行内核uImage FS4412 # movi write kernel 0x43e00000用于操作emmc(类似于flash)指令,U-Boot的环境变量,通过printenv命令查看环境变量的设置。 FS4412 # printenv baudrate=115200 bootargs=root=/dev/nfs nfsroot=192.168.2.110:/nfs/rootfs rw console=ttySAC

8、2,115200 init=/linuxrc ip=192.168.2.166 bootcmd=tftp 41000000 uImage;tfU-Boot的环境变量tp 42000000 exynos4412-fs4412.dtb;bootm 41000000 - 42000000 bootdelay=3,网络相关环境变量,#setenv ipaddr 192.168.2.166 设置本机IP地址 #setenv gatewayip 192.168.2.1 设置本机的网关 #setenv netmask 255.255.255.0 设置网关 #setenv serverip 192.168.2

9、.120 设置tftp服务端的IP地址 #pri 查看设置后效果 gatewayip=192.168.2.1 ipaddr=192.168.2.166 netmask=255.255.255.0 serverip=192.168.2.120 #saveenv 保存设置,自启动命令 bootcmd,setenv bootcmd tftp 41000000 uImage ; tftp 42000000 exynos4412-fs4412.dtb ; bootm 41000000 - 42000000 自启动命令bootcmd 的作用是当板子上电后,bootdelay倒数计时到零后,u-boot会自

10、动执行bootcmd变量里的命令。bootcmd里可以添加多个命令,命令通过 ; 进行分割。 该例子中包含了三个命令 tftp 41000000 uImage 意思是通过tftp协议下载内核,启动参数 bootargs,#setenv bootargs root=/dev/nfs nfsroot=192.168.2.110:/nfs/rootfs rw console=ttySAC2,115200 init=/linuxrc ip=192.168.2.166 在u-boot启动内核时,u-boot会把启动参数 bootargs传给内核。 内核运行后会解析该参数,决定从哪里去挂载根文件系统roo

11、tfs . 串口信息从哪个com口输出。 运行的第一个应用程序是哪个。 其中root=/dev/nfs 指定了根文件系统的类型是是nfs rootfs.,配置编译,进入u-boot源码根目录,输入命令 $ make origen_config 指定产品配置为origen, origen是ARM官方发布的使用exynos 4412 CPU的一种开发板配置。 再输入命令 $ make 编译生成最终可以烧录到板子上运行的二进制文件u-boot.bin。,以Makefile为切入点,顶层目录下的Makefile 它负责U-Boot整体配置编译。当运行make origen_config时,会在Make

12、file中找到对应的入口 %_config: unconfig $(MKCONFIG) -A $(:_config=) 其中MKCONFIG 的定义是MKCONFIG := $(SRCTREE)/mkconfig 对应顶层目录下的 mkconfig. 分析mkconfig知道,它会读入boards.cfg文件,设定变量arch=“ cpu=“ board=“ vendor=“ “ soc=“来指定要编译的产品目录。,开发板配置头文件,例如include/configs/origen.h,内容如下 #ifndef _CONFIG_H #define _CONFIG_H #define CONFI

13、G_SAMSUNG 1 /* SAMSUNG core */ #define CONFIG_S5P 1 /* S5P Family */ #define CONFIG_EXYNOS4210 1 /* which is a EXYNOS4210 SoC */ #define CONFIG_ORIGEN 1 /* working with ORIGEN*/ #include /* get chip and board defs */,U-Boot启动过程,普通的cpu运行的第一个程序,是u-boot. 但exynos 4412 cpu较特殊,它的启动分为了4个阶段。 BL0 阶段 BL0是固化在i

14、ram中的程序 ,它的主要工作是: 关闭看门狗,关闭中断及MMU,时钟设置,检测om决定启动方式,拷贝bl1到iram中。 BL1 阶段( b1.asm,U-Boot启动过程, BL2 阶段( u-boot.bin 从exynos 4412的启动步骤可知,我们单独运行u-boot是不行的。需使用三星提供的BL1 BL2添加到u-boot.bin的前面,进行打包校验后会生成新的u-boot(如u-boot-fs4412.bin) 使用它我们才能正常启动板子。,启动步骤,汇编阶段 1. 设置为SVC模式,关闭中断,MMU,看门狗 2. 基本硬件设备初始化(初始化时钟,串口,flash,内存等) 3. 自搬移到内存 4. 设置好栈 跳转到C语言阶段 C语言阶段 5. 大部分硬件初始化 6. 搬移内核到内存后,运行内核,U-Boot移植实例,收集移植相关资源 选择u-boot 源码版本 u-boot 配置编译 1指定最类似的官方配置 2. 指定编译时的交叉编译工具链 串口能输出信息 1Jlink来调试器 2点灯法跟踪 移植网卡实现ping,tftp的功能,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1