您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Pmon---Bootlooder
Bootloaderjiangtao@ict.ac.cn北京中科亿芯信息技术有限公司内容提要•Bootloader简介•u-boot,redboot以及PMON2000介绍•PMON2000常用命令介绍•PMON2000代码分析•PMON2000配置和编译•如何在PMON2000中增加一段代码•启动操作系统北京中科亿芯信息技术有限公司内容提要•Bootloader简介•u-boot,redboot以及PMON2000介绍•PMON2000常用命令介绍•PMON2000代码分析•PMON2000配置和编译•如何在PMON2000中增加一段代码•启动操作系统北京中科亿芯信息技术有限公司Bootloader简介`上电以后对系统的各项硬件进行初始化检测和设置,引导操作系统`通过串口提供一个人机交互界面¾调试¾读写内存¾烧写flash,等等`开发语言采用汇编和C语言相结合北京中科亿芯信息技术有限公司EraSoC开发板串口主机PMON北京中科亿芯信息技术有限公司内容提要•Bootloader简介•u-boot,redboot以及PMON2000介绍•PMON2000常用命令介绍•PMON2000代码分析•PMON2000配置和编译•如何在PMON2000中增加一段代码•启动操作系统北京中科亿芯信息技术有限公司u-boot和redboot•DENX软件工程中心的u-boot¾支持ARM,PPC,X86和MIPS等¾标准的ARMbootloader¾源码包可以从sourceforge网站下载¾•基于eCos的redboot¾支持ARM,PPC,X86和MIPS等¾集Bootloader、调试、Flash烧写于一体¾支持串口、网络下载,执行嵌入式应用程序¾北京中科亿芯信息技术有限公司PMON2000介绍•基于FreeBSD•支持MIPS,ARM,PPC和X86•支持从flash,IDE,TFTP,USB启动操作系统•内置调试系统•包含多种命令用于调试,运行应用程序•使用串口作为输出•北京中科亿芯信息技术有限公司北京中科亿芯信息技术有限公司PMON2000介绍•开始前的准备工作•主机端:¾连接串口线,配置串口终端软件¾Windows使用超级终端¾Linux使用minicom¾波特率115200¾数据位8¾校验位无¾停止位1¾硬件控制位无北京中科亿芯信息技术有限公司北京中科亿芯信息技术有限公司北京中科亿芯信息技术有限公司北京中科亿芯信息技术有限公司北京中科亿芯信息技术有限公司PMON2000介绍•开始前的准备工作•主机端:¾连接串口线,配置串口终端软件¾连接Ejtag调试器到并口•聚芯开发板:¾检查串口线,Ejtag线是否连接正确¾检查各种跳线设置是否正确北京中科亿芯信息技术有限公司内容提要•Bootloader简介•u-boot,redboot以及PMON2000介绍•PMON2000常用命令介绍•PMON2000代码分析•PMON2000配置和编译•如何在PMON2000中增加一段代码•启动操作系统北京中科亿芯信息技术有限公司PMON2000常用命令介绍•PMON2000启动后提供一个文字交互界面,支持多种命令•完整命令描述可查阅PMON2000文档和查看PMON2000官方网站北京中科亿芯信息技术有限公司PMON2000常用命令介绍•h命令,帮助命令¾格式:h[*|cmd...]¾h不跟选项,列出所有支持的命令¾h*显示所有命令的帮助信息¾hcmd显示该命令的帮助信息¾范例PMONhsttystty[tty][-va][baud][sane][term]setterminaloptions北京中科亿芯信息技术有限公司PMON2000常用命令介绍•boot命令,加载一个文件到内存并执行¾格式boot[options]path[args]...¾path被加载文件的路径¾args执行该程序时的参数¾可加载二进制文件和elf格式文件¾范例PMONboot/dev/fs/ext2@usb0/vmlinuxroot=/dev/sda1从ext2文件系统的优盘上加载并执行内核映像文件vmlinux,内核启动参数为root=/dev/sda1北京中科亿芯信息技术有限公司PMON2000常用命令介绍•load命令,加载一个文件到内存¾格式load[-options]pathname¾-o加载到内存的地址¾范例PMONload-o80100000/dev/fs/ext2@usb0/vmlinux加载优盘上的vmlinux文件到内存0x80100000地址北京中科亿芯信息技术有限公司PMON2000常用命令介绍•g命令,从指定地址开始执行一个程序¾格式g[-st][-baddr][-eaddr][--args...]¾-eaddr程序的入口地址¾--args...程序执行使用的参数¾范例PMONg-e8010046c从0x8010046c开始执行北京中科亿芯信息技术有限公司PMON2000常用命令介绍•ifaddr命令,配置网卡ip地址¾格式ifaddrifnameipaddr[:ifparameters]¾Ifname网卡设备名¾Ipaddrip地址¾范例PMONifaddrrtl0192.168.16.10设置网卡rtl0的ip地址为192.168.16.10北京中科亿芯信息技术有限公司PMON2000常用命令介绍•ping命令,测试网卡连接¾格式ping[-fqv][-cn][-ssz][-isec][-ln]host¾-f以最快的速度发送包¾-cn发送n个包¾-ssz包长度¾host包发送的目的地址北京中科亿芯信息技术有限公司PMON2000常用命令介绍•set命令,修改环境变量¾格式set[-t][name[value]]]¾不跟参数时,列出所有环境变量¾-t临时设置,掉电不保存¾name环境变量名¾value值¾范例PMONsetmemsize64设置环境变量memsize为64北京中科亿芯信息技术有限公司PMON2000常用命令介绍`d命令,查看内存数据¾格式d[-bhwds][-rreg]addr[cnt]¾-b以字节(8bits)格式显示¾-h以半字(16bits)格式显示¾-w以字(32bits)格式显示¾-d以双字(64bits)格式显示¾-s将数据以字符串格式显示¾addr从哪个地址开始显示¾cnt显示cnt个¾范例PMONd–w80010000显示从0x80010000地址开始的内存数据北京中科亿芯信息技术有限公司PMON2000常用命令介绍•m命令,修改内存单元¾格式m[-bhwd]addr[data...|-sstring]¾[-bhwd]addr和d命令的参数一样¾data被修改的值¾范例PMONm–w8001000012345678修改内存单元0x80010000的值为0x12345678北京中科亿芯信息技术有限公司PMON2000常用命令介绍•mt命令,简单的内存测试¾格式mt[-cv][start[size]]¾-c循环运行直到被终止¾start被测试的起始地址¾size被测试的字节数北京中科亿芯信息技术有限公司PMON2000常用命令介绍•sload命令,聚芯新增的串口下载文件命令¾格式sload-oaddr¾-oaddr,文件下载到内存的地址¾使用Ymodem协议¾范例PMONsload-o80100000此时还需要串口另一端的主机使用Ymodem协议发送文件文件接收完毕放于内存0x80100000地址北京中科亿芯信息技术有限公司PMON2000常用命令介绍•nand_write命令,烧写nandflash¾格式nand_write-faddr-ssize[-e-oaddr-r]¾-e擦除nandflash¾-faddr从nandflash的addr地址开始¾-ssize操作的字节数¾-oaddr读取的数据放于内存的addr地址¾-r是否烧写oob数据¾范例PMONnand_write-f100000-o80100000–s10000-r读取nand的0x100000地址开始的数据,存到内存的0x80100000地址北京中科亿芯信息技术有限公司PMON2000常用命令介绍•nand_load命令,读取nandflash¾格式nand_load-faddr[-ssize]-oaddr¾-faddr从nandflash的addr地址开始读取¾-ssize读取的字节数,如果该选项缺省,则文件大小通过读取第一个oob字来获得¾-oaddr读取的数据放于内存的addr地址¾范例PMONnand_load-f100000-o80100000读取nand的0x100000地址开始的数据,存到内存的0x80100000地址北京中科亿芯信息技术有限公司PMON2000常用命令介绍•bootnand命令,从nand启动linux操作系统¾格式bootnand[args]...¾args启动操作系统的参数¾该命令相当于两条命令nand_load-f0x100000-o0x80100000g-e0x8010046c¾范例PMONbootnandroot=/dev/mtdblock2北京中科亿芯信息技术有限公司内容提要•Bootloader简介•u-boot,redboot以及PMON2000介绍•PMON2000常用命令介绍•PMON2000代码分析•PMON2000配置和编译•如何在PMON2000中增加一段代码•启动操作系统北京中科亿芯信息技术有限公司北京中科亿芯信息技术有限公司PMON2000代码分析•confÆ与具体平台无关的通用配置文件¾配置和裁剪PMON代码•docÆ相关文档•includeÆC库和Linux头文件•libÆC库和Linux库文件•sys和pmonÆ与具体平台无关的代码¾底层初始化代码,设备驱动,PMON命令等•toolsÆ配置工具和脚本•TargetsÆ各平台相关代码北京中科亿芯信息技术有限公司北京中科亿芯信息技术有限公司文件conf/GENERIC_ALL,配置选项optionHAVE_LOGO#Has'splash'logo.#selectlogfile#Enablelogfilesupportselectmod_elfload#ELFloadingoption指定后面的宏定义被定义select指定后面的参数被选中#注释本行北京中科亿芯信息技术有限公司文件conf/files•definesys•devicemainbus:sys•attachmainbusatroot•filepmon/dev/mainbus.cmainbusneeds-flag•define定义一个变量•device定义一个设备•:依赖于某个变量•attachxxxatxxx该设备挂在哪个总线上•file该文件编译与否取决于后面的参数•needs-flag为该文件生成头文件北京中科亿芯信息技术有限公司北京中科亿芯信息技术有限公司北京中科亿芯信息技术有限公司PMON2000代码分析•Targets/ICTSOC/compileÆ编译,目标代码生成使用的目录执行PMON2000配置命令,该命令会在compile目录里新建目录ICTSOC,Makefile和所有将被用到的头文件被拷贝到这个目录•Targets/ICTSOC/confÆ聚芯的配置文件北京中科亿芯信息技术有限公司北京中科亿芯信息技术有限公司PMON2000代码分析•Targets/ICTSOC/conf/files.ICTSOC文件与文件conf/files相类似,最终决定哪些文件被编译链接•Targets/ICTSOC/conf/I
本文标题:Pmon---Bootlooder
链接地址:https://www.777doc.com/doc-4769791 .html