Blackrose's Blog Blackrose's Blog

openjtag debuger for freescale k60 chip

in technologyread (260) 文章转载请注明来源!

最近公司开始准备下个项目,意味着我又有板子可以玩了。基于上半年参加freescale的研讨会,所以选择k60作为开发平台。但是市面上的以k60为主的开发板还是比较少,最后拿到一块中电器材的k60开发板。这块板子也比较有意思,使用k60N512VM100作为CPU,外扩的接口在BASE板上,CPU和BASE板以DDR接口相连,应该是考虑了k60系列的后续升级,换CPU板就可以了。

K60开发板上自带了Debug电路,使用OSJtag通过USB线来提供烧写和调试。k60上还提供了miniJtag接口,20pin,间距1.27mm。刚好,手头有个pemicro的multilink调试器,里面有miniJtag接口,连接后在codewarrior中可以使用。可惜的是,codewarrior从10.2后,就不再提供linux版的IDE,对一个linuxer来说,是无法容忍的。所以,参考网上资源和Jtag接线,使用OpenJtag来作为debuger。

接线顺序采用通用Jtag接线即可,这里的3.3v由开发板来提供。我第一次连接时,这里出了问题。

按照上面的来连接openjtag和miniJtag,osjtag上从第4到20的偶数pin,应为都是GND。下面是,自己买了个20pin的头,然后接的跳线。

之后要配置openocd来识别到k60:

1.安装openocd

./configure --enable-maintainer-mode  --enable-ft2232_libftdi
make
sudo make install

2.配置openocd

telnet_port 4444

# interface for openjtag
interface ft2232
adapter_khz 1000
#jtag_speed 0
ft2232_vid_pid 0x1457 0x5118
ft2232_layout "jtagkey"
ft2232_device_desc "USB<=>JTAG&RS232"

# about target
source [find target/swj-dp.tcl]
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
set _CHIPNAME k60
}

if { [info exists ENDIAN] } {
set _ENDIAN $ENDIAN
} else {
set _ENDIAN little
}

if { [info exists CPUTAPID] } {
set _CPUTAPID $CPUTAPID
} else {
set _CPUTAPID 0x4ba00477
}

set _TARGETNAME $_CHIPNAME.cpu
swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
target create $_TARGETNAME cortex_m -chain-position $_CHIPNAME.cpu

#$_CHIPNAME.cpu configure -event examine-start { puts "START..." ; }
#$_CHIPNAME.cpu configure -event examine-end { puts "END..." ; }

#cortex_m reset_config sysresetreq

#
# Freescale TWRK60N512 development board
#

$_TARGETNAME configure -event reset-init {
puts "-event reset-init occured"
}

#
# Bank definition for the 'program flash' (instructions and/or data)
#
flash bank pflash.0 kinetis 0x00000000 0x40000 0 4 $_TARGETNAME
flash bank pflash.1 kinetis 0x00040000 0x40000 0 4 $_TARGETNAME

上面的配置都是参考openocd安装文件下target/k60.cfg和board/twr-k60n512.cfg。如果以上操作完成,openocd会显示found芯片:

Open On-Chip Debugger 0.7.0 (2013-08-27-09:16)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
adapter speed: 1000 kHz
cortex_m3 reset_config sysresetreq
Info : add flash_bank kinetis pflash.0
Info : add flash_bank kinetis pflash.1
Info : clock speed 1000 kHz
Info : JTAG tap: k60.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)
START...
Info : k60.cpu: hardware has 6 breakpoints, 4 watchpoints
END...

参考资源:

OpenOCD开发环境搭建K60

关于OpenOCD的安装配置——Tekkaman Ninja

Jtag的各种引脚定义——Andy

openocd编译安装使用

文章二维码

扫描二维码,在手机上阅读!

发表新评论
博客已萌萌哒运行
© 2018 由 Typecho 强力驱动.Theme by Yodu
前篇 后篇
雷姆
拉姆