EK-LM3S8962之OpenOCD配置

1、Stellaris®LM3S8962 Ethernet+CAN 评估套件

Stellaris®LM3S8962 Ethernet+CAN评估板是一个基于Stellaris LM3S8962 ARM®Cortex -M3内核微控制器的通用评估平台,支持于针对TI M3系列所有产品的软硬件及开发评估 。
该套件的设计突出了LM3S8962微控制器集成的CAN和10/100以太网控制器的特性。同时板上配置的高品质OLED液晶屏更加方便您开发基于CAN,网络接口和显示的嵌入式系统。EK-LM3S8962开发套件还有另外一个非常突出的特点,那就是板上集成了调试模块,您只需要一条USB线,就可轻松实现调试和烧写。
板上集成了ICDI调试接口。在调试模式下,片上微控制器是禁用的,但允许将调试信号与外部的Stellaris目标微控制器进行连接。除了评估板上自带的调试接口外,工程师也可以使用高性能的JTAG仿真器进行调试和烧写。

现在,只需完整填写调查问卷,即有机会免费获得Stellaris®LM3S8962 EthernetCAN评估板!

立即填写问卷

主要性能:

· Stellaris LM3S8962

· 32位ARM Cortex-M3 V7M结构优化

· 支持高密度Thumb-2指令集

· 256k Flash, 64k SRAM

· 50 MHz 运行频率,1.25 DMIPS/MHz

· 10/100兆以太网控制器

· CAN控制器

EK-LM3S8962硬件资源:

· 集成调试器(只要1个USB线,即可方便地调试烧写)

· 10/100兆以太网口

· CAN通信接口

· 128×96像素的OLED图像显示器

· 用户指示灯、导航开关和选择按钮

· 扬声器

· MicroSD卡插槽

评估工具包的内容:

· LM3S8962 评估板(EVB)

· USB电缆

· 20针脚JTAG/SWD目标电缆

· 10针脚CAN电缆

CD 包含:

· Keil RealView®微控制器开发工具包(MDK-ARM评估版)

· 完备的文档

· 快速入门指导

· 快速入门源码及驱动程序库和应用实例源

clip_image002

相关资料:
Stellaris® LM3S8962 Evaluation Board USER’S MANUAL
Stellaris® LM3S8962评估板用户手册(部分翻译)

注意:
EK-LM3S8962采用FTDI FT2232实现USB-to-serial的转换,Luminary Micro将FT2232配置为:
    channel A:实现一个JTAG/SWD端口(同步串行)
    channel B:实现一个虚拟串行通信端口(VCP)
JTAG/SWD和VCP可以通过同一条USB电缆实现主机和目标设备之间的通讯。
将EK-LM3S8962连接到电脑可以在设备管理器中看到:
image

2、OpenOCD
    OpenOCD 由 Dominic Rath 创作,是他在德国奥格斯堡大学时毕业论文的一部分。从那以后,
该项目已经发展成为一个活跃的开源项目,得到了来自于世界各地不同的软件和硬件开发者社区的支持。
The Open On-Chip Debugger (OpenOCD) 旨在为嵌入式目标设备提供调试、在线系统编程 (ISP)
和边界扫描测试。

2.1、OpenOCD主页
http://openocd.berlios.de/web/
image

2.2、一个已经编译好的Windows版本OpenOCD安装软件
由于使用ftd2xx.dll库与GPLv2许可证不兼容,这个版本使用libftdi + libusb-win32库编译。
OpenOCD 0.4.0 for Windows. An msi installer of complete package and it's md5 checksum.
Due to alleged GPLv2 license incompatibility of using ftd2xx.dll libraries, this version was
compiled to use libftdi + libusb-win32 libraries. Details: #1, #2.
http://www.freddiechopin.info/index.php/en/download/category/4-openocd
image 
本地下载:openocd-0.4.0.zip

2.3、libftdi
libFTDI is an open source library to talk to FTDI chips: FT232BM, FT245BM, FT2232C, FT2232D and FT245R,
including the popular bitbang mode. The library is linked with your program in userspace, no kernel driver required.
libFTDI works perfectly with Linux, Windows, MacOS X and BSD variants thanks to libusb.
libFTDI是一个提供FTDI芯片(FT232BM, FT245BM, FT2232C, FT2232D和FT245R)支持的开源库。
由于使用了libusb库,libFTDI可以在Linux, Windows, MacOS X和BSD平台下完美工作。
libftdi主页:
http://www.intra2net.com/en/developer/libftdi/
image

2.4、libusb
libusb 是一个用C语言开发的跨平台的USB设备访问接口库。libusb 设计了一系列的外部API 为应用程序所调用,通过这些API
应用程序可以操作硬件,从libusb的源代码可以看出,这些API 调用了内核的底层接口,和kernel driver中所用到的函数所实现
的功能差不多,只是libusb更加接近USB 规范。使得libusb的使用也比开发内核驱动相对容易的多。
libusb主页
http://www.libusb.org/
image 
windows版本
http://www.libusb.org/wiki/windows_backend
image 
注意:使用zadig.exe安装libusb驱动时,OpenOCD不能正常工作,应从以下地址下载
http://sourceforge.net/apps/trac/libusb-win32/wiki
 image
http://sourceforge.net/projects/libusb-win32/
image 
本地下载:libusb-win32-bin-1.2.2.0.zip

3、FT2232驱动安装
3.1、为FT2232 channel A安装libusb驱动,用于OpenOCD
解压libusb-win32-bin-1.2.2.0.zip到C:\
运行C:\libusb-win32-bin-1.2.2.0\bin\inf-wizard.exe
image 
此处Stellaris Evaluation Board (Interface 0)即为FT2232 channel A,
Stellaris Evaluation Board (Interface 1)即为FT2232 channel B。
为Stellaris Evaluation Board (Interface 0)安装libusb驱动:
image 
image 
image 
image
3.2、为FT2232 channel B安装VCP驱动,用于虚拟串行通讯端口
驱动来自EK-LM3S8962配套光盘,本地下载:Luminary_FTDI_Driver-2_04_16.zip
下载并解压Luminary_FTDI_Driver-2_04_16.zip到C:\
 image
image 
image 
image
image 
image
安装完成后:
image 
image 
image
image 
image
image 
到此为止驱动安装完成。

4、EK-LM3S8962的OpenOCD配置文件
4.1、参考C:\Program Files\OpenOCD\0.4.0\interface\luminary-lm3s811.cfg
新建C:\Program Files\OpenOCD\0.4.0\interface\luminary-lm3s8962.cfg
内容如下:

1 #
2 # Luminary Micro Stellaris LM3S811 Evaluation Kit
3 #
4 # http://www.luminarymicro.com/products/stellaris_811_evaluation_kits.html
5  #
6 # NOTE: this is only for boards *before* Rev C, which adds support
7 # for SWO tracing with ADBUS_6 DBG_ENn and BDBUS_4 SWO_EN signals.
8 # The "evb_lm3s811" layout doesn't set up those signals.
9 #
10 # Rev C boards work more like the other Stellaris eval boards. They
11 # need to use the "luminary_icdi" layout to work correctly.
12 #
13
14 interface ft2232
15 ft2232_device_desc "Stellaris Evaluation Board"
16 ft2232_layout evb_lm3s811
17 ft2232_vid_pid 0x0403 0xbcd8

注意:ft2232_vid_pid 0x0403 0xbcd8
此处0x0403为libusb驱动安装时Vendor ID(VID)的值,
0xbcd8为libusb驱动安装时Product ID(PID)的值。
image
4.2、参考C:\Program Files\OpenOCD\0.4.0\target\lm3s811.cfg
新建C:\Program Files\OpenOCD\0.4.0\target\lm3s8962.cfg
内容如下:

1 # Script for TI/Luminary Stellaris LM3S8962
2
3 if { [info exists CHIPNAME] } {
4 set _CHIPNAME $CHIPNAME
5 } else {
6 set _CHIPNAME lm3s8962
7 }
8
9 if { [info exists CPUTAPID ] } {
10 set _CPUTAPID $CPUTAPID
11 } else {
12 set _CPUTAPID 0x3ba00477
13 }
14
15 #jtag scan chain
16 jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 1 -irmask 0xf -expected-id $_CPUTAPID
17
18 # the luminary variant causes a software reset rather than asserting SRST
19 # this stops the debug registers from being cleared
20 # this will be fixed in later revisions of silicon
21 set _TARGETNAME $_CHIPNAME.cpu
22 target create $_TARGETNAME cortex_m3 -chain-position $_CHIPNAME.cpu -variant lm3s
23
24 # 8k working area at base of ram, not backed up
25 $_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size 0x2000
26
27 #flash configuration
28 set _FLASHNAME $_CHIPNAME.flash
29 flash bank $_FLASHNAME stellaris 0 0 0 0 $_TARGETNAME

TAP声明命令
jtag newtap chipname tapname configparams...
chipname是为芯片提供的一个符号名,通常目标配置文件使用$_CHIPNAME。
tapname这里设置为cpu是指The main CPU of the chip, alternatively arm and dsp on chips with both
ARM and DSP CPUs, arm1 and arm2 on chips two ARMs, and so forth;
每个TAP至少必须要以下配置:
-irlen NUMBER
指令寄存器位长度,例如4或者5。
参考lm3s8962数据手册可知Four-bit Instruction Register (IR) chain for storing JTAG instructions
4.3、参考C:\Program Files\OpenOCD\0.4.0\board\ek-lm3s811.cfg
新建C:\Program Files\OpenOCD\0.4.0\board\ek-lm3s8962.cfg
内容如下:

posted @ 2011-02-13 18:16  阿C  阅读(2119)  评论(1编辑  收藏  举报