Reconfigured Shenzhou to use JTAG. Misc Kconfig changes

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5118 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2012-09-09 15:43:18 +00:00
parent 7baeaf0b49
commit f261e6e291
12 changed files with 302 additions and 4 deletions

View File

@ -0,0 +1,16 @@
https://www.olimex.com/dev/pdf/ARM/JTAG/Repair%20Procedure%20for%20OpenOcd-Rev.%20G%20drivers.pdf
Repair procedure for ARM-USB-OCD drivers
1. Uninstalling ARM-USB-OCD drivers.
1.1. Connect your programmer/debugger to your computer, open Device Manager and uninstall the drivers for ARM-USB-OCD.
1.2. After you have uninstalled ARM-USB-TINY driver from Device Manager, disconnect the programmer from your computer.
1.3. Now you should download FTClean.exe from here: http://www.ftdichip.com/Support/Utilities/FTClean.zip.
1.4. After download is complete extract the “*.zip” file, open folder FTClean, and run FTClean.exe
1.5. Ror VID (Hex) select “Other”. And after that fill the first box with 15ba and “PID (Hex)” with 0004.
1.6. Press “Clean System” button. Make sure that all FTDI devices are disconnected. (My require administrator privileges).
2. Re-install ARM-USB-OCD driver
2.1 Connect the programmer/debugger to the computer.
2.2 When prompted, browse to the C:\gccfd\DRIVERS\ARM-USB-OCD-DRIVER directory and install.

View File

@ -0,0 +1,16 @@
https://www.olimex.com/dev/pdf/ARM/JTAG/Repair%20Procedure%20for%20OpenOcd-Rev.%20G%20drivers.pdf
Repair procedure for ARM-USB-OCD drivers
1. Uninstalling ARM-USB-OCD drivers.
1.1. Connect your programmer/debugger to your computer, open Device Manager and uninstall the drivers for ARM-USB-OCD.
1.2. After you have uninstalled ARM-USB-TINY driver from Device Manager, disconnect the programmer from your computer.
1.3. Now you should download FTClean.exe from here: http://www.ftdichip.com/Support/Utilities/FTClean.zip.
1.4. After download is complete extract the “*.zip” file, open folder FTClean, and run FTClean.exe
1.5. Ror VID (Hex) select “Other”. And after that fill the first box with 15ba and “PID (Hex)” with 0004.
1.6. Press “Clean System” button. Make sure that all FTDI devices are disconnected. (My require administrator privileges).
2. Re-install ARM-USB-OCD driver
2.1 Connect the programmer/debugger to the computer.
2.2 When prompted, browse to the C:\gccfd\DRIVERS\ARM-USB-OCD-DRIVER directory and install.

View File

@ -0,0 +1,16 @@
https://www.olimex.com/dev/pdf/ARM/JTAG/Repair%20Procedure%20for%20OpenOcd-Rev.%20G%20drivers.pdf
Repair procedure for ARM-USB-OCD drivers
1. Uninstalling ARM-USB-OCD drivers.
1.1. Connect your programmer/debugger to your computer, open Device Manager and uninstall the drivers for ARM-USB-OCD.
1.2. After you have uninstalled ARM-USB-TINY driver from Device Manager, disconnect the programmer from your computer.
1.3. Now you should download FTClean.exe from here: http://www.ftdichip.com/Support/Utilities/FTClean.zip.
1.4. After download is complete extract the “*.zip” file, open folder FTClean, and run FTClean.exe
1.5. Ror VID (Hex) select “Other”. And after that fill the first box with 15ba and “PID (Hex)” with 0004.
1.6. Press “Clean System” button. Make sure that all FTDI devices are disconnected. (My require administrator privileges).
2. Re-install ARM-USB-OCD driver
2.1 Connect the programmer/debugger to the computer.
2.2 When prompted, browse to the C:\gccfd\DRIVERS\ARM-USB-OCD-DRIVER directory and install.

View File

