创建SRAM程序,验证芯片是否可以正常工作

当我们拿到一个新板子,在ddr不确定,不能运行的情况下,应该先验证芯片是否正常工作。


p1020片内存储:cpu寄存器->L1cache->L2cache->DDR->Flash …

L2大小有256K,足够我们裸机程序运行了,所以使用codewarrior先建立SRAM工程。

环境

  • CodeWarriorDevelopmentStudio for Power Architecture v10.5.1 - Windows.exe

  • CodeWarrior Connection Server

  • Ethernet Tap

  1. CodeWarrior安装好,确保license未过期
  2. Ethernet Tap连接正确
  3. CodeWarrior Connection Server连接正确

创建SRAM程序

  1. 打开codewarrior
  2. File->New->Create a CodeWarrior Bareboard Project

创建SRAM程序,验证芯片是否可以正常工作

  1. next, 选择芯片型号,创建Application

创建SRAM程序,验证芯片是否可以正常工作

  1. next,选择board(随便选一个默认单板),选择下载方式(Download SRAM),仿真器类型(ETAP,ip)

创建SRAM程序,验证芯片是否可以正常工作

创建SRAM程序,验证芯片是否可以正常工作

创建SRAM程序,验证芯片是否可以正常工作

  1. finish

build

切换到RAM程序,点击编译按钮

创建SRAM程序,验证芯片是否可以正常工作

debug配置

  1. 按图示打开Debug Configuration

创建SRAM程序,验证芯片是否可以正常工作

  1. 配置debug config,确认以下配置是否正确

创建SRAM程序,验证芯片是否可以正常工作

  1. 点击Edit,查看etap配置是否正确

创建SRAM程序,验证芯片是否可以正常工作

  1. 点击Edit,查看初始化脚本是否正确

创建SRAM程序,验证芯片是否可以正常工作

  1. 初始化脚本,在我们裸机程序运行之前必须先对芯片进行初始化,我们的裸机程序才能运行,这里的tcl文件就是对芯片寄存器进行初始化,使我们的裸机程序可以运行起来的关键,很多时候我们的程序运行不起来,除去硬件原因,大多数是tcl文件有问题。
  2. 内存文件,具体作用我也不太清楚,应该是将内存映射转换的作用。

创建SRAM程序,验证芯片是否可以正常工作

  1. ok->ok->Apply

Debug、验证

  1. 点击Debug按钮,开始Debug

创建SRAM程序,验证芯片是否可以正常工作

  1. 运行程序,进入debug后,等一会程序进度会指到main后的第一行代码,点击运行,让程序跑起来。
  2. 如果程序正常运行,则芯片可以正常运行。如果不能正常运行,再次检查以上配置是否正确,以及检查硬件。

创建SRAM程序,验证芯片是否可以正常工作

总结

这里我们要重点搞清楚一下几点:

  • codewarrior的使用?ccs、etap、usbtap的使用?
  • 为什么要从SRAM启动?
  • SRAM启动程序运行在哪里?
  • tcl文件的作用?
  • SRAM启动验证了什么?
  • 芯片运行的必要条件有哪些?