Compare commits

...

14 Commits

Author SHA1 Message Date
Paul Fertser
7b8b2f9443 The openocd-0.9.0 release
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2015-05-18 00:06:36 +03:00
Paul Fertser
d8917e0c89 NEWS: last pre-release changes
Change-Id: Ibeb9078d19023b8cae5c0371079d5e4e1b5e3c57
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2776
Tested-by: jenkins
2015-05-17 21:53:08 +01:00
Paul Fertser
c3976ac658 jtag/drivers/stlink: fix SRST issue with stlink-v1
Even though the latest firmware version for stlink-v1 supports "v2"
JTAG API, the hardware SRST handling is still broken; amend the check
accordingly.

Change-Id: I62c662cd7aa209d2d6e9fe260f5c0be81d0ce672
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2761
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2015-05-17 21:52:51 +01:00
Vincent Palatin
45eef3c23d psoc4: add support for Cypress CCG1 family
Add the identifiers to support the flash on the Cypress Type-C Port Controller
chips of the CCG1 family : http://www.cypress.com/ccg1/.

Tested successfully on CYPD1132-16SXI.

Change-Id: I3fe6283379e5bcab964afac31b547ef95535aa2c
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-on: http://openocd.zylin.com/2757
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2015-05-17 21:18:48 +01:00
Peter A. Bigot
a50f5afd06 nrf51: refine and extend known devices table
The notation Gx0 in the nRF51 Series Compatibility Matrix indicates that
the specified HWID is valid only for build code 0 of each chip, and for
subsequent builds the HWID will be different.  Replace the Gx0 notation
with G0 throughout, and add the missing HWID for nRF51422 QFAC A1
(present on the newer nRF51 developer boards).

See: https://www.nordicsemi.com/eng/nordic/download_resource/41917/5/55913589
See: https://devzone.nordicsemi.com/question/30774/mapping-hwid-to-revision-information/

Change-Id: I79d842137d41342db35904867c48b06fbc6fbc70
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Angus Gratton <gus@projectgus.com>
Reviewed-on: http://openocd.zylin.com/2593
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2015-05-17 21:18:14 +01:00
Karl Palsson
218747dbd3 docs: gdb_target_description defaults enabled
This has been the case since c6216201 in 2013

Signed-off-by: Karl Palsson <karlp@tweak.net.au>
Change-Id: I70232a46e29951f05f02dec00e0695d761697aa5
Reviewed-on: http://openocd.zylin.com/2764
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2015-05-17 21:17:13 +01:00
Austin Morton
38cb629ddf server: avoid the tcl server crashing when there is no target
Since commit 1d0cf0df37
("server: tcl_notifications command") connecting to the tcl server
would terminate openocd. Fix this.

Change-Id: I36e2a7482f7db3a30ff7e9f969c3b6cda9599382
Signed-off-by: Austin Morton <austinpmorton@gmail.com>
Reviewed-on: http://openocd.zylin.com/2759
Tested-by: jenkins
Reviewed-by: Forest Crossman <cyrozap@gmail.com>
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2015-05-17 21:17:02 +01:00
Paul Fertser
8de17eb65a manual: add missing usb blaster commands
Change-Id: Ie7fbb9f87a811c4add5b7c8f9581d5bbc90fa4f8
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2772
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2015-05-17 21:15:34 +01:00
Paul Fertser
c6ba0a2240 manual: fix usb_blaster_pin command syntax and description
Change-Id: If3fbb2fe4f1842bea3962a6b903fd16aa9e8b545
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2771
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2015-05-17 21:15:24 +01:00
Paul Fertser
1583379fb9 README.Windows: clarify the kernel drivers installation
HID and composite devices need to be mentioned explicitly due to
windows oddities.

Change-Id: I7cdbaa50c60ceb1950c934e0249986d46c875cff
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2506
Tested-by: jenkins
Reviewed-by: Xiaofan <xiaofanc@gmail.com>
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2015-05-17 21:15:13 +01:00
Paul Fertser
805604058b manual: reorder flash driver info
Put all the individual driver descriptions to where they really
belong, fix sectioning etc.

Change-Id: I94dc09e9a296ec57db4475f8dfb0a7d62a754aa4
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2770
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2015-05-17 21:14:43 +01:00
Paul Fertser
ee5ecb8a29 manual: fix all overfull and underfull hboxes
Change-Id: Id84f16de5a3d1907e196d13007a312593bb6670a
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2769
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2015-05-17 21:14:11 +01:00
Paul Fertser
98861c54be manual: remove the lists of config files
Directory listings are volatile and serve no purpose in the
manual. Just remove them.

Change-Id: I63d54ba209c29eafb6608cf406b8ce5d8e9ee6c8
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2768
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2015-05-17 21:13:31 +01:00
Paul Fertser
abd7ad027f Restore -dev suffix
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2015-04-24 18:56:30 +03:00
10 changed files with 315 additions and 460 deletions

4
NEWS
View File

@@ -37,7 +37,7 @@ Target Layer:
Flash Layer:
* nRF51 async loader to improve flashing performance and stability
* Cypress PSoC 41xx/42xx family flash driver
* Cypress PSoC 41xx/42xx and CCG1 families flash driver
* Silabs SiM3 family flash driver
* Marvell Wireless Microcontroller SPI flash driver
* Kinetis mass erase (part unsecuring) implemented
@@ -98,7 +98,7 @@ This release also contains a number of other important functional and
cosmetic bugfixes. For more details about what has changed since the
last release, see the git repository history:
http://sourceforge.net/p/openocd/code/ci/v0.9.0-rc1/log/?path=
http://sourceforge.net/p/openocd/code/ci/v0.9.0/log/?path=
For older NEWS, see the NEWS files associated with each release

View File

@@ -7,6 +7,9 @@ recommended as it doesn't provide enough C99 compatibility).
Alternatively, one can cross-compile it using MinGW-w64 on a *nix
host. See README for the generic instructions.
Also, the MSYS2 project provides both ready-made binaries and an easy
way to self-compile from their software repository out of the box.
Native MinGW-w64/MSYS compilation
-----------------------------
@@ -22,13 +25,21 @@ installation.
USB adapters
------------
You usually need to have WinUSB.sys (or libusbK.sys) driver installed
for a USB-based adapter. Some vendor software (e.g. for ST-LINKv2)
does it on its own. For the other cases the easiest way to assign
WinUSB to a device is to use the latest Zadig installer:
For the adapters that use a HID-based protocol, e.g. CMSIS-DAP, you do
not need to perform any additional configuration.
For all the others you usually need to have WinUSB.sys (or
libusbK.sys) driver installed. Some vendor software (e.g. for
ST-LINKv2) does it on its own. For the other cases the easiest way to
assign WinUSB to a device is to use the latest Zadig installer:
http://zadig.akeo.ie
When using a composite USB device, it's often necessary to assign
WinUSB.sys to the composite parent instead of the specific
interface. To do that one needs to activate an advanced option in the
Zadig installer.
For the old drivers that use libusb-0.1 API you might need to link
against libusb-win32 headers and install the corresponding driver with
Zadig.

