• EKLM3S8962之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
    内容如下:

  • 相关阅读:
    Xamarin.Forms教程下载安装Xamarin.iOS
    【基于STM32F407IGT6】STemWin5.20d + uCOS-III + FatFS程序下载
    EnOcean-自获能无线电技术
    FreeRTOS 使用指南(转)
    FreeRTOS的内存管理
    FreeRTOS初步认识
    Freertos之系统配置
    FreeRTOS代码剖析
    STM32之FreeRTOS
    STM32 电机控制库的资源
  • 原文地址:https://www.cnblogs.com/arci/p/1953251.html
Copyright © 2020-2023  润新知