Tag Archive for 'linux'

NV-RAM for the TS7500 ARM single board computer

Technologic Systems’ ARM single board computers for embedded systems, the 7500 series, may be ordered with a battery backed up real time clock. However, unlike RTC chips used for PC’s these come with no static RAM. I missed this RAM for an application I was working on and therefore modified the board. This made this computer board a perfect fit for my client.

Continue reading ‘NV-RAM for the TS7500 ARM single board computer’

Encrypted vCards on server

Matrix codes appear everywhere. They often represent a URL pointing to a web page where more information can be found. Matrix codes can be scanned and decoded using a smart phone camera combined with an appropriate application. I can print a matrix code on my card which points to my vCard file on a server. A person I gave my card can scan the code and get more up to date and complete contact information than that printed in clear text. But I don’t like the idea of leaving my contact information openly on a server ready for search robots and other snoopers to take. Therefore the need for encryption.
Continue reading ‘Encrypted vCards on server’

Automatic podcast to player copier

When I plug my mobile phone or mp3 player into my PC the newest editions of the podcasts I subscribe to are transfered. No mousing and clicking anymore, everything is handled automatically by the computer.

Continue reading ‘Automatic podcast to player copier’

Dynamic IP nameserver updater, with a tweet

I have a server connected to the Internet over a dynamic IP ADSL connection. Now and then the IP address changes and name servers need to be updated so I can access the server from outside. This updater periodically checks the IP address, informs a dynamic IP name service when changes occur, and tweets me about it. Continue reading ‘Dynamic IP nameserver updater, with a tweet’

CRC integrity check of ARM Cortex flash memory

The program and data contained in a micro controller flash memory can become corrupted over time. The integrity can be verified by running a CRC test over the flash. This post describes how to automatically add the correct CRC to a binary file and later let the micro controller perform the check. Continue reading ‘CRC integrity check of ARM Cortex flash memory’

Hide PIN-code in random matrix

The digits of a PIN-code can be hidden in a message taking the form of a matrix of random digits. The digits of the PIN-code are placed in matrix positions given by a template. The owner of the PIN-code knows the pattern and is therefore able to decrypt the message. This is a simple way to make a paper based PIN-code reminder. Continue reading ‘Hide PIN-code in random matrix’

Stellaris Cortex and OpenOCD

I have always had problems with OpenOCD, mainly due to bad documentation out of sync with the code. I got a new evaluation board for the LM3S2965 processor (EK-LM3S2965) last week and gave OpenOCD a new try, and lo, this has become quite simple. Continue reading ‘Stellaris Cortex and OpenOCD’

Store docs in the microcontroller’s flash

When starting out as an engineer, building electronic circuits of many kinds, my mentor advised me to always leave a copy of the schematics within the box. This is a wise proposition, the schematics in the box will probably be up to date and readily available. On the other hand, external documentation may be displaced and even lost during a period of time. This is equivalent to program documentation: Comments within the source file are easier to keep up to date than some external documentation, like flow sheets.

Now I use a board with a micro controller which  flash memory is much larger than what I need for the application. So why not use that spare flash to embed  some docs? Continue reading ‘Store docs in the microcontroller’s flash’

Let a cgi script write a server page file with proper permissions

Web servers should run under a user who does have minimal rights and files accessible by the server should be owned by and writeable only by another user, preferably root. So, what to do if the cgi script should update a file that is accessible from the web? Continue reading ‘Let a cgi script write a server page file with proper permissions’

Auto dial for C-motech D-50 modem

This modem uses the 450 MHz band for wireless internet access. In Scandinavia this mobile internet access network is operated by ice.net. The following rules and scripts constitute an auto-dialer: when the USB modem is inserted the system automatically connects to the network. Continue reading ‘Auto dial for C-motech D-50 modem’

A small static nameserver

This is a simple domain-name server for an embedded system in a closed local network. Originally called the Severely Crippled Domain Name Server, this server is now the name server of Busybox.

The purpose of this name server is to give the embedded controller a name, so if connecting a laptop for configuration and other maintenance, the controller provides the laptop with its name so the user can access by name instead of IP number.

A bison push parser skeleton

Bison is a compiler-compiler which generates a parser basedon a grammar specification. The parser usually runs in a loopgetting new tokens from a lexical scanner.

This push parser works the other way around by letting thescanner call the parser each time a new token is available.

The copyright of this parser skeleton has been transferred to the Free Software Foundation and is now integrated with the Bison project.

The ring binder PC

This PC is built into a very simple case: a ring binder. The PC is anembedded controller – not used by humans but independently doing its specialunsupervised job. In this case it wakes up once a day, takes a picturewith a USB camera, stores it and then powers off again. Continue reading ‘The ring binder PC’

Luminary Stellaris under Linux

You may log in to the Luminary web page and download the source files for the ARM Cortex based boards they produce. I needed the source for the brushless motor kit: SW-RDK-BLDC-4694.exe, which is a Windows executable. Continue reading ‘Luminary Stellaris under Linux’

Build gcc for ARM Cortex processor

I have lately built several versions of the Linux GCC tool chain for the ARM Cortex processor. But the generated tools do not work properly with floating point, issuing errors about floating point inconsistencies. Continue reading ‘Build gcc for ARM Cortex processor’