Sarge SBC in electronic magazine

Long time has passed since I wrote a post. This is how the things are going when you don’t have time at all – but still I’m proud to announce that there has been published an article in polish electronics related magazine „Elektronika Praktyczna” about Sarge SBC and running linux on it.

Orange Box Polish edition arrived

Yes !!!.
Finally We have received the latest Valve production , the long waited Orange Box.

It contains:

  • Half-Life 2
  • Half-Life 2 Episode 1
  • Portal
  • Half-Life 2 Episode 2
  • Team Fortress 2.

Of course this means only the one thing for our projects … more delays should be expected.

Extension board

Sience and Industry

Our current work is focus on the Sarge Extension Board design. The board will contain few additional periferials like I2S sound DAC and CompactFlash connector and these will allow us to extend our capabilities in the embedded system field.

Sarge SBC and mono

One of my possible customer asked if I can run mono on the Sarge SBC, so I’ve decided to bitbake one
using the latest oe recipe. After creating mono-1.2.4 packages for sarge-at91 machine it turned out that not everything is working fine:

root@sarge_at91:/usr/local/mono$ mcs example1.cs

Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for Mono.CSharp.Location —> System.ExecutionEngL
at System.Collections.Hashtable..ctor (Int32 capacity, Single loadFactor, IHashCodeProvider hcp, IComparer comparer) [0x00000]
at System.Collections.Hashtable..ctor (Int32 capacity, Single loadFactor) [0x00000]
at System.Collections.Hashtable..ctor () [0x00000]
at Mono.CSharp.Location..cctor () [0x00000] — End of inner exception stack trace —

since I’m not familiar with mono: any ideas, anyone ?.

AT91RM9200 fully I2C bus functional

There are dozens of chips using I2C (Inter-IC bus) bus. The AT91RM9200 chip used
in The Sarge SBC project has embedded I2C master controller. Initially I’ve experienced some problems using the bus, but it was hardware/design problem. Now the I2C is fully functional and can be used very easly under linux with applications like lm-sensors. Adding various chips we can read the temperature, pressure, humidity, time etc.
Just for test I have connected DS1621 chip to the board and was able to read the temperature.

Sarge SBC is running kernel 2.6.21

Running kernel 2.6.21 wasn’t just a matter of compiling newer release (previously I’ve used 2.6.17).
The MMC core and AT91 driver was a bit rearranged since 2.6.17 and booting from the SD card wasn’t possible.
Luckily I’ve found patches from ECB_AT91 project and after some changes it worked for Sarge. It can be downloaded from the download section.

Sarge SBC is playing sound via a2dp

Our last efforts, the long hours spent deep underground in Black Mesa compound
brought the Sarge SBC to the point where the sound becomes blue and radio-wave.


Sarge SBC ver 1.0 released

Few hours ago our staff released the Sarge SBC ver 1.0.
The SBC provides basic linux functionality like

  • ethernet networking,
  • SD/MMC card storage,
  • USB host
  • extension connectors: serial ports, SPI, I2C, I2S, CF

Sarge networking

An actually working STE100P kernel module

Since the Sarge SBC is able to boot the linux kernel again We took another step and
developed STE100P PHY kernel module – it’s working and the lights are blinking

Sarge SBC is booting the kernel again

Using DDD debugger with OpenOCD and JTAG interface I’ve found why
the linux kernel was not booting. It was some missaligments caused by wrong gcc 4.1.1 compilation
in CPU initlization routines located in u-boot and loader code – you should use gcc-3.4.6 (or less) for loader and u-boot if you want to avoid problems.