Code Monkey home page Code Monkey logo

rules_stm32's Introduction

Bazel Rules for STM32f4 processors

Usage

On WORKSPACE add this for linux:

git_repository(
    name = "stm32",
    remote = "https://github.com/pedrokiefer/rules_stm32.git",
    commit = "256dd2e75b49485eb4e7844549b5749bb082657a"
    )

load("@stm32//stm32f4:rules.bzl", "arm_none_repository")
arm_none_repository(name="com_arm_developer_toolchain_gcc_6_2")

Available Rules

Processors

Supported processors:

  • STM32F401xC
  • STM32F401xE
  • STM32F405xx
  • STM32F407xx
  • STM32F410Cx
  • STM32F410Rx
  • STM32F410Tx
  • STM32F411xE
  • STM32F412Cx
  • STM32F412Rx
  • STM32F412Vx
  • STM32F412Zx
  • STM32F413xx
  • STM32F415xx
  • STM32F417xx
  • STM32F423xx
  • STM32F427xx
  • STM32F429xx
  • STM32F437xx
  • STM32F439xx
  • STM32F446xx
  • STM32F469xx
  • STM32F479xx

arm_none_repository

Fetchs arm toolchain

load("@stm32//stm32f4:rules.bzl", "arm_none_repository")

arm_none_repository(arch)
  • arch: linux, mac, windows [Unimplemented]

Run bazel build with --crosstool_top=@stm32//tools/arm_compiler:toolchain --cpu=armeabi-v7a for building with this toolchain.

stm32f4_hal_library

load("@stm32//stm32f4:rules.bzl", "stm32f4_hal_library")
stm32f4_hal_library()

stm32f4_binary

  • name: binary_name
  • srcs: list of sources
  • deps: list of deps
  • processor: one of ["STM32F429xx", ... ]
  • use_hal:
  • hal_config_hdrs: hal config files generated by stm32cube
  • linker_script: linker script to be used

raw_binary

Generates a .bin file

load("@stm32//tools/arm_compiler:raw_binary.bzl", "raw_binary")

raw_binary(
    name = "my_bin",
    src = ":binary"
)

hex_binary

Generates a .hex file

load("@stm32//tools/arm_compiler:raw_binary.bzl", "hex_binary")

hex_binary(
    name = "my_hex",
    src = ":binary"
)

rules_stm32's People

Contributors

blakesmith avatar lakshayg avatar pedrokiefer avatar

Watchers

 avatar  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.