380 likes | 600 Vues
开发环境的建立. 陈文智 浙江大学计算机学院 2009 年 4 月. 内容提要. 1 、宿主机 - 目标机开发模式 2 、 XsBase255 目标机环境 3 、宿主机环境 4 、试验 烧写 XsBase255 的 BootLoader 使用 Minicom 实现串口通信 建立开发环境 熟悉交叉编译环境和开发工具. 嵌入式系统的设计流程. 1 、宿主机 - 目标机开发模式. 2 、 XsBase255 目标机环境. 2.1 JTAG 接口简介 边界扫描测试,主要用于芯片内部测试。 Joint Test Action Group 。
E N D
开发环境的建立 陈文智 浙江大学计算机学院 2009年4月
内容提要 • 1、宿主机-目标机开发模式 • 2、XsBase255目标机环境 • 3、宿主机环境 • 4、试验 • 烧写XsBase255的BootLoader • 使用Minicom实现串口通信 • 建立开发环境 • 熟悉交叉编译环境和开发工具
2、XsBase255目标机环境 • 2.1 JTAG接口简介 • 边界扫描测试,主要用于芯片内部测试。Joint Test Action Group。 • 接JTAG下载线或接其他JTAG仿真器。 其他调试工具: 示波器:板级硬件设计及调试,最原始的工具。有两类:模拟示波器和数据示波器 逻辑分析仪:对微处理器总线的数据解码,观察总线发生的传输事务。有两类:状态分析仪和时序分析仪。 ICE在线仿真器:是一种用于替代目标机上的CPU的设备。
2.2 BootLoader • LILO • GRUB • U-BOOT
Boot Loader的阶段1通常包括以下步骤: • a. 硬件设备初始化。 • b. 为加载 Boot Loader 的 阶段2 准备 RAM 空间。 • c. 拷贝 Boot Loader 的 阶段2 到 RAM 空间中。 • d. 设置好堆栈。 • e. 跳转到 阶段2 的 C 入口点。
Boot Loader的阶段2通常包括以下步骤: (不能用glibc库中的任何支持函数) • a. 初始化本阶段要使用到的硬件设备。 • b. 检测系统内存映射(memory map)。 • c. 将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中。(通常在头上保留一小段空间,如MEM_START + 0x800) • d. 为内核设置启动参数。 • e. 调用内核
3、宿主机环境 • 3.1 BOOTP协议 • 3.2 TFTP协议 • 3.3 交叉编译 • 3.4 Make工具
3.1 BOOTP协议 • BOOTP服务的全称是BootStrap Protocol • 使用TCP/IP网络协议中的UDP 67/68两个通讯端口 • 常用到的DHCP服务就是从BOOTP服务扩展而来的
第一步,在目标板由BootLoader启动BOOTP,此时目标板还没有IP地址,它就用广播形式以IP地址0.0.0.0向网络中发出IP地址查询的请求,这个请求帧中包含了客户机的网卡MAC地址等信息。
3.2 TFTP协议 • TFTP服务的全称是Trivial File Transfer Protocol • TFTP可以看成一个简化了的FTP • TFTP在安装时一定要设立一个单独的目录作为TFTP服务的根目录,以减少安全隐患
3.3 交叉编译 • 交叉编译就是在一个架构下编译另一个架构的目标文件 • 采用何种交叉编译器产生何种格式的目标文件还要取决于目标机的操作系统。
3.4 Make工具 • 基本规则 :目标、依赖关系、指令
扩展名规则 • 扩展名规则(Suffix Rule)是根据文件的扩展名来进行适当的运算操作。例如,.c一般指C源文件,.o文件是目标文件。.c文件编译后应成为.o文件。 意思:对带有.c和.o扩展名的文件按照扩展名规则来处理,自动操作使.c文件编译后生成.o文件。
4、试验 • 4.1烧写XsBase255的BootLoader • 编译生成XsBase255专用的JTAG程序Jflash-XSBase255 • 正确连线 • 利用JTAG烧写BootLoader
4.2、使用Minicom实现串口通信 • Minicom的安装 • Minicom的设置 • 若目标机接在COM1上,则输入/dev/ttyS0;若接在COM2上则输入/dev/ttyS1。 • Speed为115200 • Parity bit为No • Data bit为8 • Stop bits为1
4.3、建立开发环境 • (1)在宿主机上安装xinetd
(2)在宿主机上安装BOOTP • 使用rpm命令查询是否已经安装BOOTP rpm包,若没有安装则参照xinetd rpm包的安装方法进行安装。 • BOOTP安装完毕之后会生成/usr/sbin/bootpd文件,这个文件需要被xinetd程序运行,需要创建/etc/xinetd.d/bootp文件并进行设置
(3)bootptab文件的生成和设置 • 字段ht表示Hardware Type,因为使用10Mb Ethernet,所以设置为1(Ethernet); • ha表示Hardware Address,是发送bootp请求的目标机的Mac地址; • ip表示分配给目标机的IP地址; • sm表示Subnet Mask,应与宿主机相同。
(6)在目标机上用TFTP下载镜像文件 • 不指定下载地址:
4.4、熟悉交叉编译环境和开发工具 • (1)编译交叉编译器 • (2)HelloWorld实验