X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=README;h=109aa25003a298fffa36e4e4412823ff98ef42dd;hb=b463d50c5b34935334b26a48903c68c3893b1ff2;hp=429b8511f7dc7060a6a522279ad3fe0b379b635d;hpb=3dd1addf929f95e05fa676bab5a41515e990e16a;p=fw%2Fstlink diff --git a/README b/README index 429b851..109aa25 100644 --- a/README +++ b/README @@ -11,22 +11,47 @@ called stlink and there are 2 versions: . STLINKv1 uses SCSI passthru commands over USB, . STLINKv2 uses raw USB commands. -It means that if you are using a STM32VL board, you have to install and load -SCSI related software. First, load the sg kernel module: -# modprobe sg +Common requirements +~~~~~~~~~~~~~~~~~~~ -Then, you need to install the package libsgutils2-dev. On Ubuntu: -# sudo apt-get install libsgutils2-dev +libusb-1.0 (You probably already have this, but you'll need the +development version to compile) -LIBUSB is required for both cases. +IF YOU HAVE AN STLINKv1 +~~~~~~~~~~~~~~~~~~~~~~~ +The STLINKv1's SCSI emulation is very broken, so the best thing to do +is tell your operating system to completely ignore it. + +Options (do one of these before you plug it in) + *) modprobe -r usb-storage && modprobe usb-storage quirks=483:3744:i +or *)1. add "options usb-storage quirks=483:3744:i" to /etc/modprobe.conf + *)2. modprobe -r usb-storage && modprobe usb-storage +or *)1. cp stlink_v1.modprobe.conf /etc/modprobe.d + *)2. modprobe -r usb-storage && modprobe usb-storage + +IF YOU HAVE AN STLINKv2 +~~~~~~~~~~~~~~~~~~~~~~~ + +You're ready to go :) To run the gdb server, do (you do not need sudo if you have set up permissions correctly): -$ make -C build && sudo ./build/st-util [/dev/sgX] +$ make && [sudo] ./gdbserver/st-util + +There are a few options: + +./gdbserver/st-util - usage: -Currently, the GDB server listening port is hardcoded to 4242: + -h, --help Print this help + -vXX, --verbose=XX specify a specific verbosity level (0..99) + -v, --verbose specify generally verbose logging + -s X, --stlink_version=X + Choose what version of stlink to use, (defaults to 2) + -1, --stlinkv1 Force stlink version 1 + -p 4242, --listen_port=1234 + Set the gdb server listen port. (default port: 4242) -Then, in gdb: +Then, in gdb: (remember, you need to run an _ARM_ gdb, not an x86 gdb) (gdb) target remote :4242 Have fun! @@ -50,13 +75,14 @@ for GDB. Setting up udev rules ===================== -For convenience, you may install udev rules file, 10-stlink.rules, located +For convenience, you may install udev rules file, 49-stlinkv2.rules, located in the root of repository. You will need to copy it to /etc/udev/rules.d, and then either reboot or execute $ udevadm control --reload-rules -Udev will now create a /dev/stlink file, which will point at appropriate -/dev/sgX device. Good to not accidentally start debugging your flash drive. +Udev will now create a /dev/stlinkv2_XX file, with the appropriate permissions. +This is currently all the device is for, (only one stlinkv2 is supported at +any time presently) Running programs from SRAM ==========================