![]() From the IP Tree pane (the tree view on the left in CubeMX), enable FREERTOS and LWIP modules, as shown below. Now we need to enable two middleware stacks: FreeRTOS and LwIP. Probably, when you read this post it will be fixed, but it's best to take a look. ![]() In the PHY Address config, change the value from 1 to 0, as shown below. To fix this, go inside the Configuration section in CubeMX and click on the Eth button. CubeMX simply assigns a wrong address to the Ethernet Phyther. This bug is related to the project configuration for this Nucleo, and I've already submitted it to ST. Click on OK and wait for project generation.Īt the time of writing this post, January 22th, 2016, a bug affects CubeMX 4.12. Be sure that the flag " Initialize all IP with their default mode" is checked. In the New Project wizard select the Board Selector tab, and choose the Nucleo-F746ZG from the list. This is the first version that supports the Nucelo-144 line-up, so it's important to have at least this release. First of all, ensure that you have the latest version of CubeMX, which at time of writing this tutorial is the 4.12. Now we need to create a new project in CubeMX. Do not skip this step! Close the Eclipse project before continuing the tutorial!!!!! STEP2: Create a new CubeMX project The next important step is to CLOSE the Eclipse project, before we import the CubeMX. So, from the Eclipse IDE open the file ldscripts/mem.ld and write the first line of the MEMORY section as shown below:įLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K By default, the GNU ARM plug-in assigns 0x00000000 as starting address for the FLASH memory, while in all STM32 MCUs the internal FLASH is mapped at 0x08000000. Now, before we import a CubeMX project inside this Eclipse project, it's better to modify the ldscripts/mem.ld file. In the next step leave all unchanged except for the Vendor CMSIS field: write stm32f7xx inside it, as shown below.Ĭomplete the project wizard leaving all standard options. They are used to generate the right linker script, as we'll see next. Those numbers are nothing more than the size of FLASH and SRAM memories in a STM32F746 MCU. In the next step select Cortex-M7 from the Processor core entry, insert 1024 inside the Flash size field and 320 in the RAM size field, as shown below. So, go to File->New->C Project and select the entry Hello World ARM Cortex-M C/C++ Project. Moreover, it will allow us to quickly import the LwIP stack, which is used to develop TCP/IP applications with STM32 MCUs. However, we use another procedure here: we'll first create a basic ARM C/C++ project, and then we'll import inside it a project generated by CubeMX, which simplify a lot the MCU configuration procedure. The first step is creating a new Eclipse project. Liviu Ionescu has recently updated the project templates, adding the support to STM32F7 MCUs. Liviu provides a precompiled release for Windows, Linux and MacOS. However, this release doesn't support the STM32F7, so you'll need a preview of the release 0.10. It's completely useless repeat here more that 40 pages of instructions. If you don't have the whole tool-chain installed, please refer to the free sample of my book about STM32 platform: you'll find all the required instructions to getting started with those tools. I'll assume that you have a working Eclipse/GCC ARM tool-chain based on the excellent GNU ARM Eclipse plug-ins by Liviu Ionescu. The following video shows how the HTTP server works. The web-app will allow us to interact with Nucleo LEDs and USER BUTTON, using bootstrap and jQuery. ![]() We'll use the LwIP stack to create a simple web server running on the Nucleo. In this post I will show you the steps needed to start working with this fantastic piece of hardware. If you are going to use the Nucleo-144 to develop a custom product, then it's the best option. However, the Nucleo-144 provides the most of MCU signal I/Os through the "Zio" connectors, while the Discovery-F7 only few signals routed to the Arduino-style connectors. Respect to the STM32F746-Discovery, which was the first "cheap" F7 development board from ST, it doesn't provide an LCD display. This means that we can start developing IoT applications using the powerful Cortex-M7 core running at 216MHz. The most relevant thing is that the board comes with a LAN jack, magnetics and a SMSC phyther. The USER LEDs are now three (red, blue and green), and the power LED is now green. Finally the totally new Nucleo-F746 is in my hands! This is the first development kit of the Nucleo-144 line from ST, and I've to say that probably, at that street price (~23$), is the best development kit a maker can find on the market, if you consider that a genuine Arduino DUE costs more than 40$ and its MCU is just a Cortex-M3.Ĭompared to the classic Nucleo-64, it looks impressive: it's more wider and offers a lot of more "standard" peripherals.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |