I\'m trying to learn to write Hardware Abstraction Layer (HAL). Here\'s the path I\'ve taken so far, please correct me if I\'m off in any step.