* Add GPIO functions instead of base address and register array, and more work on interrupt handlers
* Update