Modifying Interrupt Behaviour

AEMB has just been updated last week. The fix will prevent the tasks from breaking out of their loop. This solves the problem I faced last time where the tasks run and goes into the main function. Therefore, the new AEMB will need to be tested again to check for Read more

Interrupts on Multiple Threads

Continuing from the previous test, an in depth look is taken on the output on AEMB. The GTKWave shows that the AEMB actually stop running anything at all on one thread . This is a huge error and means that the task not only stop running, but the FreeRTOS stops Read more

Enabling/Disabling Interrupts

Regarding my previous post on the interrupt crashing the FreeRTOS tasks, I went and research on the method used for enabling and disabling interrupts on AEMB through software. There are two simple functions used to do the job, which are portDISABLE_INTERRUPTS() and portENABLE_INTERRUPTS(). These two functions will disable and enable Read more

Interrupt Behaviour

I would like to look deeper into the application of FreeRTOS interrupts on the latest version of AEMB. It is important to be able to clearly identify the context switching by the interrupt on both threads of AEMB. To look more into the interrupts, the tasks are written with longer Read more

Different Priorities

The task priority of FreeRTOS is tested on the new AEMB processor. The previous programs tested all contains tasks of equal priorities with the idle task. Therefore, higher priority tasks are to be tested to see their effect on the new AEMB processor. Will the higher priority tasks act independent Read more

AEMB FreeRTOS Two Threads Testing

This week, I set my mind on understanding on the switching of tasks inside FreeRTOS on the latest AEMB with two threads. From previous week, it was found that there was an infinite loop which act upon the second thread while the first thread will continue with FreeRTOS and all Read more

AEMB Multithread Dissection

This week main project is to port FreeRTOS to the newer AEMB. In the previous weeks, the AEMB processor only fully utilizes one thread. It was the older version and the newer version actually fully utilizes two threads. I was instructed to make the necessary changes so that FreeRTOS will Read more

Creating the Task class

FreeRTOS was created using C. C++ offers something more than C, which are object oriented and inheritance. This is shown by the usage of class. By using class, users can create their task by simply creating the object of the class. To implement the class, I need to understand the Read more

[Revisit] Upgrading FreeRTOSV8.0.1

As it turns out, there was some redundant things that I did during the upgrade to FreeRTOSV8.0.1 for AEMB2. What I did wrong last time was that I added the commits from upstream into the git repository. This was actually not required as the commits from upstream can be viewed Read more