@ -0,0 +1,16 @@
https://www.olimex.com/dev/pdf/ARM/JTAG/Repair%20Procedure%20for%20OpenOcd-Rev.%20G%20drivers.pdf
Repair procedure for ARM-USB-OCD drivers
1. Uninstalling ARM-USB-OCD drivers.
1.1. Connect your programmer/debugger to your computer, open Device Manager and uninstall the drivers for ARM-USB-OCD.
1.2. After you have uninstalled ARM-USB-TINY driver from Device Manager, disconnect the programmer from your computer.
1.3. Now you should download FTClean.exe from here: http://www.ftdichip.com/Support/Utilities/FTClean.zip.
1.4. After download is complete extract the “*.zip” file, open folder FTClean, and run FTClean.exe
1.5. Ror VID (Hex) select “Other”. And after that fill the first box with 15ba and “PID (Hex)” with 0004.
1.6. Press “Clean System” button. Make sure that all FTDI devices are disconnected. (My require administrator privileges).
2. Re-install ARM-USB-OCD driver
2.1 Connect the programmer/debugger to the computer.
2.2 When prompted, browse to the C:\gccfd\DRIVERS\ARM-USB-OCD-DRIVER directory and install.

View File

@ -0,0 +1,16 @@
https://www.olimex.com/dev/pdf/ARM/JTAG/Repair%20Procedure%20for%20OpenOcd-Rev.%20G%20drivers.pdf
Repair procedure for ARM-USB-OCD drivers
1. Uninstalling ARM-USB-OCD drivers.
1.1. Connect your programmer/debugger to your computer, open Device Manager and uninstall the drivers for ARM-USB-OCD.
1.2. After you have uninstalled ARM-USB-TINY driver from Device Manager, disconnect the programmer from your computer.
1.3. Now you should download FTClean.exe from here: http://www.ftdichip.com/Support/Utilities/FTClean.zip.
1.4. After download is complete extract the “*.zip” file, open folder FTClean, and run FTClean.exe
1.5. Ror VID (Hex) select “Other”. And after that fill the first box with 15ba and “PID (Hex)” with 0004.
1.6. Press “Clean System” button. Make sure that all FTDI devices are disconnected. (My require administrator privileges).
2. Re-install ARM-USB-OCD driver
2.1 Connect the programmer/debugger to the computer.
2.2 When prompted, browse to the C:\gccfd\DRIVERS\ARM-USB-OCD-DRIVER directory and install.

View File

@ -70,12 +70,15 @@ CONFIG_ARCH_FAMILY="armv7-m"
CONFIG_ARCH_CHIP="stm32"
CONFIG_ARCH_HAVE_MPU=y
# CONFIG_ARMV7M_MPU is not set
# CONFIG_ARCH_INTERRUPTSTACK is not set
CONFIG_ARCH_IRQPRIO=y
CONFIG_BOARD_LOOPSPERMSEC=5483
# CONFIG_ARCH_CALIBRATION is not set
# CONFIG_SERIAL_TERMIOS is not set
# CONFIG_NET_MULTICAST is not set
#
# STM32 Configuration Options
#
# CONFIG_ARCH_CHIP_STM32F103ZET6 is not set
# CONFIG_ARCH_CHIP_STM32F103RET6 is not set
# CONFIG_ARCH_CHIP_STM32F103VCT6 is not set
@ -100,7 +103,7 @@ CONFIG_STM32_CODESOURCERYW=y
# CONFIG_STM32_DEVKITARM is not set
# CONFIG_STM32_RAISONANCE is not set
# CONFIG_STM32_BUILDROOT is not set
CONFIG_STM32_DFU=y
# CONFIG_STM32_DFU is not set
#
# STM32 Peripheral Support
@ -139,6 +142,10 @@ CONFIG_STM32_USART2=y
# CONFIG_STM32_USB is not set
# CONFIG_STM32_WWDG is not set
CONFIG_STM32_SPI=y
#
# Alternate Pin Mapping
#
CONFIG_STM32_USART2_REMAP=y
# CONFIG_STM32_SPI1_REMAP is not set
CONFIG_STM32_ETH_REMAP=y
@ -184,6 +191,8 @@ CONFIG_ARCH_STACKDUMP=y
#
CONFIG_DRAM_START=0x20000000
CONFIG_DRAM_SIZE=65536
CONFIG_ARCH_HAVE_INTERRUPTSTACK=y
# CONFIG_ARCH_INTERRUPTSTACK is not set
#
# Boot options

View File

