T2080 U-BOOT与OS内核移植 准备篇(二)——开发调试环境入门(Trace32、QorIQ Linux SDK和QCVS)

  • 一、Trace32
    • 1. 工具配置和软件安装
    • 2. 使用PRACTICE脚本编写脚本(.cmm脚本)
      • 2.1 启动场景定义
      • 2.2 连接目标硬件并配置t32start
        • 2.2.1 连接目标硬件
        • 2.2.2 配置t32start
      • 2.3 PRACTICE脚本(.cmm脚本)编写
        • 2.3.1 参考模板(启动脚本)
        • 2.3.2 脚本编写、修改和调试
    • 3. 使用仿真器熟悉PowerView(Trace32 IDE)
  • 二、QorIQ Linux SDK
  • 三、QCVS 4.5
  • 四、小结

上一篇我们简单介绍了几种常用与T2080开发调试相关的工具和环境。这篇文章将带领大家进行环境的部署和配置。

回顾一下我们选择的工具集:

1.Trace32
用途一:基础资源(片上寄存器/片上SRAM、内存、FLASH和串口等)的可用性验证。
用途二:PBL(RCW)、u-boot和OS(对于Linux包括kernel、dtb和rtfs的烧录)。
用途三:RCW、u-boot和OS kernel代码调试(单步、断点等方式)。

注:Code Warrior也可用于完成用途二和用途三中u-boot的调试。但本项目全部选择Trace32进行开发(毕竟有贵的就不用便宜的了)。

2. QorIQ Linux SDK
NXP官方提供的交叉编译工具链,主要用于C/C++代码的编译和可执行(调试)文件的生成。用于编译和生成u-boot、OS kernel和驱动程序。
官方推荐在Ubuntu环境下使用。

3. QCVS(QorIQ Configuration and Validation Suite)
NXP官方以Code Warrior离线插件的形式提供的用于编辑和生成QorIQ系列处理器PBL(Pre-BootLoader)的工具。需要在Code Warrior环境下使用。

下面简单介绍这几个工具。

一、Trace32

作为一套(一个Trace32 POWER DEBUG PRO + 一套T2080 DEBUG CABLE) 价值一辆B级轿车的高端调试器,它应有的逼格还是有的。先来展示一下:

共计324MB的384份用户手册(笔者估算总页数在20000页上下,全英文),用自己的实力劝退了无数开发者。不过呢,大家不用怕,这不也正说明了资料的齐全。

所有的帮助文档都直接或间接的链接到directory.pdf这份文档,理论上跟着此文档的步骤可以解决所有的使用问题。但这是一棵枝叶繁茂的大树,“横柯上蔽,在昼犹昏”,我们必须斩掉无用的枝叶。

下面我们简单介绍手册的构成。(注意:我们的Trace32硬件是“POWER DEBUG PRO×1 + T2080 DEBUG CABLE×1。)

下面简要说明开发过程中所涉及的功能和相应的手册。

1. 工具配置和软件安装

相关文档:icd_quick_installation.pdf

  • 工具配置:提供关于TRACE32调试和调试的信息和插图跟踪工具。
  • 软件安装:软件安装:介绍TRACE32在MS Windows、PC Linux、Mac OS和SunOS下的默认安装。

2. 使用PRACTICE脚本编写脚本(.cmm脚本)

PRACTICE是Trace32提供的编程语言。PRACTICE脚本的主要任务是:

  • 为开发工具提供正确的启动顺序
  • 实现FLASH编程自动化
  • 定制用户界面
  • 存储和重新激活特定的TRACE32设置
  • 运行自动测试

2.1 启动场景定义

这里说的启动脚本,可大可小。但我们通常会先定义目标模块的“最小系统”,这个最小系统对应着一个“最小配置”,启动脚本的工作就是完成这个最小配置。最小配置与目标板的处理器和外设有着直接的关系。

tutor_setup.pdf中定义了4个典型的应用场景,针对每个场景描述了常用操作和命令,可供参考。

2.2 连接目标硬件并配置t32start

