Coder Social home page Coder Social logo

emtee40 / flashalgo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pyocd/flashalgo

0.0 0.0 0.0 9.25 MB

Framework for building Arm Cortex-M "FLM" style flash programming algorithms.

License: Apache License 2.0

Python 0.05% C 99.94% Batchfile 0.01%

flashalgo's Introduction

FlashAlgo

Framework for building Arm "FLM" style flash programming algorithms.

Other options

Before you consider adding a flash algo here, you might wish to check if an open source flash algo already exists for your device or a similar device. Many of the FLM flash algos included in CMSIS Device Family Packs (DFPs) come with source code. For instance, the Keil DFPs include sources.

You can download a DFP for your device from the official CMSIS-Pack list: by pack or by part number.

DFPs extract as zips (change the extension). For the DFPs created by Keil, .FLM algos and code are under ./CMSIS/Flash/. Other vendors may have algos in a different folder, and may or may not include source.

Development Setup

Skip any step where a compatible tool already exists

  1. Install Python 3.6 or later and make sure it's added to path
  2. Install Git and make sure it's added to path
  3. Install a supported toolchain:
    1. GNU Arm Embedded
    2. Keil MDK-ARM
  4. Install GNU Make.
$ git clone https://github.com/mbedmicro/FlashAlgo
$ python3 -mvenv venv
$ source venv/bin/activate
$ pip install -r requirements.txt

Develop

GCC with Make

  1. Update tools and generate project files. This should be done everytime you pull new changes
$ progen build -t make_gcc_arm

Add the project name(s) to the command if you only want to build a limited set of projects. You can list available projects with progen list -f projects.yaml projects.

MDK

$ progen generate -t uvision
$ tools\launch_uvision.bat

Now open the project file for the desired target in .\projectfiles\uvision\<target>\

To change the RAM base address to something other than the default value of 0x20000000, add the argument --blob_start <hex-ram-address> in "Projects ❱ Options ❱ User ❱ After Build/Rebuild section of the µVision project.

Adding a new project

For adding new targets start from template and use these docs...

Contributions

We welcome contributions! Please see the contribution guidelines for detailed requirements. In order to foster a healthy and safe community, all contributors are expected to follow the code of conduct.

To report bugs, please create an issue in the GitHub project.

flashalgo's People

Contributors

0xc0170 avatar bentcooke avatar c1728p9 avatar flit avatar jnthbdn avatar kaizen8501 avatar lindvalla avatar linlingao avatar mfiore02 avatar mmahadevan108 avatar sarahmarshy avatar sg- avatar stevew817 avatar toyowata 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.