@ -69,7 +69,10 @@ export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++
# toolchain.
#export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin"
# Add the path to the toolchain to the PATH varialble
export PATH="${TOOLCHAIN_BIN}:/sbin:/usr/sbin:${PATH_ORIG}"
# This is the path to the tools/ subdirectory
export TOOLS_DIR="${WD}/configs/shenzhou/tools"
# Add the path to the toolchain to the PATH variable
export PATH="${TOOLCHAIN_BIN}:${TOOLS_DIR}:/sbin:/usr/sbin:${PATH_ORIG}"
echo "PATH : ${PATH}"

View File

@ -0,0 +1,13 @@
#
# Olimex ARM-USB-OCD
#
# http://www.olimex.com/dev/arm-usb-ocd.html
#
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG"
ft2232_layout olimex-jtag
ft2232_vid_pid 0x15ba 0x0003
#jtag_khz 600

92
configs/shenzhou/tools/oocd.sh Executable file
View File

@ -0,0 +1,92 @@
#!/bin/sh
# Get command line parameters
USAGE="USAGE: $0 [-dh] <TOPDIR>"
ADVICE="Try '$0 -h' for more information"
unset DEBUG
while [ ! -z "$1" ]; do
case $1 in
-d )
set -x
DEBUG=-d3
;;
-h )
echo "$0 is a tool for generation of proper version files for the NuttX build"
echo ""
echo $USAGE
echo ""
echo "Where:"
echo " -d"
echo " Enable script debug"
echo " -h"
echo " show this help message and exit"
echo " Use the OpenOCD 0.4.0"
echo " <TOPDIR>"
echo " The full path to the top-level NuttX directory"
exit 0
;;
* )
break;
;;
esac
shift
done
TOPDIR=$1
if [ -z "${TOPDIR}" ]; then
echo "Missing argument"
echo $USAGE
echo $ADVICE
exit 1
fi
# This script *probably* only works with the following versions of OpenOCD:
# Local search directory and configurations
OPENOCD_SEARCHDIR="${TOPDIR}/configs/shenzhou/tools"
OPENOCD_WSEARCHDIR="`cygpath -w ${OPENOCD_SEARCHDIR}`"
OPENOCD_PATH="/cygdrive/c/Program Files (x86)/OpenOCD/0.4.0/bin"
OPENOCD_EXE=openocd.exe
OPENOCD_INTERFACE="olimex-arm-usb-ocd.cfg"
OPENOCD_TARGET="stm32.cfg"
OPENOCD_ARGS="${DEBUG} -s ${OPENOCD_WSEARCHDIR} -f ${OPENOCD_INTERFACE} -f ${OPENOCD_TARGET}"
echo "Trying OpenOCD 0.4.0 path: ${OPENOCD_PATH}/${OPENOCD_EXE}"
# Verify that everything is what it claims it is and is located where it claims it is.
if [ ! -x "${OPENOCD_PATH}/${OPENOCD_EXE}" ]; then
echo "OpenOCD executable does not exist: ${OPENOCD_PATH}/${OPENOCD_EXE}"
exit 1
fi
if [ ! -f "${OPENOCD_SEARCHDIR}/${OPENOCD_TARGET}" ]; then
echo "OpenOCD target config file does not exist: ${OPENOCD_SEARCHDIR}/${OPENOCD_TARGET}"
exit 1
fi
if [ ! -f "${OPENOCD_SEARCHDIR}/${OPENOCD_INTERFACE}" ]; then
echo "OpenOCD interface config file does not exist: ${OPENOCD_SEARCHDIR}/${OPENOCD_INTERFACE}"
exit 1
fi
# Enable debug if so requested
if [ "X$2" = "X-d" ]; then
OPENOCD_ARGS=$OPENOCD_ARGS" -d3"
set -x
fi
# Okay... do it!
echo "Starting OpenOCD"
"${OPENOCD_PATH}/${OPENOCD_EXE}" ${OPENOCD_ARGS} &
echo "OpenOCD daemon started"
ps -ef | grep openocd
echo "In GDB: target remote localhost:3333"

View File

