Hardware abstraction library (HAL) for Purdue SoCET's system on chip.
- Add CLINT structure to pal.h
- Add PLIC structure to pal.h
- Local HAL error field
- Create function pointer array for interrupt handling
- Change Makefile to compile using dependencies
- Place dependencies in "build" directory (removed when clean is run)
- Restructure module source directories for peripherals that pull-in other source files
- 3-level handler for external interrupt handling
- Improved print function
- Memory allocator (bare metal malloc)
- Allow usage of C++ STL
- Containers
- Smart pointers
- Proper error handling
- Register debug/layout function