Giter Site home page Giter Site logo

stm32h743vit6_boring_tech_qspi's Introduction

STM32H743VIT6_Boring_TECH_QSPI

STM32H743VIT6 Boring_TECH W25Q64 QSPI Sources

STM32H7 FW v1.9.0

STM32CubeIDE v1.7.0

STM32CubeProgrammer v2.7.0

Example1

Just a simple example. This example does not create a .stldr file. It communicates with the W25Q64 and handles operations such as read,write etc...

Based on WeAct Studio H743VIT6 and some chinese source.

WeAct Studio H743VIT6 : https://github.com/WeActTC/MiniSTM32H7xx/tree/master/SDK/HAL/STM32H743/06-SPIFlash_Test/Drivers/BSP/W25QXX

Chinese Source : https://cloud.tencent.com/developer/article/1662643

Also quadspi.h , quadspi.c , main.h edited.

Example2

Just a simple example. This example does not create a .stldr file. It communicates with the W25Q64 and handles operations such as read,write etc...

Based on Controllers Tech Youtube channel and GitHub, ST Official QSPI Driver for N25Qxx, DevEBox H743VIT6 and some chinese source.

This example is based on the general similarity between the W25Qxx and the N25Qxx. In the project, ST's official N25Qxx drivers were edited for the W25Qxx.

Controllers Tech Video : https://youtu.be/xIfh_uYy-OU

Controllers Tech GitHub : https://github.com/controllerstech/STM32/tree/master/QSPI/N25Qxxx

DevEBox H743VIT6 : https://github.com/manoloaterol/MCUDEV_DevEBox_H743-W25Q64-EL

Chinese Source : https://cloud.tencent.com/developer/article/1662643

This example is similar to the video on the Controllers Tech Youtube channel.

Also quadspi.h , quadspi.c , main.h edited.

.stldr CubeProgrammer External Loader

STM32CubeIDE to build .stldr file

I took this project as an example to create the .stldr file. : https://github.com/manoloaterol/MCUDEV_DevEBox_H743-W25Q64-EL

And very useful video . If you are going to create your own .stldr file you should watch. : https://youtu.be/XqCq0xtQmbI

The two boards have the same MCU and FLASH, but each board's FLASH is connected to different pins. So the .stldr file in that project(DevEBox) will not work in Boring_TECH.

Copy the .stldr file into CubeProgrammer\bin\ExternalLoader\

When you run CubeProgrammer, you can find it in External Loaders(EL) with the name W25Q64-STM32H743VI

Memory Mapped Mode

Just simple examples. Based on the video on the Controllers Tech Youtube channel.

Controllers Tech Video : https://youtu.be/gAyuF20ok8c

Controllers Tech GitHub : https://github.com/controllerstech/STM32/tree/master/QSPI/N25Qxxx/EXT_MEM_BOOT

The XIP_1 project is the same as Example2. The only difference is the use of Memory Mapping Mode.

The XIP_2 project is install on W25Q64. It is similar to the project created after 6:08 in the video.

There is a very important difference. An additional line must be edited in the system_stm32h7xx.c file. It will not work if not edited.

Before editing : SCB->VTOR = FLASH_BANK1_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */

After editing : SCB->VTOR = QSPI_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */

How to Debug in Memory Mapped Mode(XIP) ?

Copy the W25Q64 .stldr file into \STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.0.0.202105311346\tools\bin\ExternalLoader\

Everything else is the same as the video.

Pics

alt text alt text alt text alt text

stm32h743vit6_boring_tech_qspi's People

Contributors

osos11-git avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.