使用仿真器初步熟悉了Power View工具界面后,我们开始使用t32start工具连接目标硬件。

2.2.1 连接目标硬件

前文已描述过,参考icd_quick_installation.pdf连接目标硬件。

2.2.2 配置t32start

相关文档:app_t32start.pdf
t32start可以运行在多种操作系统上,按照教程一步一步配置即可。

2.3 PRACTICE脚本(.cmm脚本)编写

2.3.1 参考模板(启动脚本)

Trace32为每个型号的CPU提供了一个或数个初始化脚本实例。以FreeScale T2080 RDB(参考设计板)为例,…\Trace32\demo\powerpc64bit\hardware\qoriq_t2\t2080qds文件夹下就提供了init.cmm启动脚本。init.cmm的内容如图所示。

2.3.2 脚本编写、修改和调试

启动脚本可以在此基础上,找到目标硬件和RDB的差异,结合定义的启动场景进行修改。

PRACTICE脚本语言练习手册:training_practice.pdf

PRACTICE脚本语言命令详解:general_ref_a.pdf ~ general_ref_z.pdf

T2080处理器特性相关资源和调试方法描述手册:debugger_ppcqoriq.pdf

3. 使用仿真器熟悉PowerView(Trace32 IDE)

在劳德巴赫官网https://www.lauterbach.com/frames.html?download.html上,各类处理器都可以找到相应的模拟器。

下图是个不同系列处理器模拟器所对应的手册。

以PowerPC的模拟器和手册simulator_ppc.pdf为例,如下图所示。

其主要功能是基于PowerView的功能和界面,仿真了一个powerpc的硬件环境,基于这个仿真环境提供了一段C代码。在调试的过程中,练习和熟悉PowerView的IDE功能(包括各种调试工具和PRACTICE脚本)。针对每个系列处理器都有一个定制的仿真器,寄存器等片上资源都是基于真实处理器配置的。
这个工具最大的特点是:纯软件模拟!不需要任何外设支持,非常容易上手。

相关文档1:training_debugger.pdf
training_debugger提供了更系统的调试方法介绍和训练。

相关文档2:ide_user.pdf

二、QorIQ Linux SDK

QorIQ Linux SDK主要用于生成能够在目标板上运行的可执行代码(C/C++)。SDK的版本根据目标板的情况来选择,本项目中所使用的T2080模块使用的是QorIQ Linux SDK v2.0 PPC64E6500 IMAGE.iso文件中所提供的开发环境。工具在NXP官方网站上可下载。

具体安装和配置过程参考博文: NXP(Freescale) QorIQ T2080 SDK安装和使用_黑客三遍猪-CSDN博客。

最终目标是能够在命令行看到以下powerpc程序(powerpc工具链):

有了工具链后,就可以编译u-boot了。网上u-boot编译的相关资料很多,这里就不再赘述了。

三、QCVS 4.5

最后是RCW生成工具,具体的安装过程参考博文:NXP(Freescale) QorIQ T2080 CodeWarrior PBL工程生成RCW_黑客三遍猪-CSDN博客

需要说明的是QCVS 4.5在NXP官网上已经无法找到,估计是换名字了或者是集成到了其他工具里。这里附上下载地址:

https://drive.google.com/file/d/1f0DqcGRtVlMarYG3J1HcREcZ3PaH_xgr/view?usp=sharing

地址是Google网盘,无法下载的可直接与我联系。

四、小结

本文介绍了T2080模块U-BOOT与OS内核移植项目所采用的开发工具。抛砖引玉,工具详细的使用方法还需要仔细研读相关文档。

开发准备工作到这里就算是完成了,接下来我们要开始真正的移植工作了。

T2080 U-BOOT与OS内核移植 准备篇(二)——开发调试环境入门(Trace32、QorIQ Linux SDK和QCVS)相关推荐

  1. T2080 U-BOOT与OS内核移植 准备篇(一)——开发调试环境简介

    T2080 U-BOOT与OS内核移植 准备篇(一)--开发调试环境简介 1.本项目选择的工具 2.几个常用工具简介 2.1 Trace32 2.2 Code Warrior 2.3 QorIQ Li ...

  2. T2080 U-BOOT与OS内核移植 u-boot移植篇(一)——创建新目标板的u-boot工程

    T2080 U-BOOT与OS内核移植 u-boot移植篇(一)--创建新目标板的u-boot工程 一.创建新目标板文件夹并修改相应文件 1.创建新目标板文件夹 2.修改t2080tpm文件夹中的相应 ...

  3. linux内核移植与开发板,Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解

    Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解 [复制链接] 今天终于让Linux内核在飞凌的板子上跑起来了,想来也是艰辛,为了移植成功,断断续续做了将近两个月的努力,期间郁闷不可 ...

  4. QNX----QNX内核移植到ZYNQ7010 (黑金开发板)

    QNX----QNX内核移植到ZYNQ7010 (黑金开发板) 在ZYNQ 平台移植QNX6.6 ,下载BSP_xilinx-zynq-7000-zc702_br-660_be-660_SVN8485 ...

  5. Windows内核开发调试环境配置详解

    1. 下载和使用WDK 应用程序使用开发包SDK,类似的,内核编程使用"Windows Driver Kit",简称WDK.WDK已经自带所有需要的头文件.库.C/C++语言及汇编 ...

  6. SUSE Linux Enterprise Server 安装内核源码及部署crash调试环境,分析内核崩溃文件(基于sles 15.2)

    实验环境: yg-net-static:~ # uname -a Linux yg-net-static 5.3.18-22-default #1 SMP Wed Jun 3 12:16:43 UTC ...

  7. 【正点原子Linux连载】第三十七章 Linux内核移植 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  8. linux之mini2440内核移植

    与其它操作系统相比,Linux最大的特点:它是一款遵循GPL(General Public License  GNU通用公共许可证(简称为GPL),是由自由软件基金会发行的用于计算机软件的许可证.)的 ...

  9. Linux内核移植之三:内核配置选项

    内容来自 韦东山<嵌入式Linux应用开发完全手册> Linux内核配置选项多达上千个,一个个地进行选择既耗费时间,对开发人员的要求也比较高(需要了解每个配置选项的作用).一般的做法是在某 ...

最新文章

  1. 有没有必要把机器学习算法自己实现一遍?
  2. 从互联网到物联网,网红“天使之橙”的技术哲学
  3. java是什么_Java是什么?
  4. redis便捷启动,shell启动redis
  5. 恶补各种知识(操作系统篇)
  6. MyBatisPlus注入公共Sql问题
  7. 聊聊高并发(二十六)解析java.util.concurrent各个组件(八) 理解CountDownLatch闭锁
  8. 目标跟踪 facebook_如何关闭Facebook Messenger的位置跟踪(如果已启用)
  9. yaf 重写index.php,php框架Yaf路由重写实例代码
  10. 3秒搞定!~~ 一亿数据获取前100个最大值
  11. python表格数据的储存和读取_python读取表格存储
  12. Qt文档阅读笔记-Timer QML Type 官方解析与实例
  13. NABCD model(test)
  14. rt-n18u usb3.0 linux ex,2.4G王者 华硕 AUSU RT-N18U 评测
  15. PhoneGap搭建运行环境(3.2版本)
  16. CNDS-Markdown之公式编辑(一)
  17. 【全网最强C语言学习】C语言入门(工具)——库函数字典MSDN
  18. 异或(另类斐波那契数列题)
  19. 程序员长见识需要关注的牛人
  20. android9.0蓝牙功能,Android9.0 蓝牙开启流程

热门文章

  1. 小型桌面计算器的实现(javacc)
  2. 手机维修管理也搞ASP模式?
  3. C语言 十进制转二进制补码(正负都可) 指针 初学
  4. RTOS bookmark
  5. 2020/7/14 可积、连续、存在原函数的关系
  6. PMP项目管理证书是什么?
  7. ubuntu下 gcc工具链的安装
  8. 什么是进程➡进程调度
  9. 高并发秒杀系统如何设计?
  10. R中数据的标准化0-1标准化