Refer to: http://www.atakansarioglu.com/microcontroller-read-button-c-keypad-reader-library/
git clone https://github.com/atakansarioglu/pushme_keypad_demo.git
cd pushme_keypad_demo
git submodule update --init --recursive
Refer to: http://www.atakansarioglu.com/embedded-mcu-software-development-eclipse-setup-debug/
for tutorial on compilation environment setup.
Refer to: (1) http://www.atakansarioglu.com/easy-task-scheduler-real-time/
(2) http://www.atakansarioglu.com/microcontroller-independent-portable-embedded-software-porty/
(3) http://www.atakansarioglu.com/embedded-system-tick-timer/