Embedded Systems

Have TITAN, an ultra low-power, low-cost PC/104 form-factor Single Board Computer (SBC) based on the Intel PXA270 XScale processor.


Using virt-manager via Ubuntu 22.04 to run Ubuntu 5.04 for compiling C code. Using minicom to serial connect to SBC to send compiled C code for execution.


Used eCos (RTOS) and AEL Embedded Linux to write C code to blink LED via I2C and GPIO. Opened the I2C bus and acquired bus access successfully. Written to GPIO to blink LED successfully. The delay currently uses the CPU clock speed which is not ideal. I am researching solution using an interrupt and a timer which use various registers; hoping these are not locked down like the registers for the GPIO block forcing me to use I2C to access GPIO pin! The assembly code aligns with the ARM processor documentation and the PXA270 processor is ARM compliant! On a positive note, I have written ARM assembly code for IRQ status, enable IRQ and disable IRQ; all execute successfully. Currently, researching how to enable data cache in ARM assembly code requiring use of Redboot, to load binary file into RAM using start address and serial connection. Binary refuses to fully load into RAM. I need this to work to avoid use of the Operating System as I wish to understand bare metal programming. This is work in progress. Massive delay in resuming this project due to issues with sourcing Electric Air Duster to blow dust off SBC. Shops refuse to stock and I refuse to use the internet due to incompetent Customer Service and incompetent Couriers!


Please click the following buttons to view C code which will appear below buttons.


Blink led using I2C, GPIO and delay.

Blink led using I2C, GPIO; and registers for timer and interrupt.