Week 3 – SPI Comms

This week I worked on SPI (Series Peripheral Interface) communication from the PIC18F97J60 to 25LC256 series EEPROM which comes with the PICDEM.NET2 development board. It was a completely new area for me and I was reading up a lot about the basics of SPI communication supported by the PIC. I Read more

Week 2 – UART Comms

The second week of internship was not very productive. I still faced difficulties with the UART communication. In order to understand the flow of data better I tried to write the UART code in assembly language. I came to realize that there was more to coding than just writing lines. Read more

Weekly Log #1 – Intro

It was the first week of internship and I reported in for work on Monday 7th Jan. The first item on the agenda was an introduction to the work place, the expectations and the responsibilities of the job. Furthermore the work timings and other details were given out. My responsibilities Read more

http://www.sxc.hu/photo/1160562

Optimising C for T3RAS

After lots of testing i found certain variances that can help in speeding up code. These are a few simple practices. Know your target. If the T3RAS core you’re compiling for contains hardware features like multiplier and barrel shifting, include it when compiling your code using -mattr=barrel,mul . Both instructions Read more

http://www.sxc.hu/photo/1160562

T3RAS LLVM Backend Features

The T3RAS backend in llvm is based on the microblaze 6.3 architecture set but without hardware support for floating points and without hardware division. The T3RAS backend contains 3 variants (T3RAS1T, T3RAS2T, T3RAS4T) which is described below. To list all variants and features of T3RAS, simply run: llvm-as < /dev/null Read more

http://www.sxc.hu/photo/1160562

LLVM Backend Port Progress

While i was successful in making sure the backend appeared with the right name and features that were needed, there were still many shortcomings that needed to be addressed. After a while of copying, modifying and adapting code, I was finally able to change the names and variants. Instead of Read more

http://www.sxc.hu/photo/1160562

LLVM

Finally managed to compile LLVM and clang for microblaze. I find using configure –target= or -target doesnt work while using –enable-targets=”mblaze” worked. I found the documentation to be very poor on this and does not mention anything about the other options available in configure such as using –enable-targets.  I also Read more

First Day

First day at aeste, tried to set up workplace but had to leave the PC to download the eclipse addon overnight. Will compile the tools and check eclipse tomorrow.

Welcome Lunch

I was being informed that my blog posts were too technical until a point that it bored the readers. I felt pity for my supervisor, because he needs to read through all my dull blog posts before publishing them. The reason that I prefer to blog technical stuff is that Read more