PPC U-Boot随读随写(1)

 PPC U-Boot随读随写(1)
U-Boot目录下,board,cpu,include/configs在移植过程中会涉及。board主要是关于开发板的,flash驱动可以放在此;cpu如同其名,开发板所用的CPU,本文为MPC8260;include/configs一些系统定义,比如boot flash地址,boot参数,boot command等等,比较重要。U-Boot的编译可以参考Readme以及doc目录下的文档.
  U-Boot从cpu/mpc8260/start.S启动,调用cpu_init_f初始化IMMR,然后bl board_init_f。
  board_init_f中,gd指针指向CFG_INIT_RAM_ADDR+CFG_GBL_DATA_OFFSET,CFG_INIT_RAM_ADDR为CFG_IMMR即cpu内部ram,MPC8260 internal RAM为128K(0x2000),CFG_GBL_DATA_OFFSET=(0x2000 - 128),即为GD分配128bytes,位于internal RAM的(0x2000-128). 调用init_sequence初始化timebase/serial/clocks/console etc.,并把相关信息保存在gd里。接着分配RAM,从最高地址向下,分别分配Kernel log buffer,protected RAM,LCD framebuffer,memory for U-Boot code, data & bss,memory for malloc() arena,Board Info(比较重要),最后是设置新的stack,初始化bd,调用relocate_code(start.S).
  main_loop()中,函数abortboot()用于中止auto boot,KEY在include/configs中CONFIG_AUTOBOOT_STOP_STR设置. 若是auto boot模式,获取bootcmd,getenv ("bootcmd"); run_command (s, 0)直接boot image. boot command在include/configs中CONFIG_BOOTCOMMAND定义,例如#define CONFIG_BOOTCOMMAND    "bootm ff020000 ff120000"    /* autoboot command */。
  run_command()调用do_bootm(). do_bootm()中,解析参数个数,从第一个参数获取到kernel image的address,读出image header, CRC效验,hdr->ih_type为IH_TYPE_KERNEL,hdr->ih_comp为IH_COMP_GZIP,gunzip解压缩到hdr->ih_load,根据hdr->ih_os调用do_bootm_linux();do_bootm_linux()中,获取启动参数s = getenv("bootargs"),     
    strcpy (cmdline, s);
    cmd_start    = (ulong)&cmdline[0];
    cmd_end      = cmd_start + strlen(cmdline);
kernel指向(void (*)(bd_t *, ulong, ulong, ulong, ulong)) ntohl(hdr->ih_ep), 参数大于3时,设置结构体kbd(board info),从参数argv[2]获取initrd的地址, data = ddr + sizeof(image_header_t); 设置initrd_start = data;        initrd_end = initrd_start + len;  调用(*kernel) (kbd, initrd_start, initrd_end, cmd_start, cmd_end);
      Linux Kernel Parameters:
       r3: ptr to board info data
       r4: initrd_start or 0 if no initrd
       r5: initrd_end - unused if r4 is 0
       r6: Start of command line string
       r7: End   of command line string
启动kernel,执行arch/ppc/kernel/head.S.

以上bootloader解压内核到内存,然后跳转到内核入口处开始执行。
另外一种是内核自解压,入口在arch/ppc/boot/simple/head.S
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Rexroth PLC PPC-R02.2N 手册是一本关于该型号PLC的详细说明书。该手册提供了关于设备的技术参数、功能描述、硬件配置、编程指南以及故障排除方法等信息。 手册首先介绍了PPC-R02.2N PLC的特点和应用领域。它具有高性能、高可靠性和灵活性,适用于各种工业自动化应用。该PLC可用于控制和监控各种设备和系统,如生产线、机器人、输送系统等。 手册接着介绍了PLC的硬件组成和配置。它包括CPU、存储器、输入/输出模块、通信接口等。手册详细描述了每个组件的技术参数和连接方式,以帮助用户正确配置和连接PLC。 手册还提供了PLC的编程指南。它介绍了PLC的编程语言、编程环境和开发工具。用户可以通过编写程序来实现各种控制逻辑和功能,如数据处理、逻辑运算、变量控制等。手册提供了大量的代码示例和实例,以帮助用户理解和应用编程技巧。 此外,手册还包括了PLC的诊断和故障排除方法。它列出了常见故障的可能原因和解决方案,以及故障码和报警信息的解释。用户可以根据手册提供的指导,快速诊断和修复PLC故障,保证设备的正常运行。 总之,Rexroth PLC PPC-R02.2N 手册详细介绍了该型号PLC的技术参数、功能、硬件配置、编程指南和故障排除方法。它是用户了解和使用该PLC的重要参考手册。 ### 回答2: rexroth plc ppc-r02.2n 手册是专门用于rexroth ppc-r02.2n型号的可编程逻辑控制器的操作指南。该手册详细介绍了该型号PLC的功能和特点,以及如何正确使用和调试该设备。 该手册包含以下方面的内容: 1. 产品概述:介绍了rexroth ppc-r02.2n PLC的外观和基本参数,包括输入输出模块、通信接口等。 2. 硬件安装:说明了如何正确安装rexroth ppc-r02.2n PLC,包括连接电源、模块、传感器和执行器等。 3. 软件配置:介绍了PLC的软件配置过程,包括参数设置、编程语言选择和编程环境搭建等。 4. PLC编程:详细介绍了rexroth ppc-r02.2n PLC的编程方法和编程语言,包括 ladder diagram(梯形图)、function block diagram(功能块图)等,以及常用的指令和功能模块的应用。 5. 调试与故障排除:提供了在使用过程中常见问题的解决方案,包括如何进行调试和故障排除,以确保PLC的正常运行。 通过仔细阅读和理解rexroth plc ppc-r02.2n手册,用户能够了解该PLC的基本原理和操作流程,掌握PLC的编程和调试技巧,从而能够灵活应用该设备来实现自动化控制任务。此外,手册中也提供了一些实例和应用场景,供用户参考和借鉴。 总之,rexroth plc ppc-r02.2n手册对于用户正确、高效地使用该型号的PLC具有重要的指导作用,对于学习和掌握PLC相关知识也具有一定的参考价值。 ### 回答3: rexroth plc ppc-r02.2n 是一款由德国力士乐公司制造的可编程逻辑控制器(PLC)。它是一种高性能的控制设备,可用于自动化控制系统中的各种应用。该设备具有多种输入和输出接口,可以连接各种传感器和执行器,实现对机械和电气设备的控制。 《rexroth plc ppc-r02.2n 手册》是对该设备的说明和操作指南。手册的目的是向用户提供设备的技术参数、接口定义、安装和调试方法、编程指导以及各种故障排除的解决方法等详细信息。通过阅读手册,用户可以了解设备的功能和特性,并能够独立进行设备的操作和维护。 手册的内容主要包括以下几个方面: 1. 设备介绍:包括设备的外观和结构、产品编号、型号规格等基本信息。 2. 硬件配置:介绍设备的各种输入和输出接口,以及它们的功能和参数。 3. 系统安装:包括设备的安装位置、连接方法以及相应的电气和机械要求。 4. 编程指南:介绍了PLC编程的基本概念、编程环境和语言,以及各种常用指令和函数的使用方法。 5. 故障排除:列举了可能出现的故障和解决方法,帮助用户快速排除设备故障并进行维修。 总之,rexroth plc ppc-r02.2n 手册是一本对该PLC设备进行详细介绍和操作指导的手册,它可以帮助用户充分了解设备的性能和使用方法,确保设备的正常运行和维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值