View File

@@ -1,5 +1,5 @@
AC_PREREQ(2.64)
AC_INIT([openocd], [0.9.0-rc1],
AC_INIT([openocd], [0.9.0],
[OpenOCD Mailing List <openocd-devel@lists.sourceforge.net>])
AC_CONFIG_SRCDIR([src/openocd.c])

View File

@@ -73,7 +73,6 @@ Free Documentation License''.
* CPU Configuration:: CPU Configuration
* Flash Commands:: Flash Commands
* Flash Programming:: Flash Programming
* NAND Flash Commands:: NAND Flash Commands
* PLD/FPGA Commands:: PLD/FPGA Commands
* General Commands:: General Commands
* Architecture and Core Commands:: Architecture and Core Commands
@@ -471,7 +470,7 @@ SWD and not JTAG, thus not supported.
@itemize @bullet
@item @b{Raisonance RLink}
@* Link: @url{http://www.mcu-raisonance.com/~rlink-debugger-programmer__microcontrollers__tool~tool__T018:4cn9ziz4bnx6.html}
@* Link: @url{http://www.mcu-raisonance.com/~rlink-debugger-programmer__@/microcontrollers__tool~tool__T018:4cn9ziz4bnx6.html}
@item @b{STM32 Primer}
@* Link: @url{http://www.stm32circle.com/resources/stm32primer.php}
@item @b{STM32 Primer2}
@@ -1296,65 +1295,17 @@ including developers and integrators of OpenOCD and any user who
needs to get a new board working smoothly.
It provides guidelines for creating those files.
You should find the following directories under @t{$(INSTALLDIR)/scripts},
with files including the ones listed here.
Use them as-is where you can; or as models for new files.
You should find the following directories under
@t{$(INSTALLDIR)/scripts}, with config files maintained upstream. Use
them as-is where you can; or as models for new files.
@itemize @bullet
@item @file{interface} ...
These are for debug adapters.
Files that configure JTAG adapters go here.
@example
$ ls interface -R
interface/:
altera-usb-blaster.cfg hilscher_nxhx50_re.cfg openocd-usb-hs.cfg
arm-jtag-ew.cfg hitex_str9-comstick.cfg openrd.cfg
at91rm9200.cfg icebear.cfg osbdm.cfg
axm0432.cfg jlink.cfg parport.cfg
busblaster.cfg jtagkey2.cfg parport_dlc5.cfg
buspirate.cfg jtagkey2p.cfg redbee-econotag.cfg
calao-usb-a9260-c01.cfg jtagkey.cfg redbee-usb.cfg
calao-usb-a9260-c02.cfg jtagkey-tiny.cfg rlink.cfg
calao-usb-a9260.cfg jtag-lock-pick_tiny_2.cfg sheevaplug.cfg
chameleon.cfg kt-link.cfg signalyzer.cfg
cortino.cfg lisa-l.cfg signalyzer-h2.cfg
digilent-hs1.cfg luminary.cfg signalyzer-h4.cfg
dlp-usb1232h.cfg luminary-icdi.cfg signalyzer-lite.cfg
dummy.cfg luminary-lm3s811.cfg stlink-v1.cfg
estick.cfg minimodule.cfg stlink-v2.cfg
flashlink.cfg neodb.cfg stm32-stick.cfg
flossjtag.cfg ngxtech.cfg sysfsgpio-raspberrypi.cfg
flossjtag-noeeprom.cfg olimex-arm-usb-ocd.cfg ti-icdi.cfg
flyswatter2.cfg olimex-arm-usb-ocd-h.cfg turtelizer2.cfg
flyswatter.cfg olimex-arm-usb-tiny-h.cfg ulink.cfg
ftdi olimex-jtag-tiny.cfg usb-jtag.cfg
hilscher_nxhx10_etm.cfg oocdlink.cfg usbprog.cfg
hilscher_nxhx500_etm.cfg opendous.cfg vpaclink.cfg
hilscher_nxhx500_re.cfg opendous_ftdi.cfg vsllink.cfg
hilscher_nxhx50_etm.cfg openocd-usb.cfg xds100v2.cfg
interface/ftdi:
axm0432.cfg hitex_str9-comstick.cfg olimex-jtag-tiny.cfg
calao-usb-a9260-c01.cfg icebear.cfg oocdlink.cfg
calao-usb-a9260-c02.cfg jtagkey2.cfg opendous_ftdi.cfg
cortino.cfg jtagkey2p.cfg openocd-usb.cfg
dlp-usb1232h.cfg jtagkey.cfg openocd-usb-hs.cfg
dp_busblaster.cfg jtag-lock-pick_tiny_2.cfg openrd.cfg
flossjtag.cfg kt-link.cfg redbee-econotag.cfg
flossjtag-noeeprom.cfg lisa-l.cfg redbee-usb.cfg
flyswatter2.cfg luminary.cfg sheevaplug.cfg
flyswatter.cfg luminary-icdi.cfg signalyzer.cfg
gw16042.cfg luminary-lm3s811.cfg signalyzer-lite.cfg
hilscher_nxhx10_etm.cfg minimodule.cfg stm32-stick.cfg
hilscher_nxhx500_etm.cfg neodb.cfg turtelizer2-revB.cfg
hilscher_nxhx500_re.cfg ngxtech.cfg turtelizer2-revC.cfg
hilscher_nxhx50_etm.cfg olimex-arm-usb-ocd.cfg vpaclink.cfg
hilscher_nxhx50_re.cfg olimex-arm-usb-ocd-h.cfg xds100v2.cfg
hitex_lpc1768stick.cfg olimex-arm-usb-tiny-h.cfg
$
@end example
These are for debug adapters. Files that specify configuration to use
specific JTAG, SWD and other adapters go here.
@item @file{board} ...
think Circuit Board, PWA, PCB, they go by many names. Board files
Think Circuit Board, PWA, PCB, they go by many names. Board files
contain initialization items that are specific to a board.
They reuse target configuration files, since the same
microprocessor chips are used on many boards,
but support for external parts varies widely. For
@@ -1363,169 +1314,13 @@ of external flash and what address it uses. Any initialization
sequence to enable that external flash or SDRAM should be found in the
board file. Boards may also contain multiple targets: two CPUs; or
a CPU and an FPGA.
@example
$ ls board
actux3.cfg lpc1850_spifi_generic.cfg
am3517evm.cfg lpc4350_spifi_generic.cfg
arm_evaluator7t.cfg lubbock.cfg
at91cap7a-stk-sdram.cfg mcb1700.cfg
at91eb40a.cfg microchip_explorer16.cfg
at91rm9200-dk.cfg mini2440.cfg
at91rm9200-ek.cfg mini6410.cfg
at91sam9261-ek.cfg netgear-dg834v3.cfg
at91sam9263-ek.cfg olimex_LPC2378STK.cfg
at91sam9g20-ek.cfg olimex_lpc_h2148.cfg
atmel_at91sam7s-ek.cfg olimex_sam7_ex256.cfg
atmel_at91sam9260-ek.cfg olimex_sam9_l9260.cfg
atmel_at91sam9rl-ek.cfg olimex_stm32_h103.cfg
atmel_sam3n_ek.cfg olimex_stm32_h107.cfg
atmel_sam3s_ek.cfg olimex_stm32_p107.cfg
atmel_sam3u_ek.cfg omap2420_h4.cfg
atmel_sam3x_ek.cfg open-bldc.cfg
atmel_sam4s_ek.cfg openrd.cfg
balloon3-cpu.cfg osk5912.cfg
colibri.cfg phone_se_j100i.cfg
crossbow_tech_imote2.cfg phytec_lpc3250.cfg
csb337.cfg pic-p32mx.cfg
csb732.cfg propox_mmnet1001.cfg
da850evm.cfg pxa255_sst.cfg
digi_connectcore_wi-9c.cfg redbee.cfg
diolan_lpc4350-db1.cfg rsc-w910.cfg
dm355evm.cfg sheevaplug.cfg
dm365evm.cfg smdk6410.cfg
dm6446evm.cfg spear300evb.cfg
efikamx.cfg spear300evb_mod.cfg
eir.cfg spear310evb20.cfg
ek-lm3s1968.cfg spear310evb20_mod.cfg
ek-lm3s3748.cfg spear320cpu.cfg
ek-lm3s6965.cfg spear320cpu_mod.cfg
ek-lm3s811.cfg steval_pcc010.cfg
ek-lm3s811-revb.cfg stm320518_eval_stlink.cfg
ek-lm3s8962.cfg stm32100b_eval.cfg
ek-lm3s9b9x.cfg stm3210b_eval.cfg
ek-lm3s9d92.cfg stm3210c_eval.cfg
ek-lm4f120xl.cfg stm3210e_eval.cfg
ek-lm4f232.cfg stm3220g_eval.cfg
embedded-artists_lpc2478-32.cfg stm3220g_eval_stlink.cfg
ethernut3.cfg stm3241g_eval.cfg
glyn_tonga2.cfg stm3241g_eval_stlink.cfg
hammer.cfg stm32f0discovery.cfg
hilscher_nxdb500sys.cfg stm32f3discovery.cfg
hilscher_nxeb500hmi.cfg stm32f4discovery.cfg
hilscher_nxhx10.cfg stm32ldiscovery.cfg
hilscher_nxhx500.cfg stm32vldiscovery.cfg
hilscher_nxhx50.cfg str910-eval.cfg
hilscher_nxsb100.cfg telo.cfg
hitex_lpc1768stick.cfg ti_am335xevm.cfg
hitex_lpc2929.cfg ti_beagleboard.cfg
hitex_stm32-performancestick.cfg ti_beagleboard_xm.cfg
hitex_str9-comstick.cfg ti_beaglebone.cfg
iar_lpc1768.cfg ti_blaze.cfg
iar_str912_sk.cfg ti_pandaboard.cfg
icnova_imx53_sodimm.cfg ti_pandaboard_es.cfg
icnova_sam9g45_sodimm.cfg topas910.cfg
imx27ads.cfg topasa900.cfg
imx27lnst.cfg twr-k60f120m.cfg
imx28evk.cfg twr-k60n512.cfg
imx31pdk.cfg tx25_stk5.cfg
imx35pdk.cfg tx27_stk5.cfg
imx53loco.cfg unknown_at91sam9260.cfg
keil_mcb1700.cfg uptech_2410.cfg
keil_mcb2140.cfg verdex.cfg
kwikstik.cfg voipac.cfg
linksys_nslu2.cfg voltcraft_dso-3062c.cfg
lisa-l.cfg x300t.cfg
logicpd_imx27.cfg zy1000.cfg
$
@end example
@item @file{target} ...
think chip. The ``target'' directory represents the JTAG TAPs
Think chip. The ``target'' directory represents the JTAG TAPs
on a chip
which OpenOCD should control, not a board. Two common types of targets
are ARM chips and FPGA or CPLD chips.
When a chip has multiple TAPs (maybe it has both ARM and DSP cores),
the target config file defines all of them.
@example
$ ls target
aduc702x.cfg lpc1764.cfg
am335x.cfg lpc1765.cfg
amdm37x.cfg lpc1766.cfg
ar71xx.cfg lpc1767.cfg
at32ap7000.cfg lpc1768.cfg
at91r40008.cfg lpc1769.cfg
at91rm9200.cfg lpc1788.cfg
at91sam3ax_4x.cfg lpc17xx.cfg
at91sam3ax_8x.cfg lpc1850.cfg
at91sam3ax_xx.cfg lpc2103.cfg
at91sam3nXX.cfg lpc2124.cfg
at91sam3sXX.cfg lpc2129.cfg
at91sam3u1c.cfg lpc2148.cfg
at91sam3u1e.cfg lpc2294.cfg
at91sam3u2c.cfg lpc2378.cfg
at91sam3u2e.cfg lpc2460.cfg
at91sam3u4c.cfg lpc2478.cfg
at91sam3u4e.cfg lpc2900.cfg
at91sam3uxx.cfg lpc2xxx.cfg
at91sam3XXX.cfg lpc3131.cfg
at91sam4sd32x.cfg lpc3250.cfg
at91sam4sXX.cfg lpc4350.cfg
at91sam4XXX.cfg lpc4350.cfg.orig
at91sam7se512.cfg mc13224v.cfg
at91sam7sx.cfg nuc910.cfg
at91sam7x256.cfg omap2420.cfg
at91sam7x512.cfg omap3530.cfg
at91sam9260.cfg omap4430.cfg
at91sam9260_ext_RAM_ext_flash.cfg omap4460.cfg
at91sam9261.cfg omap5912.cfg
at91sam9263.cfg omapl138.cfg
at91sam9.cfg pic32mx.cfg
at91sam9g10.cfg pxa255.cfg
at91sam9g20.cfg pxa270.cfg
at91sam9g45.cfg pxa3xx.cfg
at91sam9rl.cfg readme.txt
atmega128.cfg samsung_s3c2410.cfg
avr32.cfg samsung_s3c2440.cfg
c100.cfg samsung_s3c2450.cfg
c100config.tcl samsung_s3c4510.cfg
c100helper.tcl samsung_s3c6410.cfg
c100regs.tcl sharp_lh79532.cfg
cs351x.cfg sim3x.cfg
davinci.cfg smp8634.cfg
dragonite.cfg spear3xx.cfg
dsp56321.cfg stellaris.cfg
dsp568013.cfg stellaris_icdi.cfg
dsp568037.cfg stm32f0x_stlink.cfg
efm32_stlink.cfg stm32f1x.cfg
epc9301.cfg stm32f1x_stlink.cfg
faux.cfg stm32f2x.cfg
feroceon.cfg stm32f2x_stlink.cfg
fm3.cfg stm32f3x.cfg
hilscher_netx10.cfg stm32f3x_stlink.cfg
hilscher_netx500.cfg stm32f4x.cfg
hilscher_netx50.cfg stm32f4x_stlink.cfg
icepick.cfg stm32l.cfg
imx21.cfg stm32lx_dual_bank.cfg
imx25.cfg stm32lx_stlink.cfg
imx27.cfg stm32_stlink.cfg
imx28.cfg stm32w108_stlink.cfg
imx31.cfg stm32xl.cfg
imx35.cfg str710.cfg
imx51.cfg str730.cfg
imx53.cfg str750.cfg
imx6.cfg str912.cfg
imx.cfg swj-dp.tcl
is5114.cfg test_reset_syntax_error.cfg
ixp42x.cfg test_syntax_error.cfg
k40.cfg ti-ar7.cfg
k60.cfg ti_calypso.cfg
lpc1751.cfg ti_dm355.cfg
lpc1752.cfg ti_dm365.cfg
lpc1754.cfg ti_dm6446.cfg
lpc1756.cfg tmpa900.cfg
lpc1758.cfg tmpa910.cfg
lpc1759.cfg u8500.cfg
lpc1763.cfg
@end example
@item @emph{more} ... browse for other library files which may be useful.
For example, there are various generic and CPU-specific utilities.
@end itemize
@@ -2395,7 +2190,7 @@ use @option{enable} see these errors reported.
@deffn {Config Command} gdb_target_description (@option{enable}|@option{disable})
Set to @option{enable} to cause OpenOCD to send the target descriptions to gdb via qXfer:features:read packet.
The default behaviour is @option{disable}.
The default behaviour is @option{enable}.
@end deffn
@deffn {Command} gdb_save_tdesc
@@ -2877,18 +2672,30 @@ usb_blaster_vid_pid 0x16C0 0x06AD
@end example
@end deffn
@deffn {Command} {usb_blaster} (@option{pin6}|@option{pin8}) (@option{0}|@option{1})
Sets the state of the unused GPIO pins on USB-Blasters (pins 6 and 8 on the
female JTAG header). These pins can be used as SRST and/or TRST provided the
appropriate connections are made on the target board.
@deffn {Command} {usb_blaster_pin} (@option{pin6}|@option{pin8}) (@option{0}|@option{1}|@option{s}|@option{t})
Sets the state or function of the unused GPIO pins on USB-Blasters
(pins 6 and 8 on the female JTAG header). These pins can be used as
SRST and/or TRST provided the appropriate connections are made on the
target board.
For example, to use pin 6 as SRST (as with an AVR board):
For example, to use pin 6 as SRST:
@example
$_TARGETNAME configure -event reset-assert \
"usb_blaster pin6 1; wait 1; usb_blaster pin6 0"
usb_blaster_pin pin6 s
reset_config srst_only
@end example
@end deffn
@deffn {Command} {usb_blaster_lowlevel_driver} (@option{ftdi}|@option{ftd2xx}|@option{ublast2})
Chooses the low level access method for the adapter. If not specified,
@option{ftdi} is selected unless it wasn't enabled during the
configure stage. USB-Blaster II needs @option{ublast2}.
@end deffn
@deffn {Command} {usb_blaster_firmware} @var{path}
This command specifies @var{path} to access USB-Blaster II firmware
image. To be used with USB-Blaster II only.
@end deffn
@end deffn
@deffn {Interface Driver} {gw16012}
@@ -4218,14 +4025,14 @@ not a CPU type. It is based on the ARMv5 architecture.
@item @code{openrisc} -- this is an OpenRISC 1000 core.
The current implementation supports three JTAG TAP cores:
@itemize @minus
@item @code{OpenCores TAP} (See: @emph{http://opencores.org/project,jtag})
@item @code{Altera Virtual JTAG TAP} (See: @emph{http://www.altera.com/literature/ug/ug_virtualjtag.pdf})
@item @code{Xilinx BSCAN_* virtual JTAG interface} (See: @emph{http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_2/spartan6_hdl.pdf})
@item @code{OpenCores TAP} (See: @url{http://opencores.org/project,jtag})
@item @code{Altera Virtual JTAG TAP} (See: @url{http://www.altera.com/literature/ug/ug_virtualjtag.pdf})
@item @code{Xilinx BSCAN_* virtual JTAG interface} (See: @url{http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_2/spartan6_hdl.pdf})
@end itemize
And two debug interfaces cores:
@itemize @minus
@item @code{Advanced debug interface} (See: @emph{http://opencores.org/project,adv_debug_sys})
@item @code{SoC Debug Interface} (See: @emph{http://opencores.org/project,dbg_interface})
@item @code{Advanced debug interface} (See: @url{http://opencores.org/project,adv_debug_sys})
@item @code{SoC Debug Interface} (See: @url{http://opencores.org/project,dbg_interface})
@end itemize
@end itemize
@end deffn
@@ -4549,7 +4356,8 @@ proc my_attach_proc @{ @} @{
mychip.cpu configure -event gdb-attach my_attach_proc
mychip.cpu configure -event gdb-attach @{
echo "Reset..."
# To make flash probe and gdb load to flash work we need a reset init.
# To make flash probe and gdb load to flash work
# we need a reset init.
reset init
@}
@end example
@@ -4918,6 +4726,26 @@ As noted above, the @command{flash bank} command requires a driver name,
and allows driver-specific options and behaviors.
Some drivers also activate driver-specific commands.
@deffn {Flash Driver} virtual
This is a special driver that maps a previously defined bank to another
address. All bank settings will be copied from the master physical bank.
The @var{virtual} driver defines one mandatory parameters,
@itemize
@item @var{master_bank} The bank that this virtual address refers to.
@end itemize
So in the following example addresses 0xbfc00000 and 0x9fc00000 refer to
the flash bank defined at address 0x1fc00000. Any cmds executed on
the virtual banks are actually performed on the physical banks.
@example
flash bank $_FLASHNAME pic32mx 0x1fc00000 0 0 0 $_TARGETNAME
flash bank vbank0 virtual 0xbfc00000 0 0 0 $_TARGETNAME $_FLASHNAME
flash bank vbank1 virtual 0x9fc00000 0 0 0 $_TARGETNAME $_FLASHNAME
@end example
@end deffn
@subsection External Flash
@deffn {Flash Driver} cfi
@@ -5014,6 +4842,19 @@ flash bank $_FLASHNAME stmsmi 0xf8000000 0 0 0 $_TARGETNAME
@end deffn
@deffn {Flash Driver} mrvlqspi
This driver supports QSPI flash controller of Marvell's Wireless
Microcontroller platform.
The flash size is autodetected based on the table of known JEDEC IDs
hardcoded in the OpenOCD sources.
@example
flash bank $_FLASHNAME mrvlqspi 0x0 0 0 0 $_TARGETNAME 0x46010000
@end example
@end deffn
@subsection Internal Flash (Microcontrollers)
@deffn {Flash Driver} aduc702x
@@ -5634,7 +5475,8 @@ The @var{str7x} driver defines one mandatory parameter, @var{variant},
which is either @code{STR71x}, @code{STR73x} or @code{STR75x}.
@example
flash bank $_FLASHNAME str7x 0x40000000 0x00040000 0 0 $_TARGETNAME STR71x
flash bank $_FLASHNAME str7x \
0x40000000 0x00040000 0 0 $_TARGETNAME STR71x
@end example
@deffn Command {str7x disable_jtag} bank
@@ -5668,87 +5510,14 @@ The @var{num} parameter is a value shown by @command{flash banks}.
@end deffn
@deffn {Flash Driver} tms470
Most members of the TMS470 microcontroller family from Texas Instruments
include internal flash and use ARM7TDMI cores.
This driver doesn't require the chip and bus width to be specified.
Some tms470-specific commands are defined:
@deffn Command {tms470 flash_keyset} key0 key1 key2 key3
Saves programming keys in a register, to enable flash erase and write commands.
@end deffn
@deffn Command {tms470 osc_mhz} clock_mhz
Reports the clock speed, which is used to calculate timings.
@end deffn
@deffn Command {tms470 plldis} (0|1)
Disables (@var{1}) or enables (@var{0}) use of the PLL to speed up
the flash clock.
@end deffn
@end deffn
@deffn {Flash Driver} virtual
This is a special driver that maps a previously defined bank to another
address. All bank settings will be copied from the master physical bank.
The @var{virtual} driver defines one mandatory parameters,
@itemize
@item @var{master_bank} The bank that this virtual address refers to.
@end itemize
So in the following example addresses 0xbfc00000 and 0x9fc00000 refer to
the flash bank defined at address 0x1fc00000. Any cmds executed on
the virtual banks are actually performed on the physical banks.
@example
flash bank $_FLASHNAME pic32mx 0x1fc00000 0 0 0 $_TARGETNAME
flash bank vbank0 virtual 0xbfc00000 0 0 0 $_TARGETNAME $_FLASHNAME
flash bank vbank1 virtual 0x9fc00000 0 0 0 $_TARGETNAME $_FLASHNAME
@end example
@end deffn
@deffn {Flash Driver} fm3
All members of the FM3 microcontroller family from Fujitsu
include internal flash and use ARM Cortex M3 cores.
The @var{fm3} driver uses the @var{target} parameter to select the
correct bank config, it can currently be one of the following:
@code{mb9bfxx1.cpu}, @code{mb9bfxx2.cpu}, @code{mb9bfxx3.cpu},
@code{mb9bfxx4.cpu}, @code{mb9bfxx5.cpu} or @code{mb9bfxx6.cpu}.
@example
flash bank $_FLASHNAME fm3 0 0 0 0 $_TARGETNAME
@end example
@end deffn
@deffn {Flash Driver} sim3x
All members of the SiM3 microcontroller family from Silicon Laboratories
include internal flash and use ARM Cortex M3 cores. It supports both JTAG
and SWD interface.
The @var{sim3x} driver tries to probe the device to auto detect the MCU.
If this failes, it will use the @var{size} parameter as the size of flash bank.
@example
flash bank $_FLASHNAME sim3x 0 $_CPUROMSIZE 0 0 $_TARGETNAME
@end example
There are 2 commands defined in the @var{sim3x} driver:
@deffn Command {sim3x mass_erase}
Erases the complete flash. This is used to unlock the flash.
And this command is only possible when using the SWD interface.
@end deffn
@deffn Command {sim3x lock}
Lock the flash. To unlock use the @command{sim3x mass_erase} command.
@end deffn
@end deffn
@subsection str9xpec driver
@deffn {Flash Driver} str9xpec
@cindex str9xpec
Only use this driver for locking/unlocking the device or configuring the option bytes.
Use the standard str9 driver for programming.
Before using the flash commands the turbo mode must be enabled using the
@command{str9xpec enable_turbo} command.
Here is some background info to help
you better understand how this driver works. OpenOCD has two flash drivers for
the str9:
@@ -5786,12 +5555,6 @@ When performing a unlock remember that you will not be able to halt the str9 - i
has been locked. Halting the core is not required for the @option{str9xpec} driver
as mentioned above, just issue the commands above manually or from a telnet prompt.
@deffn {Flash Driver} str9xpec
Only use this driver for locking/unlocking the device or configuring the option bytes.
Use the standard str9 driver for programming.
Before using the flash commands the turbo mode must be enabled using the
@command{str9xpec enable_turbo} command.
Several str9xpec-specific commands are defined:
@deffn Command {str9xpec disable_turbo} num
@@ -5842,6 +5605,63 @@ unlock str9 device.
@end deffn
@deffn {Flash Driver} tms470
Most members of the TMS470 microcontroller family from Texas Instruments
include internal flash and use ARM7TDMI cores.
This driver doesn't require the chip and bus width to be specified.
Some tms470-specific commands are defined:
@deffn Command {tms470 flash_keyset} key0 key1 key2 key3
Saves programming keys in a register, to enable flash erase and write commands.
@end deffn
@deffn Command {tms470 osc_mhz} clock_mhz
Reports the clock speed, which is used to calculate timings.
@end deffn
@deffn Command {tms470 plldis} (0|1)
Disables (@var{1}) or enables (@var{0}) use of the PLL to speed up
the flash clock.
@end deffn
@end deffn
@deffn {Flash Driver} fm3
All members of the FM3 microcontroller family from Fujitsu
include internal flash and use ARM Cortex M3 cores.
The @var{fm3} driver uses the @var{target} parameter to select the
correct bank config, it can currently be one of the following:
@code{mb9bfxx1.cpu}, @code{mb9bfxx2.cpu}, @code{mb9bfxx3.cpu},
@code{mb9bfxx4.cpu}, @code{mb9bfxx5.cpu} or @code{mb9bfxx6.cpu}.
@example
flash bank $_FLASHNAME fm3 0 0 0 0 $_TARGETNAME
@end example
@end deffn
@deffn {Flash Driver} sim3x
All members of the SiM3 microcontroller family from Silicon Laboratories
include internal flash and use ARM Cortex M3 cores. It supports both JTAG
and SWD interface.
The @var{sim3x} driver tries to probe the device to auto detect the MCU.
If this failes, it will use the @var{size} parameter as the size of flash bank.
@example
flash bank $_FLASHNAME sim3x 0 $_CPUROMSIZE 0 0 $_TARGETNAME
@end example
There are 2 commands defined in the @var{sim3x} driver:
@deffn Command {sim3x mass_erase}
Erases the complete flash. This is used to unlock the flash.
And this command is only possible when using the SWD interface.
@end deffn
@deffn Command {sim3x lock}
Lock the flash. To unlock use the @command{sim3x mass_erase} command.
@end deffn
@end deffn
@deffn {Flash Driver} nrf51
All members of the nRF51 microcontroller families from Nordic Semiconductor
include internal flash and use ARM Cortex-M0 core.
@@ -5861,26 +5681,14 @@ code.
@end deffn
@deffn {Flash Driver} mrvlqspi
This driver supports QSPI flash controller of Marvell's Wireless
Microcontroller platform.
The flash size is autodetected based on the table of known JEDEC IDs
hardcoded in the OpenOCD sources.
@example
flash bank $_FLASHNAME mrvlqspi 0x0 0 0 0 $_TARGETNAME 0x46010000
@end example
@end deffn
@deffn {Flash Driver} mdr
This drivers handles the integrated NOR flash on Milandr Cortex-M
based controllers. A known limitation is that the Info memory can't be
read or verified as it's not memory mapped.
@example
flash bank <name> mdr <base> <size> 0 0 <target#> @var{type} @var{page_count} @var{sec_count}
flash bank <name> mdr <base> <size> \
0 0 <target#> @var{type} @var{page_count} @var{sec_count}
@end example
@itemize @bullet
@@ -5892,109 +5700,16 @@ flash bank <name> mdr <base> <size> 0 0 <target#> @var{type} @var{page_count} @v
Example usage:
@example
if @{ [info exists IMEMORY] && [string equal $IMEMORY true] @} @{
flash bank $@{_CHIPNAME@}_info.flash mdr 0x00000000 0x01000 0 0 $_TARGETNAME 1 1 4
flash bank $@{_CHIPNAME@}_info.flash mdr 0x00000000 0x01000 \
0 0 $_TARGETNAME 1 1 4
@} else @{
flash bank $_CHIPNAME.flash mdr 0x00000000 0x20000 0 0 $_TARGETNAME 0 32 4
flash bank $_CHIPNAME.flash mdr 0x00000000 0x20000 \
0 0 $_TARGETNAME 0 32 4
@}
@end example
@end deffn
@section mFlash
@subsection mFlash Configuration
@cindex mFlash Configuration
@deffn {Config Command} {mflash bank} soc base RST_pin target
Configures a mflash for @var{soc} host bank at
address @var{base}.
The pin number format depends on the host GPIO naming convention.
Currently, the mflash driver supports s3c2440 and pxa270.
Example for s3c2440 mflash where @var{RST pin} is GPIO B1:
@example
mflash bank $_FLASHNAME s3c2440 0x10000000 1b 0
@end example
Example for pxa270 mflash where @var{RST pin} is GPIO 43:
@example
mflash bank $_FLASHNAME pxa270 0x08000000 43 0
@end example
@end deffn
@subsection mFlash commands
@cindex mFlash commands
@deffn Command {mflash config pll} frequency
Configure mflash PLL.
The @var{frequency} is the mflash input frequency, in Hz.
Issuing this command will erase mflash's whole internal nand and write new pll.
After this command, mflash needs power-on-reset for normal operation.
If pll was newly configured, storage and boot(optional) info also need to be update.
@end deffn
@deffn Command {mflash config boot}
Configure bootable option.
If bootable option is set, mflash offer the first 8 sectors
(4kB) for boot.
@end deffn
@deffn Command {mflash config storage}
Configure storage information.
For the normal storage operation, this information must be
written.
@end deffn
@deffn Command {mflash dump} num filename offset size
Dump @var{size} bytes, starting at @var{offset} bytes from the
beginning of the bank @var{num}, to the file named @var{filename}.
@end deffn
@deffn Command {mflash probe}
Probe mflash.
@end deffn
@deffn Command {mflash write} num filename offset
Write the binary file @var{filename} to mflash bank @var{num}, starting at
@var{offset} bytes from the beginning of the bank.
@end deffn
@node Flash Programming
@chapter Flash Programming
OpenOCD implements numerous ways to program the target flash, whether internal or external.
Programming can be acheived by either using GDB @ref{programmingusinggdb,,Programming using GDB},
or using the cmds given in @ref{flashprogrammingcommands,,Flash Programming Commands}.
@*To simplify using the flash cmds directly a jimtcl script is available that handles the programming and verify stage.
OpenOCD will program/verify/reset the target and optionally shutdown.
The script is executed as follows and by default the following actions will be peformed.
@enumerate
@item 'init' is executed.
@item 'reset init' is called to reset and halt the target, any 'reset init' scripts are executed.
@item @code{flash write_image} is called to erase and write any flash using the filename given.
@item @code{verify_image} is called if @option{verify} parameter is given.
@item @code{reset run} is called if @option{reset} parameter is given.
@item OpenOCD is shutdown if @option{exit} parameter is given.
@end enumerate
An example of usage is given below. @xref{program}.
@example
# program and verify using elf/hex/s19. verify and reset
# are optional parameters
openocd -f board/stm32f3discovery.cfg \
-c "program filename.elf verify reset exit"
# binary files need the flash address passing
openocd -f board/stm32f3discovery.cfg \
-c "program filename.bin exit 0x08000000"
@end example
@node NAND Flash Commands
@chapter NAND Flash Commands
@section NAND Flash Commands
@cindex NAND
Compared to NOR or SPI flash, NAND devices are inexpensive
@@ -6058,7 +5773,7 @@ Some larger devices will work, since they are actually multi-chip
modules with two smaller chips and individual chipselect lines.
@anchor{nandconfiguration}
@section NAND Configuration Commands
@subsection NAND Configuration Commands
@cindex NAND configuration
NAND chips must be declared in configuration scripts,
@@ -6115,7 +5830,7 @@ You must (successfully) probe a device before you can use
it with most other NAND commands.
@end deffn
@section Erasing, Reading, Writing to NAND Flash
@subsection Erasing, Reading, Writing to NAND Flash
@deffn Command {nand dump} num filename offset length [oob_option]
@cindex NAND reading
@@ -6257,7 +5972,7 @@ hardward-computed ECC before the data is written. This limitation may
be removed in a future release.
@end deffn
@section Other NAND commands
@subsection Other NAND commands
@cindex NAND other commands
@deffn Command {nand check_bad_blocks} num [offset length]
@@ -6301,7 +6016,7 @@ with the wrong ECC data can cause them to be marked as bad.
@end deffn
@anchor{nanddriverlist}
@section NAND Driver List
@subsection NAND Driver List
As noted above, the @command{nand device} command allows
driver-specific options and behaviors.
Some controllers also activate controller-specific commands.
@@ -6421,6 +6136,100 @@ or @code{read_page} methods, so @command{nand raw_access} won't
change any behavior.
@end deffn
@section mFlash
@subsection mFlash Configuration
@cindex mFlash Configuration
@deffn {Config Command} {mflash bank} soc base RST_pin target
Configures a mflash for @var{soc} host bank at
address @var{base}.
The pin number format depends on the host GPIO naming convention.
Currently, the mflash driver supports s3c2440 and pxa270.
Example for s3c2440 mflash where @var{RST pin} is GPIO B1:
@example
mflash bank $_FLASHNAME s3c2440 0x10000000 1b 0
@end example
Example for pxa270 mflash where @var{RST pin} is GPIO 43:
@example
mflash bank $_FLASHNAME pxa270 0x08000000 43 0
@end example
@end deffn
@subsection mFlash commands
@cindex mFlash commands
@deffn Command {mflash config pll} frequency
Configure mflash PLL.
The @var{frequency} is the mflash input frequency, in Hz.
Issuing this command will erase mflash's whole internal nand and write new pll.
After this command, mflash needs power-on-reset for normal operation.
If pll was newly configured, storage and boot(optional) info also need to be update.
@end deffn
@deffn Command {mflash config boot}
Configure bootable option.
If bootable option is set, mflash offer the first 8 sectors
(4kB) for boot.
@end deffn
@deffn Command {mflash config storage}
Configure storage information.
For the normal storage operation, this information must be
written.
@end deffn
@deffn Command {mflash dump} num filename offset size
Dump @var{size} bytes, starting at @var{offset} bytes from the
beginning of the bank @var{num}, to the file named @var{filename}.
@end deffn
@deffn Command {mflash probe}
Probe mflash.
@end deffn
@deffn Command {mflash write} num filename offset
Write the binary file @var{filename} to mflash bank @var{num}, starting at
@var{offset} bytes from the beginning of the bank.
@end deffn
@node Flash Programming
@chapter Flash Programming
OpenOCD implements numerous ways to program the target flash, whether internal or external.
Programming can be acheived by either using GDB @ref{programmingusinggdb,,Programming using GDB},
or using the cmds given in @ref{flashprogrammingcommands,,Flash Programming Commands}.
@*To simplify using the flash cmds directly a jimtcl script is available that handles the programming and verify stage.
OpenOCD will program/verify/reset the target and optionally shutdown.
The script is executed as follows and by default the following actions will be peformed.
@enumerate
@item 'init' is executed.
@item 'reset init' is called to reset and halt the target, any 'reset init' scripts are executed.
@item @code{flash write_image} is called to erase and write any flash using the filename given.
@item @code{verify_image} is called if @option{verify} parameter is given.
@item @code{reset run} is called if @option{reset} parameter is given.
@item OpenOCD is shutdown if @option{exit} parameter is given.
@end enumerate
An example of usage is given below. @xref{program}.
@example
# program and verify using elf/hex/s19. verify and reset
# are optional parameters
openocd -f board/stm32f3discovery.cfg \
-c "program filename.elf verify reset exit"
# binary files need the flash address passing
openocd -f board/stm32f3discovery.cfg \
-c "program filename.bin exit 0x08000000"
@end example
@node PLD/FPGA Commands
@chapter PLD/FPGA Commands
@cindex PLD
@@ -6842,7 +6651,8 @@ In addition the following arguments may be specifed:
proc load_image_bin @{fname foffset address length @} @{
# Load data from fname filename at foffset offset to
# target at address. Load at most length bytes.
load_image $fname [expr $address - $foffset] bin $address $length
load_image $fname [expr $address - $foffset] bin \
$address $length
@}
@end example
@end deffn
@@ -7767,9 +7577,13 @@ $ stty -F /dev/ttyUSB1 38400
(FT2232H's base frequency is 60MHz, spd_cust allows to alias 38400
baud with our custom divisor to get 12MHz)
@item @code{itmdump -f /dev/ttyUSB1 -d1}
@item @code{openocd -f interface/stlink-v2-1.cfg -c "transport select
hla_swd" -f target/stm32l1.cfg -c "tpiu config external uart off
24000000 12000000"}
@item OpenOCD invocation line:
@example
openocd -f interface/stlink-v2-1.cfg \
-c "transport select hla_swd" \
-f target/stm32l1.cfg \
-c "tpiu config external uart off 24000000 12000000"
@end example
@end enumerate
@end deffn
@@ -8646,9 +8460,11 @@ Cyg_Thread::thread_list, Cyg_Scheduler_Base::current_thread.
@item ThreadX symbols
_tx_thread_current_ptr, _tx_thread_created_ptr, _tx_thread_created_count.
@item FreeRTOS symbols
@raggedright
pxCurrentTCB, pxReadyTasksLists, xDelayedTaskList1, xDelayedTaskList2,
pxDelayedTaskList, pxOverflowDelayedTaskList, xPendingReadyList,
uxCurrentNumberOfTasks, uxTopUsedPriority.
@end raggedright
@item linux symbols
init_task.
@item ChibiOS symbols

View File

@@ -128,6 +128,18 @@ struct nrf51_device_spec {
unsigned int flash_size_kb;
};
/* The known devices table below is derived from the "nRF51 Series
* Compatibility Matrix" document, which can be found by searching for
* ATTN-51 on the Nordic Semi website:
*
* http://www.nordicsemi.com/eng/content/search?SearchText=ATTN-51
*
* Up to date with Matrix v2.0, plus some additional HWIDs.
*
* The additional HWIDs apply where the build code in the matrix is
* shown as Gx0, Bx0, etc. In these cases the HWID in the matrix is
* for x==0, x!=0 means different (unspecified) HWIDs.
*/
static const struct nrf51_device_spec nrf51_known_devices_table[] = {
/* nRF51822 Devices (IC rev 1). */
{
@@ -177,13 +189,13 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{
.hwid = 0x003C,
.variant = "QFAA",
.build_code = "Gx0",
.build_code = "G0",
.flash_size_kb = 256,
},
{
.hwid = 0x004C,
.variant = "QFAB",
.build_code = "Bx0",
.build_code = "B0",
.flash_size_kb = 128,
},
{
@@ -209,37 +221,37 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{
.hwid = 0x0072,
.variant = "QFAA",
.build_code = "Hx0",
.build_code = "H0",
.flash_size_kb = 256,
},
{
.hwid = 0x007B,
.variant = "QFAB",
.build_code = "Cx0",
.build_code = "C0",
.flash_size_kb = 128,
},
{
.hwid = 0x0083,
.variant = "QFAC",
.build_code = "Ax0",
.build_code = "A0",
.flash_size_kb = 256,
},
{
.hwid = 0x007D,
.variant = "CDAB",
.build_code = "Ax0",
.build_code = "A0",
.flash_size_kb = 128,
},
{
.hwid = 0x0079,
.variant = "CEAA",
.build_code = "Ex0",
.build_code = "E0",
.flash_size_kb = 256,
},
{
.hwid = 0x0087,
.variant = "CFAC",
.build_code = "Ax0",
.build_code = "A0",
.flash_size_kb = 256,
},
@@ -273,7 +285,7 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{
.hwid = 0x002E,
.variant = "QFAA",
.build_code = "Ex0",
.build_code = "E0",
.flash_size_kb = 256,
},
{
@@ -285,7 +297,7 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{
.hwid = 0x0050,
.variant = "CEAA",
.build_code = "Bx0",
.build_code = "B0",
.flash_size_kb = 256,
},
@@ -293,37 +305,43 @@ static const struct nrf51_device_spec nrf51_known_devices_table[] = {
{
.hwid = 0x0073,
.variant = "QFAA",
.build_code = "Fx0",
.build_code = "F0",
.flash_size_kb = 256,
},
{
.hwid = 0x007C,
.variant = "QFAB",
.build_code = "Bx0",
.build_code = "B0",
.flash_size_kb = 128,
},
{
.hwid = 0x0085,
.variant = "QFAC",
.build_code = "Ax0",
.build_code = "A0",
.flash_size_kb = 256,
},
{
.hwid = 0x0086,
.variant = "QFAC",
.build_code = "A1",
.flash_size_kb = 256,
},
{
.hwid = 0x007E,
.variant = "CDAB",
.build_code = "Ax0",
.build_code = "A0",
.flash_size_kb = 128,
},
{
.hwid = 0x007A,
.variant = "CEAA",
.build_code = "Cx0",
.build_code = "C0",
.flash_size_kb = 256,
},
{
.hwid = 0x0088,
.variant = "CFAC",
.build_code = "Ax0",
.build_code = "A0",
.flash_size_kb = 256,
},

View File

@@ -108,6 +108,15 @@ const struct psoc4_chip_details psoc4_devices[] = {
{ 0x0412, "CY8C4125PVI-482", "SSOP-28", .flash_size_in_kb = 32 },
{ 0x0417, "CY8C4125LQI-483", "QFN-40", .flash_size_in_kb = 32 },
{ 0x041C, "CY8C4125AXI-483", "TQFP-44", .flash_size_in_kb = 32 },
/* CCG1 series */
{ 0x0490, "CYPD1103-35FNXI", "CSP-35", .flash_size_in_kb = 32 },
{ 0x0489, "CYPD1121-40LQXI", "QFN-40", .flash_size_in_kb = 32 },
{ 0x048A, "CYPD1122-40LQXI", "QFN-40", .flash_size_in_kb = 32 },
{ 0x0491, "CYPD1131-35FNXI", "CSP-35", .flash_size_in_kb = 32 },
{ 0x0498, "CYPD1132-16SXI", "SOIC-16", .flash_size_in_kb = 32 },
{ 0x0481, "CYPD1134-28PVXI", "SSOP-28", .flash_size_in_kb = 32 },
{ 0x048B, "CYPD1134-40LQXI", "QFN-40", .flash_size_in_kb = 32 },
};

View File

@@ -974,7 +974,7 @@ static int stlink_usb_assert_srst(void *handle, int srst)
assert(handle != NULL);
if (h->jtag_api == STLINK_JTAG_API_V1)
if (h->version.stlink == 1)
return ERROR_COMMAND_NOTFOUND;
stlink_usb_init_buffer(handle, h->rx_ep, 2);

View File

@@ -123,7 +123,7 @@ static int tcl_new_connection(struct connection *connection)
memset(tclc, 0, sizeof(struct tcl_connection));
connection->priv = tclc;
struct target *target = get_current_target(connection->cmd_ctx);
struct target *target = get_target_by_num(connection->cmd_ctx->current_target);
if (target != NULL)
tclc->tc_laststate = target->state;

View File

@@ -486,7 +486,7 @@ struct target *get_target(const char *id)
}
/* returns a pointer to the n-th configured target */
static struct target *get_target_by_num(int num)
struct target *get_target_by_num(int num)
{
struct target *target = all_targets;

View File

@@ -356,6 +356,7 @@ int target_call_timer_callbacks(void);
*/
int target_call_timer_callbacks_now(void);
struct target *get_target_by_num(int num);
struct target *get_current_target(struct command_context *cmd_ctx);
struct target *get_target(const char *id);