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

上传人:sccc 文档编号:5314487 上传时间:2023-06-25 格式:PPT 页数:21 大小:1.29MB
返回 下载 相关 举报
高端IT就业培训专家ppt课件.ppt_第1页
第1页 / 共21页
高端IT就业培训专家ppt课件.ppt_第2页
第2页 / 共21页
高端IT就业培训专家ppt课件.ppt_第3页
第3页 / 共21页
高端IT就业培训专家ppt课件.ppt_第4页
第4页 / 共21页
高端IT就业培训专家ppt课件.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

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

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

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

3、der的种类,BootloaderMonitor描 述x86ARMPowerPCLILO否Linux磁盘引导程序是否否GRUB否GNU的LILO替代程序是否否Loadlin否从DOS引导Linux是否否ROLO否从ROM引导Linux而不需要BIOS是否否Etherboot否通过以太网卡启动Linux系统的固件是否否LinuxBIOS否完全替代BUIS的Linux引导程序是否否BLOB否LART等硬件平台的引导程序否是否U-boot是通用引导程序是是是RedBoot是基于eCos的引导程序是是是,U-Boot简介,U-Boot是目前Bootloader中使用率最高的一种,我们这里以U-Boot

4、 为主线进行讲解。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/下载,也可以从sourceforge网站下载,还可以订阅该网站活跃的U-Boot Users邮件论坛,这个邮件论坛对于U-Boot的开发和使

5、用都很有帮助。U-Boot软件包下载网站:http:/,U-Boot的常用命令,FS4412#help用于查看当前U-Boot支持那些命令FS4412#help?-alias for helpbootm-boot application image from memorycp-memory copymmc-MMC sub systemping-send ICMP ECHO_REQUEST to network hostreset-Perform RESET of the CPUFS4412#help printenv可查看printenv命令的详细帮助,U-Boot的常用命令,FS4412#p

6、rintenv 查看u-boot的环境变量。FS4412#setenv bootdelay 5设置环境变量FS4412#loadb 0 x43e00000通过串口线下载二进制格式文件。FS4412#go 0 x43e00000用于执行裸机程序FS4412#ping 192.168.2.120用于测试网络是否联通FS4412#tftp uImage通过tftp协议下载文件到板子内存里FS4412#bootm 0 x43e00000用于运行内核uImageFS4412#movi write kernel 0 x43e00000用于操作emmc(类似于flash)指令,U-Boot的环境变量,通过p

7、rintenv命令查看环境变量的设置。FS4412#printenvbaudrate=115200bootargs=root=/dev/nfs nfsroot=192.168.2.110:/nfs/rootfs rw console=ttySAC2,115200 init=/linuxrc ip=192.168.2.166bootcmd=tftp 41000000 uImage;tfU-Boot的环境变量tp 42000000 exynos4412-fs4412.dtb;bootm 41000000-42000000bootdelay=3,网络相关环境变量,#setenv ipaddr 192

8、.168.2.166 设置本机IP地址#setenv gatewayip 192.168.2.1 设置本机的网关#setenv netmask 255.255.255.0 设置网关#setenv serverip 192.168.2.120 设置tftp服务端的IP地址#pri 查看设置后效果gatewayip=192.168.2.1ipaddr=192.168.2.166netmask=255.255.255.0serverip=192.168.2.120#saveenv 保存设置,自启动命令 bootcmd,setenv bootcmd tftp 41000000 uImage;tftp

9、42000000 exynos4412-fs4412.dtb;bootm 41000000-42000000自启动命令bootcmd 的作用是当板子上电后,bootdelay倒数计时到零后,u-boot会自动执行bootcmd变量里的命令。bootcmd里可以添加多个命令,命令通过;进行分割。该例子中包含了三个命令 tftp 41000000 uImage 意思是通过tftp协议下载内核,启动参数 bootargs,#setenv bootargs root=/dev/nfs nfsroot=192.168.2.110:/nfs/rootfs rw console=ttySAC2,115200

10、 init=/linuxrc ip=192.168.2.166在u-boot启动内核时,u-boot会把启动参数 bootargs传给内核。内核运行后会解析该参数,决定从哪里去挂载根文件系统rootfs.串口信息从哪个com口输出。运行的第一个应用程序是哪个。其中root=/dev/nfs 指定了根文件系统的类型是是nfs rootfs.,配置编译,进入u-boot源码根目录,输入命令$make origen_config 指定产品配置为origen,origen是ARM官方发布的使用exynos 4412 CPU的一种开发板配置。再输入命令$make 编译生成最终可以烧录到板子上运行的二进制

11、文件u-boot.bin。,以Makefile为切入点,顶层目录下的Makefile它负责U-Boot整体配置编译。当运行make origen_config时,会在Makefile中找到对应的入口%_config:unconfig$(MKCONFIG)-A$(:_config=)其中MKCONFIG 的定义是MKCONFIG:=$(SRCTREE)/mkconfig 对应顶层目录下的mkconfig.分析mkconfig知道,它会读入boards.cfg文件,设定变量arch=cpu=board=vendor=soc=来指定要编译的产品目录。,开发板配置头文件,例如include/confi

12、gs/origen.h,内容如下#ifndef _CONFIG_H#define _CONFIG_H#define CONFIG_SAMSUNG1/*SAMSUNG core*/#define CONFIG_S5P 1/*S5P Family*/#define CONFIG_EXYNOS42101/*which is a EXYNOS4210 SoC*/#define CONFIG_ORIGEN1/*working with ORIGEN*/#include/*get chip and board defs*/,U-Boot启动过程,普通的cpu运行的第一个程序,是u-boot.但exynos

13、 4412 cpu较特殊,它的启动分为了4个阶段。BL0 阶段BL0是固化在iram中的程序,它的主要工作是:关闭看门狗,关闭中断及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备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号