@ -0,0 +1,69 @@
# script for stm32
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
set _CHIPNAME stm32
}
if { [info exists ENDIAN] } {
set _ENDIAN $ENDIAN
} else {
set _ENDIAN little
}
# Work-area is a space in RAM used for flash programming
# By default use 16kB
if { [info exists WORKAREASIZE] } {
set _WORKAREASIZE $WORKAREASIZE
} else {
set _WORKAREASIZE 0x4000
}
# JTAG speed should be <= F_CPU/6. F_CPU after reset is 8MHz, so use F_JTAG = 1MHz
jtag_khz 1000
jtag_nsrst_delay 100
jtag_ntrst_delay 100
#jtag scan chain
if { [info exists CPUTAPID ] } {
set _CPUTAPID $CPUTAPID
} else {
# See STM Document RM0008
# Section 26.6.3
set _CPUTAPID 0x3ba00477
}
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
if { [info exists BSTAPID ] } {
# FIXME this never gets used to override defaults...
set _BSTAPID $BSTAPID
} else {
# See STM Document RM0008
# Section 29.6.2
# Low density devices, Rev A
set _BSTAPID1 0x06412041
# Medium density devices, Rev A
set _BSTAPID2 0x06410041
# Medium density devices, Rev B and Rev Z
set _BSTAPID3 0x16410041
# High density devices, Rev A
set _BSTAPID4 0x06414041
# Connectivity line devices, Rev A and Rev Z
set _BSTAPID5 0x06418041
}
jtag newtap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1 \
-expected-id $_BSTAPID2 -expected-id $_BSTAPID3 \
-expected-id $_BSTAPID4 -expected-id $_BSTAPID5
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME cortex_m3 -endian $_ENDIAN -chain-position $_TARGETNAME
$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME stm32x 0 0 0 0 $_TARGETNAME
# For more information about the configuration files, take a look at:
# openocd.texi

View File

@ -0,0 +1,16 @@
https://www.olimex.com/dev/pdf/ARM/JTAG/Repair%20Procedure%20for%20OpenOcd-Rev.%20G%20drivers.pdf
Repair procedure for ARM-USB-OCD drivers
1. Uninstalling ARM-USB-OCD drivers.
1.1. Connect your programmer/debugger to your computer, open Device Manager and uninstall the drivers for ARM-USB-OCD.
1.2. After you have uninstalled ARM-USB-TINY driver from Device Manager, disconnect the programmer from your computer.
1.3. Now you should download FTClean.exe from here: http://www.ftdichip.com/Support/Utilities/FTClean.zip.
1.4. After download is complete extract the “*.zip” file, open folder FTClean, and run FTClean.exe
1.5. Ror VID (Hex) select “Other”. And after that fill the first box with 15ba and “PID (Hex)” with 0004.
1.6. Press “Clean System” button. Make sure that all FTDI devices are disconnected. (My require administrator privileges).
2. Re-install ARM-USB-OCD driver
2.1 Connect the programmer/debugger to the computer.
2.2 When prompted, browse to the C:\gccfd\DRIVERS\ARM-USB-OCD-DRIVER directory and install.

View File

@ -0,0 +1,16 @@
https://www.olimex.com/dev/pdf/ARM/JTAG/Repair%20Procedure%20for%20OpenOcd-Rev.%20G%20drivers.pdf
Repair procedure for ARM-USB-OCD drivers
1. Uninstalling ARM-USB-OCD drivers.
1.1. Connect your programmer/debugger to your computer, open Device Manager and uninstall the drivers for ARM-USB-OCD.
1.2. After you have uninstalled ARM-USB-TINY driver from Device Manager, disconnect the programmer from your computer.
1.3. Now you should download FTClean.exe from here: http://www.ftdichip.com/Support/Utilities/FTClean.zip.
1.4. After download is complete extract the “*.zip” file, open folder FTClean, and run FTClean.exe
1.5. Ror VID (Hex) select “Other”. And after that fill the first box with 15ba and “PID (Hex)” with 0004.
1.6. Press “Clean System” button. Make sure that all FTDI devices are disconnected. (My require administrator privileges).
2. Re-install ARM-USB-OCD driver
2.1 Connect the programmer/debugger to the computer.
2.2 When prompted, browse to the C:\gccfd\DRIVERS\ARM-USB-OCD-DRIVER directory and install.