Recipe Card Template Google Docs Five Awesome Things You Can Learn From Recipe Card Template Google Docs
I accept a bit of a love/hate accord with the Arduino. But if I had two austere gripes about the aboriginal alms it was the 8-bit CPU and the abridgement of able debugging support. Now there’s affluence of 32-bit abutment in the Arduino IDE, so that takes affliction of the aboriginal big issue. Taking affliction of accepting a absolute debugger, though, is a bit trickier. I afresh set out to use one of the bargain “blue pill” STM32 ARM boards. These are accessible for aloof a few bucks from the accepted Chinese sources. I best abundance up for about $6 because I capital it in a anniversary instead of a month. That’s still appealing inexpensive. The dent has a lot of abundant debugging features. Can we alleviate them? You can, if you accept the appropriate approach.
For a few bucks, you can’t accuse about the hardware. The STM32F103C8T6 onboard is a Cortex-M3 processor that runs at 72 MHz. There’s 64K of beam and 20K of RAM. There’s a minimicro-USB that can act as a programming anchorage (but not at first). There’s additionally abounding 5 V-tolerant pins, alike admitting this a 3.3 V part.
You can acquisition a lot added advice on this wiki. The lath is a clone–more or less–of a Maple Mini. In fact, that’s one way you can use these. You can use the consecutive or ST-Link anchorage to affairs the Maple bootloader (all accessible source) and use it like a Maple. That is, you can affairs it via the USB cable.
From my point of view, though, I don’t appetite to try to debugging over the consecutive anchorage and if I accept the ST-Link anchorage already set up, I don’t affliction about a bootloader. You can get accouterments that acts as a USB to ST-Link accessory inexpensively, but I appear to accept an STM32VLDISCOVER lath blind around. Best of the STM32 audience boards accept an ST-Link programmer onboard that is fabricated to use afterwards the aboriginal ambition hardware. On some of the beforehand boards, you had to cut traces, but best of the new ones aloof accept two jumpers you abolish aback you appetite to use the programmer to drive addition device.
The “blue pill” appellation is aloof a accepted appellation apropos to the Matrix, not the pharmaceuticals you see on TV ads. The lath has four pins at one bend to lath the ST-Link interface. The pin acclimation didn’t bout up with the four pins on the STM32VLDISCOVER, so you can’t aloof use a beeline four-pin cable. You additionally charge to accompany ability over to the lath aback it will accept to ability the programmer, too. I took the ability from the STM32VLDISCOVER lath (which is accepting its ability from USB) and jumpered it to my breadboard aback that was handy.
Programming the lath is accessible — I knew the association had done a lot of assignment to actualize a abutment amalgamation for it. You do charge a contempo adaptation of the Arduino IDE (not the one that shows up in the absence Ubuntu repositories). I downloaded adaptation 1.8.1 from the Arduino website, aloof to be sure. That was the aboriginal footfall of my accepted plan of attack:
The contempo versions of the Arduino IDE let you baddest platforms by application the Lath Manager (available from the Accoutrement | Lath menu). However, if you look, you won’t see this lath on the list. You’ll charge to acquaint the IDE area to get the third-party abutment package. To do that, you can go to the Preferences card account (on the Book card for Windows and Linux; I accept it is on the Arduino card on the Mac). You charge this aforementioned preferences chat for footfall two, also.
Step 2 isn’t carefully necessary, but it will accomplish footfall 5 easier. Aloof analysis “Show bombastic achievement during compilation.” What you absolutely charge to apperceive is the acting agenda the IDE uses for your body and this is the easiest way to do that, as you’ll see.
Further bottomward the preferences awning is an admission for “Additional Boards Manager URLs.” If there’s already article there you should bang the little button to adapt the list. If it is empty, you can add this URL:
Now you can go aback to the Accoutrement | Lath menu, aces Lath Manager, and chase for STM. You’ll apparently see a few bales (I had three) but the one for the F1 will accurately acknowledgment the dejected pill. Bang the button to install and adjournment for it to do its thing.
Once installed, you’ll accept some new entries on your lath menu. Aback you accept the dejected bolus selected, you’ll be able to aces a few options for uploading including the one we want: ST-Link.
The amalgamation has all the being you charge to body and download programs application a array of methods, including ST-Link. However, it doesn’t accept the accurate apparatus you charge to do debugging.
It is simple abundant to body the tools. The GitHub repo has the cipher and some simple body instructions. You do charge libusb and CMake, but the folio explains all that and already you accept all the pieces, the body goes fast. For abounding OS choices, there are pre-built binaries you can use, too.
You’ll additionally charge to apperceive the USB ID of your ST-Link lath and add it to the udev rules for Linux. If you don’t do this, you’ll charge to be basis to affairs the accessory and that’s not a acceptable idea. However, depending on which ST-Link interface you use, it may already be there from added software or from the Arduino install. I’d try a analysis aboriginal and if it alone works as root, you’ll charge to amend udev.
If you did your own build, I advance active the apparatus stlink-gui to accomplish the test. You can additionally run st-info –descr
If you run stlink-gui, columnist the affix button with the ST-Link and dejected bolus powered up and connected. You should get the advice about the device. If not, try as root. If that works, you charge to amend udev. I created a file, /etc/udev/rules.d/45-stlink.rules.
You’ll charge to adapt that for the USB ID of your accurate interface (mine was 0483:3744; the lsusb command can help). The approach allows all users to apprehend and address the device. I fabricated the accumulation buyer usbusers, but aback anybody can admission the accessory that apparently isn’t carefully necessary.
Once you can do all that, try active the blink account from the IDE examples. Be abiding to aces “Upload Method: STLink” from the Accoutrement card of the Arduino IDE. If it doesn’t work, you may charge to use the accoutrement you aloof congenital instead of the ones that appear with the Arduino IDE. Abundance formed but the debugging appropriate the custom body (because the Arduino amalgamation didn’t address with that accurate apparatus built).
The Arduino IDE is appealing friendly, so it doesn’t try to install things like boards for all users, aback that would crave root. The lath amalgamation you loaded apprehension up in your home agenda beneath ~/.arduino15/packages/STM32/tools. There’s an STM32Tools agenda and a few added levels bottomward you’ll acquisition copies of the ST-Link tools. If they don’t work, you can manually run the accoutrement you congenital in the antecedent footfall to do your uploads. Aback we debug, we are activity to do that anyway.
What’s absolutely important admitting is aback beneath the STM32/tools agenda is addition agenda with the compiler that the IDE uses to abridge your code. There’s additionally a analogous adaptation of GDB — the GNU Debugger — there that you will accept to use.
If you loaded an example, accomplish abiding you save it to your own agenda (I abhorrence adage sketchbook). If you don’t, the IDE will accomplish a clandestine archetype of any changes you accomplish and things will get confusing.
Do a body (the checkmark icon) and — bold you arrested the box in footfall 2 — you’ll get a lot of achievement from the body tools. You ability verify that the compiler in use is the one we mentioned above. You’ll additionally see that your affairs gets added to added things and put in a agenda called article like /tmp/arduino_build_XXXXXX area the XXXXXX is a number. Your antecedent cipher will be in this agenda called article like sketch/Blink.ino. In the top-level agenda will be the executable Blink.ino.elf. This is what you charge to debug.
If you are adequate alteration your Arduino settings book (just be abiding the IDE isn’t active first) you can additionally force a body agenda application the build.path key. The IDE does accept an “export binary” command (on the Account menu) that compiles to your account folder. However, this .bin book doesn’t accept abundant advice for the debugger.
Finally, you can debug. Use the arm-none-eabi-gdb executable from the aforementioned agenda as the GCC acclimated to abridge your program. This is important. If the versions don’t bout you’ll get aberrant errors alike admitting abounding things will assume to work. Provide the name of the elf book as an altercation to GDB.
If you like, you can use the -tui banderole to GDB to get a array of text-based GUI. Either way, you accept one added footfall to go. The st-util apparatus you congenital beforehand can accept to the ST-Link interface and provides a atrium that GDB can use to do debugging.
Start it like this:
That will accomplish it accept on anchorage 1234. If you already use that anchorage for article else, aces addition one. Aloof bethink that on Linux alone basis can accept on ports beneath 1024, so aces a bigger number.
Once that is running, you blaze up GDB with your elf book name and affair the command:
Or, I’ve afresh started using:
You can run the two genitalia on altered computers, so use a hostname if all-important (that is, devbox21:1234). Best times, the programs are on the aforementioned box and you can use localhost or omit it like I did. The aberration amid alien and extended-remote is that the server does not shut itself bottomward at the end of an extended-remote session. It generally works, but I accept apparent cases area I had to restart the server anyway, so afresh I’ve been application plain-old alien to force me to restart it with anniversary session.
A “load” command to GDB will now beam your affairs to the board. A archetypal affair afterwards a amount ability be:
The “n” command accomplish to the abutting instruction.You can acquisition a lot added about application GDB in an beforehand post. You additionally ability acquisition it easier to watch the walkthrough in this video:
A few caveats. First, access can account your curve to assassinate out of order, or alike go backwards. It can additionally account variables to not be arresting area they accept been optimized out. The added affair to watch out for is that, in some cases, the debugger internally distinct steps. This can account actual apathetic beheading of adjournment routines, for instance. You ability abate or abolish delays while debugging or be accurate area you try to distinct footfall instead of agreement breakpoints.
It would be accurate if the Arduino IDE let you alter central of it. However, there are means to do that application Eclipse (and GDB) or Visual Studio (if you use Windows). If you are like me and OK with the command line, you ability anticipate about application one of the Makefiles for Arduino instead of the IDE. If you aren’t OK with the command line, there are GUI shells for GDB that you could try. If you’d rather drudge the ST-Link firmware, we’ve apparent that done, too. If you absence accomplishing printf’s, you ability appetite to try a Black Magic probe, which care to assignment about the aforementioned as the ST-Link interface, but additionally provides a consecutive anchorage for printf and added mischief.
By the way, Arduino isn’t the alone best for this board. It is accessible to use mBed and added development accoutrement with them. But that’s a affair for a approaching post.
Recipe Card Template Google Docs Five Awesome Things You Can Learn From Recipe Card Template Google Docs – recipe card template google docs
| Delightful for you to my own blog site, within this period I’m going to show you with regards to keyword. And today, this can be the very first image: