Starting FreeRTOS

This week I trying to port another RTOS to our microprocessor. The purpose to learn this OS because it usually run preemptive operation in event scheduler. Same as Contiki, FreeRTOS also a RTOS design for small and memory constraint processor. Currently, FreeRTOS had successfully ported to plenty of microprocessor which consist products of Altera, Atmel, Arm, Cadence Tensilica, Cortus, Infineon and so on. Each of the process in FreeRTOS called task, FreeRTOS using the scheduler to control the tasks state. A task will be Read more

Using JSON and Internal Modules

One issue that I worked on this week was to change the objectList file format. The objectList file contains the list of the object the user has defined. Previously, we used a very simple file structure for the objectList file. Basically, evey component was written in one line and we simply then reads the file line by line. Although it works, it is better to use one of the existing file formats instead of creating our own. The issue was to Read more

Almost there..

This week a new millstone for the project release has been created. So we were working on closing our outstanding issues and completing the rest of the left features. Changing the Object-List File Format: Have you experienced the feeling that usually comes to a little kid who likes playing by his “building blocks” and making his own building structure.. and during one of his design he suddenly decides “out of nowhere” to take one of the block out … and Read more

Timer Interrupt using RISC-V

This week, I worked on the implementation of Timer Interrupt using the RISC-V Angel. The RISC-V Angel had a timer interrupt code for itself for the usage of Linux ELF file. However, it does not state obviously how do they use it and why are they writing their code in such way. Thus, I had to decode the source code from RISC-V Angel and from the source code of RISC-V Linux. Understand about Interrupt Although I had learnt interrupt in Read more

Exploring the Dump Files

This week I continued in my attempt to analyse the dump files produced last week. I happened to read online that the dump files are written in pseudo-C syntax, although pseudocode is supposed to be understood more easily, however it still does not make much sense to me. The dump files content does not seem to provide much that is significant to me. However, one thing that I noticed about the dump files are they all have numbers starting with Read more

Rendering Bug and Session Cookies

For the most part of this week I was exploring new ideas, exploring Wt’s capabilities, debugging some annoying bugs, and designing algorithms for some objectives. First, let me start with the interface bug. Slow connection rendering bug When the interface was changed to the current one, a weird bug occurred on slow connections where the two widgets (the code editor and the schematic editor) overlaps. However, whenever the browser size changes (hence, Wt will calculate new dimensions for the widgets) Read more

Contiki and FreeRTOS

Last week, I am still doing on contiki’s functions testing in my new porting microprocessor and platform. After 1 week plus of function testing, the basic functions are working in my porting microprocessor and platform. The process in contiki OS called protothread. All of those protothread are scheduled in cooperative manner. The current cooperative process need to be finish first before the following scheduled cooperative process can be run. Other than that, contiki os also support preemptive process. It is normally Read more

TCP/IP Echo Server

This week my job scope was about the TCPIP. I need to use the PICDEM.net 2 as a TCP echo server that listen on a TCP/IP socket and transmits back exactly everything that it receives. There are some demos in the microchip application library, what I have to do was to study them and create a simple echo server. This task was difficult since it require a lot of understanding on networking and strong mastering on C programming. The coding Read more

Code Auto-Completion

For five weeks in row we have been working on the enhancement of the code. I really don’t know why it’s taking that much time. Is that what usually happens in any project developing?! Feel like we are in infinite loop… Hopefully we will reach the “break;” statement soon. Lol !! Code Auto-Completion: Anyway, this week I was working on adding the AUTO-Completion feature to our code editor. Our code editor is based on Code-mirror JavaScript editor which is rich Read more

Bare Metal RISC-V Angel Simulator

This week, I finally get the RISC-V Angel Simulator to run the C/C++ code compiled from the default RISC-V GNU compiler, which is specifically designed to compile files into ELF file that to be used with the RISC-V Spike and Proxy Kernel. I had verified that the bootloader extracted from proxy kernel is usable. How Software Works I really need to thank my supervisor in figuring that my problem during the findings for the solution of the necessity of proxy Read more