裸机调试AM3358网口

按照惯例,先介绍我自己的开发环境:

  • 系统:win7 64bit sp1
  • CCS版本:Code Composer Studio 6.2.0
  • 调试代码:AM335X_StarterWare_02_00_01_01
  • 仿真器:XDS100V2 USB
  • 电路板:自己根据beaglebone_black绘制的,芯片是AM3358,包括百兆网口、UART串口、DDR3、NAND Flash、USB、SPI和IIC,除了SPI和IIC的IO管脚,其他电路完全参考beaglebone_black板子。

为了验证电路板各个接口硬件是否正常,我们采用了裸跑驱动程序的方式。使用的代码是AM335X_StarterWare_02_00_01_01里面beaglebone的测试例程。

       前面已经验证完了GPIO和串口,今天来验证网口,原理图如下图所示,跟beaglebone RevA5的完全一样;网卡的CCS工程文件在:D:\ti\AM335X_StarterWare_02_00_01_01\build\armv7a\cgt_ccs\am335x\beaglebone\enet_echo,用CCS导入该工程即可。

步骤1:导入网口程序工程文件File->Import..-> Code Composer Studio->CCS project Next->Select CCS Porject to Import 点击Brower选择D:\ti\AM335X_StarterWare_02_00_01_01\build\armv7a\cgt_ccs\am335x\beaglebone勾选网口测试程序enetEcho,点击Finsh

 

步骤2:设置调试版本为release

 

步骤3:编译

 

步骤4:建立目标板配置文件,名字自定义,点击Finsh

 

步骤5:测试JTAG接口连接状态, 进入配置界面后,选择你自己的仿真器型号,这里我选择XDS100V2 USB,在Board or Decice下拉框里选择AM3358,随后点击Save保存,最后点击Test Coonnection,成功后,会显示The JTAG DR Integrity scan-test has succeeded。

 

步骤6:在线仿真,点击debug按钮,进入debug模式

 

成功进入debug模式如下图所示

 

步骤7:连接目标板

 

成功后,如下图所示

 

步骤8:加载Gel文件。点击Tools→Gel Files,在CCS 主窗口下方会出现一个Gel File 新功能窗口。将 鼠 标 放 在上图右下角的GEL Files 窗口中点击右键, 加载gel 文件
(D:\ti\ccsv6\ccs_base\emulation\boards\beaglebone\gel 目录下)选择,beagleboneblack.gel

 

步骤9:初始化芯片。Scripts->Am335x_System_Initialization-> Am335x_Beaglebone_Initialization

 

步骤10:加载网口测试程序。Run->Load->Load Program,选择刚才编译好的enetEcho.out文件,目录为D:\ti\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\beaglebone\enet_echo\Release

 

步骤11:打开串口调试助手,连接串口0,这里使用的是AM3358芯片的UART0,115200-N-8-1

 

步骤12:运行

 

步骤13:查看串口调试助手打印信息

 

步骤14:使用笔记本电脑Ping目标板

 

电脑网口配置信息如下

 

 

注意:这里要说明下,我使用笔记本调试,没有经过路由器,用网线直接与电路板相连,因此,修改了例程中的通信方式,没有使用自动分配IP的方式(DHCP),而是使用的静态IP方式。

 

修改方法如下:

(1) 修改lwipopts.h文件中的STATIC_IP_ADDRESS_PORT1和STATIC_IP_ADDRESS_PORT2,原始值为0,现改为:

#define STATIC_IP_ADDRESS_PORT1         0xC0A80164

#define STATIC_IP_ADDRESS_PORT2         0xC0A80165

(2)  修改enetEcho.c文件中的IP设置部分,修改如下

#if STATIC_IP_ADDRESS_PORT1

    lwipIfPort1.instNum = 0;

    lwipIfPort1.slvPortNum = 1;

    lwipIfPort1.ipAddr = STATIC_IP_ADDRESS_PORT1; //192.168.1.100

    lwipIfPort1.netMask = 0xFFFFFF00;//255.255.255.0

    lwipIfPort1.gwAddr = 0xC0A80101;//192.168.1.1

    lwipIfPort1.ipMode = IPADDR_USE_STATIC;

posted on 2018-10-22 12:21  水中锋  阅读(1452)  评论(0编辑  收藏  举报

导航