Giter VIP home page Giter VIP logo

baremetal-ide-bsp's People

Contributors

doihead avatar ethanwu10 avatar hongyihuang avatar jasonkimsoso avatar marco-xuanlin-chen avatar t-k-233 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

ucb-ee290c

baremetal-ide-bsp's Issues

Naming Convension Violation

In <chipname>.h file, the on-chip scratchpad region should be named as "#define SCRATCH_BASE" instead of "#define SRAM_BASE" to avoid confusion and be consistent with the linker script.

Major change: auto-generate bsp code

Currently, we are maintaining 4 chip bsp libraries, in which almost all of the contents are the same. Any bug fix or new feature needs to be synced across all bsp folders, which does not quite make sense.

Instead, the new method is proposed, where we use Python to auto generate bsp codes from a set of template library files. Considering the amount of code needed, this major change can be implemented in several stages:

  1. Be able to generate HAL_ library files from a set of template files. The Python program will read library files from the template folder, create a bsp folder, and write the library files to the created bsp folder with proper formatting (e.g. rename the file to include chipname)

  2. Be able to generate chip header file (chipname.h) from the chip configuration JSON file. The JSON file will be very similar to the .svd file used by the VSCode debugging environment. It will contain the memory map of the SoC, register map of each peripheral, and the bit map of each peripheral register.

  3. Be able to generate the chip configuration JSON file during Chipyard compilation.

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.