Sam Ibrahiem: Introductions
My journey at Aeste started on 1st of March 2011 when I was welcomed by my supervisor and was briefed about the company road-map.
Well, to be honest with you my friend, from the moment that I approached the company, I knew for sure that working here won’t be a waste of time and it will need a lot of effort considering my background and what the company is doing. So after being briefed on my first day, i was given the choice in what task I would like to handle. The road-map of the company contains several tasks and some of them, are completely new to me!
After doing some researching about the tasks, I decided to handle the Kernel Design task which involves porting the FreeRTOS kernel to operate on the company IP core – the AEMB. Although the task seemed difficult to me, I took the challenge and decided to give my best in this project for the benefit of both myself and the company. Therefore my posts in this blog will tell what I have done, what problems I have already faced and what I am doing in the time being.
From my understanding, the Kernel is a piece of software that communicates with hardware and allocates resources for the applications running on top of it. Consequently, the first thing that I started with, was studying the architecture of the AEMB. In parallel with that, I revised my C programming language since most of the work will be in C and it has been ages since I wrote a simple C program. The processing of learning this was slow but there was no running away from it since it is the foundation for the kernel work.
One thing that I am sure I won’t forget to mention is using a source code management. GIT is a repository with complete history that helps in developing code and keeping track of changes along the development process. Well I will be honest with you, I understood the use of the tool yet I used to do my work outside the git repository first and then do it all over again in the git repository to keep track of the changes. That was wrong and not efficient. So if you my friend are going to work using this powerful tool in this company or other companies, keep your work inside the git repository and never branch to outside directories, in the end if anything goes wrong git gives you the choice to revert back to any development point you want.
Finally I got myself familiar with the AEMB architecture, C programming and Git so it was the time to move on to the next step!. In my next posts i will write about my work in compiling and simulating the FreeRTOS kernel. Till then wish you all the best in what you do.