ucb-bar / baremetal-ide-bsp Goto Github PK
View Code? Open in Web Editor NEWParent Repo: https://github.com/ucb-bar/Baremetal-IDE
Parent Repo: https://github.com/ucb-bar/Baremetal-IDE
Hi there,
Thanks for this amazing project!
So I was wondering if I have a SoC with rocket + accelerator from chipyard, how should I make a BSP config for this chip? That is to say which part of the existing code can be reuse and which part should be modified accordingly based on the accelerator-associate instruction.
Thanks for your help in advance!
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.
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:
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)
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.
Be able to generate the chip configuration JSON file during Chipyard compilation.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.