21bdc4ad13
The FSMC is only available in high density and XL density devices with more than 4 ports. Basically excluded in the RC/D/E/F/G models, since they dont have enough pins. Page 11 in the Datasheet references this. The table shows what is present, and shows the FSMC is NOT present in Rx MCUs: http://www.st.com/content/ccc/resource/technical/document/datasheet/59/f6/fa/84/20/4e/4c/59/CD00191185.pdf/files/CD00191185.pdf/jcr:content/translations/en.CD00191185.pdf Recent changes to other files highlight this issue during compilation time. The issue was already there, but GPIO E and GPIO F were declared and defined, while they don't actually exist in Rx MCUs, so FSMC was being included for those MCU even though they don't actually have an FSMC device, or at least no external ports to use it. With the recent changes GPIO E and F and correctly excluded from the build, but since FSMC was still included and needs GPIO E and F, it was failing to compile. I.e.: C:/Users/Victor/Documents/Arduino/Hardware/Arduino_STM32/STM32F1/cores/maple/libmaple/fsmc_f1.c:51:19: error: 'GPIOE' undeclared (first use in this function) Since the FSMC is not available (I suspect the silicon is there, but there is no IO pins to use it), the correct solution is to include FSMC only when using an MCU with more than 4 GPIO ports, which is what matches the datasheet. |
||
---|---|---|
STM32F1 | ||
STM32F3 | ||
STM32F4 | ||
drivers | ||
tools | ||
.gitignore | ||
.gitmodules | ||
LICENSE | ||
README.md |
README.md
Arduino STM32
Notice
This software is experimental and a work in progress. Under no circumstances should these files be used in relation to any critical system(s). Use of these files is at your own risk.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Summary:
This repo contains the "Hardware" files to support STM32 based boards on Arduino version 1.8.x (some older versions may also work) including LeafLabs Maple, and Maple mini, and other generic STM32F103 boards.
PRIMARY SUPPORT FORUM: http://www.stm32duino.com/
We are also on Gitter https://gitter.im/stm32duino/Lobby/
Background & Support:
- Based on https://github.com/bobc/maple-asp, which is in turn based on LibMaple by Leaflabs
- Please read the wiki (https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki) for full details
- See also my blog: http://www.rogerclark.net/stm32f103-and-maple-maple-mini-with-arduino-1-5-x-ide/
- NEW: Main support site for using STM32 boards with the Arduino IDE: http://www.stm32duino.com/
- Original LeafLabs "Docs:" http://docs.leaflabs.com/docs.leaflabs.com/index.html
YouTube Videos:
- 20141116: Arduino 1.5.8 IDE with STM32 board
- 20150413: STM32 for Arduino 1.6.2 or newer (update)
- 20150419: Uploading via USB to Serial to STM32F103 boards
Additional Links & Info:
Purchase info:
Entry level boards
- Ebay search for "arduino maple" (currently costs <$5 with shipping)
- AliExpress search for "leaflabs maple"
Bigger boards (You need to load the stm32duino bootloader)
Some suppliers have this board e.g.